2017-04-24 1 views
0

Ich habe ein AWS-Instanzlimit für 10 Maschinen. Ich habe 5 läuft. kann ich bereits begonnen Maschine starten:AWS: Was passiert, wenn ich den Startbefehl an die bereits gestartete Instanz sende?

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

Und wenn ich bis 5 fangen begann plötzlich Maschinen paar Mal bekomme ich die Meldung: Ein Fehler (InstanceLimitExceeded) when calling the StartInstances operation: Your quota allows for 0 more running instance(s). You requested at least 1
aufgetreten Was seltsam ist, weil ich nicht neue Instanzen erstellen kann - Alle laufen schon.
Nach dem Stoppen aller Instanzen funktioniert der Start wie zuvor.

Was passiert dann, wenn ich bereits angefangene Maschinen starte?

+0

Es scheint, es gibt Instanz und Instanz Typ begrenzen. Z.B. d2.8xlarge ist auf 5 Instanzen begrenzt, wenn Sie mehr benötigen, müssen Sie das Limit erhöhen https://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2 – mootmoot

Antwort

1

Durch das Senden eines Befehls StartInstances für eine Instanz, die bereits ausgeführt wird, wird kein Fehler generiert. Es gibt einfach eine Antwort wie:

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

Also, nichts passiert, wenn Sie eine laufende Instanz starten.

Sie wundern sich wahrscheinlich, warum es Ihnen die Fehlermeldung gab. Ich weiß es nicht, aber ich vermute, dass die Logik, die Kontingente prüft, um zu bestimmen, ob Sie eine Instanz starten können, zuerst nicht überprüft, ob die angeforderten Instanzen ausgeführt werden. Es sieht wahrscheinlich die aktuelle Anzahl der laufenden Instanzen aus, fügt die Anzahl der Instanzen hinzu, die Sie starten möchten, und generiert dann einen Fehler, wenn die Summe das zulässige Kontingent überschreitet.

Verwandte Themen