Amazon RDS:使用JAVA SDK启动“db.t1.micro”实例

时间:2012-09-18 18:10:30

标签: java amazon-rds

我正在尝试使用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获得?

1 个答案:

答案 0 :(得分:0)

您确定您所在地区的任何可用区域都提供了MySQL的确切版本吗?

我建议首先为您选择的引擎执行DescribeOrderableDBInstanceOptions,使用您自己的标准进行过滤(例如DBInstanceClass =“db.t1.micro”),然后从中选择版本。