2016-04-26 11 views
1

私の質問はこのSOと多少似ていますが、回答が見つかりませんでした。AWSで利用可能なゾーンの選択

次のコードスニペットを使用してインスタンスを作成しました。

コード:私は、次のエラーを得た上でスニペットを走った

public void test(String accessId, String accessKey){ 
    credentials = new BasicAWSCredentials(accessId, accessKey); 
    amazonEC2Client = new AmazonEC2Client(credentials); 
    amazonEC2Client.setEndpoint("ec2.ap-northeast-1.amazonaws.com"); 
    RunInstancesRequest runInstancesRequest = new RunInstancesRequest(); 
    runInstancesRequest.withImageId(imageId) 
     .withInstanceType("t2.micro") 
     .withMinCount(2) 
     .withMaxCount(2); 
} 

We currently do not have sufficient t2.micro capacity in zones with support for'gp2'volumes. 
Our system will be working on provisioning additional capacity. 
(Service: AmazonEC2; Status Code: 500; Error Code: 
InsufficientInstanceCapacity; Request ID: c1996284-c208-446a-9f4c-301d8900e503) 

はグーグル後、私はAWSは、その時点でt2.microインスタンスの量を持っていないことを発見し、それは異なるアベイラビリティゾーンでインスタンスを作成することをお勧めします。

しかし、コードでは空き領域を提供していませんが、インスタンスはap-northeast-1a可用性ゾーンに作成されており、上記のエラーが発生して終了します。

AWS Webコンソールから作成したときに、エラーをスローせずにap-northeast-1cにインスタンスが自動的に作成されました。

プログラム可能なインスタンスが存在する特定の地域の利用可能なゾーンにインスタンスを作成する方法はありますか?

APIを呼び出したときに、ap-northeast-1地域で使用できるt2.microインスタンスはありません。

特定の地域でインスタンスが利用可能かどうかを確認するAPIはありますか。

+0

@AvinashRaj engha vangha http://chat.stackoverflow.com/rooms/113113/avinash-and-me – The6thSense

答えて

1

AWSでは、特定の地域にある利用可能なインスタンスを確認するためのAPIを提供していません。

次のAZを試しても失敗すると、1つのAZを試すことができます。

また、異なるAZのインスタンスを起動できる自動スケーリンググループを使用することもできます。それは自動的にあなたのために上記を行います。

+0

私はAZを与えていないので、インスタンスが利用できるAZを取るべきではありませんか? – The6thSense

+0

これは文書化されたものではないため、想定するのは危険です。 AutoScalingでいくつかのテストを行うことを強くお勧めします:) – mickzer

+0

私はそれを仮定するのは危険だと私は同意します。 – The6thSense

関連する問題