2017-04-24 74 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" 
      } 
     } 
    ] 
} 

因此,啓動運行實例時沒有任何事情發生。

您可能想知道爲什麼它給了您錯誤信息。我不知道,但我懷疑檢查配額以確定是否可以啓動實例的邏輯不會首先檢查請求的實例是否正在運行。它可能會查看當前正在運行的實例的數量,添加您希望啓動的實例的數量,並在總計超過允許的配額時生成錯誤。

相關問題