Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Eventuelle Konsistenz im Amazon EC2 API
Amazon EC2 API folgt aufgrund des verteilten Charakters des Systems, das das unterstützt, einem eventuellen Konsistenzmodell. API Das bedeutet, dass das Ergebnis eines von Ihnen API ausgeführten Befehls, der sich auf Ihre EC2 Amazon-Ressourcen auswirkt, möglicherweise nicht sofort für alle nachfolgenden Befehle sichtbar ist, die Sie ausführen. Sie sollten dies berücksichtigen, wenn Sie einen API Befehl ausführen, der unmittelbar auf einen vorherigen API Befehl folgt.
Eventuelle Konsistenz kann sich auf die Art und Weise auswirken, wie Sie Ihre Ressourcen verwalten. Wenn Sie beispielsweise einen Befehl ausführen, um eine Ressource zu erstellen, wird diese irgendwann für andere Befehle sichtbar sein. Wenn Sie also einen Befehl ausführen, um die Ressource, die Sie gerade erstellt haben, zu ändern oder zu beschreiben, hat sich ihre ID möglicherweise nicht im gesamten System verbreitet und Sie erhalten eine Fehlermeldung, dass die Ressource nicht existiert.
Um die eventuelle Konsistenz zu gewährleisten, können Sie wie folgt vorgehen:
-
Bestätigen Sie den Status der Ressource, bevor Sie einen Befehl ausführen, um sie zu ändern. Führen Sie den entsprechenden
Describe
Befehl mit einem exponentiellen Backoff-Algorithmus aus, um sicherzustellen, dass Sie genügend Zeit für die Ausbreitung des vorherigen Befehls im System einplanen. Führen Sie dazu denDescribe
Befehl wiederholt aus, wobei Sie mit einer Wartezeit von einigen Sekunden beginnen und die Wartezeit schrittweise auf bis zu fünf Minuten erhöhen. -
Fügen Sie Wartezeiten zwischen aufeinanderfolgenden Befehlen hinzu, auch wenn ein
Describe
Befehl eine genaue Antwort zurückgibt. Wenden Sie einen exponentiellen Backoff-Algorithmus an, der mit einer Wartezeit von einigen Sekunden beginnt, und erhöhen Sie die Wartezeit schrittweise auf etwa fünf Minuten.
Beispiele für eventuelle Konsistenzfehler
Im Folgenden finden Sie Beispiele für Fehlercodes, auf die Sie aufgrund einer eventuellen Konsistenz stoßen können.
-
InvalidInstanceID.NotFound
Wenn Sie den
RunInstances
Befehl erfolgreich ausführen und anschließend sofort einen weiteren Befehl mit der Instanz-ID ausführen, die in der Antwort von angegeben wurdeRunInstances
, wird möglicherweise einInvalidInstanceID.NotFound
Fehler zurückgegeben. Das bedeutet nicht, dass die Instanz nicht existiert.Einige spezifische Befehle, die davon betroffen sein könnten, sind:
-
DescribeInstances
: Um den tatsächlichen Status der Instanz zu überprüfen, führen Sie diesen Befehl mit einem exponentiellen Backoff-Algorithmus aus. -
TerminateInstances
: Um den Status der Instanz zu bestätigen, führen Sie zunächst denDescribeInstances
Befehl mit einem exponentiellen Backoff-Algorithmus aus.Wichtig
Wenn Sie nach dem Ausführen eine
InvalidInstanceID.NotFound
Fehlermeldung erhaltenTerminateInstances
, bedeutet dies nicht, dass die Instanz beendet ist oder beendet wird. Ihre Instance könnte immer noch laufen. Aus diesem Grund ist es wichtig, zunächst den Status der Instanz mithilfe von zu überprüfenDescribeInstances
.
-
-
InvalidGroup.NotFound
Wenn Sie den
CreateSecurityGroup
Befehl erfolgreich ausführen und dann sofort einen weiteren Befehl mit der Sicherheitsgruppen-ID ausführen, die in der Antwort von angegeben wurdeCreateSecurityGroup
, wird möglicherweise einInvalidGroup.NotFound
Fehler zurückgegeben. Um den Status der Sicherheitsgruppe zu überprüfen, führen Sie denDescribeSecurityGroups
Befehl mit einem exponentiellen Backoff-Algorithmus aus. -
InstanceLimitExceeded
Sie haben mehr Instances angefordert, als Ihr aktuelles Instance-Limit für den angegebenen Instance-Typ zulässt. Sie könnten dieses Limit unerwartet erreichen, wenn Sie Instances schnell starten und beenden, da beendete Instances nach ihrer Kündigung noch eine Weile auf Ihr Instance-Limit angerechnet werden.