2017-04-24 7 views
0

私は10台のマシンに対してAWSインスタンス制限を持っています。 私は5回走っています。 は、私はすでに始まっマシン起動することができます。AWS:既に開始したインスタンスに開始コマンドを送信するとどうなりますか?

$ aws ec2 start-instances --instance-ids i-123456789 
--------------------------- 
|  StartInstances  | 
+-------------------------+ 
|| StartingInstances || 
|+-----------------------+| 
||  InstanceId  || 
|+-----------------------+| 
|| i-123456789   || 
|+-----------------------+| 
||| CurrentState  ||| 
||+--------+------------+|| 
||| Code | Name  ||| 
||+--------+------------+|| 
||| 16 | running ||| 
||+--------+------------+|| 
||| PreviousState ||| 
||+--------+------------+|| 
||| Code | Name  ||| 
||+--------+------------+|| 
||| 16 | running ||| 
||+--------+------------+|| 

を私は5に始めるないときは、私はメッセージを取得し、突然マシンの数回を開始しました:エラーは、私は新しいインスタンスを作成していないので、奇妙である何(InstanceLimitExceeded) when calling the StartInstances operation: Your quota allows for 0 more running instance(s). You requested at least 1
を発生しました - すべてがすでに実行されています。
すべてのインスタンスを停止した後、開始は以前と同じように動作します。

すでにマシンを起動しているときに何が起こっていますか?

+0

インスタンスとインスタンスのタイプ制限があるようです。例えば。 d2.8xlargeは5インスタンスに制限され、さらに必要な場合は制限を増やす必要があります https://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2 – mootmoot

答えて

1

すでに実行中のインスタンスに対してStartInstancesコマンドを送信してもエラーは発生しません。

{ 
    "StartingInstances": [ 
     { 
      "InstanceId": "i-abcd1234", 
      "CurrentState": { 
       "Code": 16, 
       "Name": "running" 
      }, 
      "PreviousState": { 
       "Code": 16, 
       "Name": "running" 
      } 
     } 
    ] 
} 

したがって、実行中のインスタンスを起動すると、何も起こりません。

おそらく、エラーメッセージが表示されたのはなぜだろうか。私は分かりませんが、インスタンスを起動できるかどうかを判断するためのクォータを確認するロジックは、要求されたインスタンスが実行中であるかどうかを最初に確認していないと思われます。おそらく、実行中のインスタンスの現在の数を調べ、開始するインスタンスの数を追加し、合計が許可されたクォータを超えた場合にエラーを生成します。

関連する問題