我正在尝试使用Java API和以下代码在Amazon RDS上启动新的MySql实例:
CreateDBInstanceRequest createDBInstanceRequest = new CreateDBInstanceRequest();
createDBInstanceRequest.setEngine("MySQL");
createDBInstanceRequest.setLicenseModel("general-public-license");
createDBInstanceRequest.setEngineVersion("5.5.25a");
createDBInstanceRequest.setDBInstanceClass("db.t1.micro");
createDBInstanceRequest.setMultiAZ(false);
createDBInstanceRequest.setAutoMinorVersionUpgrade(true);
createDBInstanceRequest.setAllocatedStorage(5);
createDBInstanceRequest.setDBInstanceIdentifier("mydbinstance");
createDBInstanceRequest.setMasterUsername("master");
createDBInstanceRequest.setMasterUserPassword("password");
createDBInstanceRequest.setDBName("dbname");
createDBInstanceRequest.setPort(3306);
createDBInstanceRequest.setDBParameterGroupName("default.mysql5.5");
createDBInstanceRequest.setDBSubnetGroupName("dev");
createDBInstanceRequest.setBackupRetentionPeriod(1);
DBInstance dbInstance = RDS.createDBInstance(createDBInstanceRequest);
问题是这总是会导致以下错误:
AWS错误代码:InsufficientDBInstanceCapacity,AWS错误消息: 无法创建数据库实例,因为没有可用性 有足够容量的区域。请再次尝试您的请求 以后的时间。
正如所建议的那样,我稍后尝试但从未能以编程方式启动新实例,但当我尝试使用Amazon Mgmt Console启动实例时,使用完全相同的参数,它会立即启动。
我还注意到,只有数据库实例类“db.t1.micro”才会出现此问题。 此实例类是否不能通过API获得?
答案 0 :(得分:0)
您确定您所在地区的任何可用区域都提供了MySQL的确切版本吗?
我建议首先为您选择的引擎执行DescribeOrderableDBInstanceOptions,使用您自己的标准进行过滤(例如DBInstanceClass =“db.t1.micro”),然后从中选择版本。