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 コンソールを使用してまったく同じパラメータを使用してインスタンスを起動しようとすると、即座に起動します。
また、この問題は DB インスタンス クラス「db.t1.micro」でのみ発生することにも気付きました。このインスタンス クラスは API を介して利用できませんか?