AWS EC2 Was genau ist eine Reservierungs-ID und was repräsentiert sie?

13

Ich habe ein Skript erstellt, das Momentaufnahmen unserer EC2-Volumes erstellt. Das Skript überprüft, welche Instanzen ausgeführt werden, welche Volumes mit diesen Instanzen verbunden sind, und erstellt dann Snapshots für diese Volumes, wobei der Rest ignoriert wird.

Mit describe-instanceserhalte ich Reservierungs-IDs, keine Instanz-IDs. Das ist verwirrend, aber es ist so wie es ist. Wenn eine Instanz gestartet wird, wird eine Reservierung für diese Instanz erstellt.

Ich bin immer noch verwirrt über das Reservierungskonzept.

Randnotiz: Ich weiß, was reservierte Instanzen sind, was sich von dem unterscheidet, was ich hier beschreibe. Eine "reservierte Instanz" bedeutet, dass Sie eine Instanz für ein oder zwei oder drei Jahre mieten und dafür einen Preisnachlass erhalten. Sie reservieren also ein t2.medium für ein Jahr, und wenn Sie es nicht verwenden, zahlen Sie trotzdem, aber wenn Sie es verwenden, ist es billiger als normal.

Nun zurück zur "Reservierungs-ID". In den AWS-FAQ heißt es:

Jede von EC2 gestartete Instanz hat eine Reservierungs-ID. Eine Reservierungs-ID hat eine Eins-zu-Eins-Beziehung zu einer Instanzstartanforderung, kann jedoch mehreren Instanzen zugeordnet werden, wenn Sie mehrere Instanzen mit derselben Startanforderung starten.

Dann gibt es diese SE-Frage: Was ist der Zweck von "Reservierungen" in Amazon EC2

Es ist immer noch nicht klar, was eine Reservierungs-ID genau darstellt

Wenn Sie jeweils eine Instanz starten, hat jede Instanz ihre eigene eindeutige Reservierungs-ID.

  • Wann oder wie kann eine einzelne Reservierungs-ID mit mehreren Instanzen verknüpft werden?
  • Kann es mit mehreren unabhängigen Instanzen verknüpft werden? Angenommen, ich habe einen Webserver und einen Datenbankserver. Kann ich sie unter einer Reservierungs-ID starten?
  • Oder kann eine Reservierungs-ID nur mit einer Instanz verknüpft werden, die mehrmals gestartet wurde, z. B. zu Lastenausgleichszwecken.

In unserer Situation haben alle Instanzen eine eindeutige Reservierungs-ID, aber ich möchte wissen, in welchen Situationen sich dies für ein Skript, das ich verwende, ändern kann describe-instances.

SPRBRN
quelle

Antworten:

15

Das ResearvationIdhat nichts mit Reserved Instances zu tun. Dies ist ein eindeutiger Wert, der eine Anforderung zum Starten von EC2-Instanzen angibt. Eine Startanforderung kann von cli, AutoScaling oder der AWS Management Console stammen.

Bei jeder Anforderung von aws ec2 run-instanceswerden keine oder mehrere Reservierungen von Instanzen zurückgegeben. Normalerweise ist es eins, wenn es erfolgreich ist. In den Dokumenten wird jedoch "null oder mehr" (1) angegeben, sodass eine einzelne Startanforderung möglicherweise in mehrere Reservierungen aufgeteilt wird.

Normalerweise erhalten Instanzen, die gleichzeitig gestartet werden, die gleichen Werte ReservationId, dies ist jedoch möglicherweise keine feste Regel. Das Starten von 2 Instanzen zu 2 verschiedenen Zeitpunkten führt jedoch höchstwahrscheinlich zu unterschiedlichen ReservationIdWerten.

Als Teil des aws ec2 run-instancesBefehls können Sie beispielsweise die minimale und maximale Anzahl von Instanzen angeben, die gleichzeitig gestartet werden sollen. Oft ist dies min = max = 1, aber es kann mehr und / oder anders sein, solange 1 <= min <= max. Sie können auch die Anzahl der Instanzen angeben, die ausgeführt werden sollen, wenn Sie neue Instanzen über die AWS Management Console starten. Dies ist auf der Seite "Schritt 3: Konfigurieren der Instanzdetails" zu sehen.

Bei der Ausführung aws ec2 describe-instanceswerden Ihre Ergebnisse nach dem ReservationIdWert gruppiert, der darauf basiert, wie sie gestartet wurden.

Im Allgemeinen müssen Sie sich keine Gedanken über den ReservationIdWert machen, es sei denn, Sie möchten wissen, ob sie gleichzeitig gestartet wurden und an welchem ​​Punkt AmiLaunchIndexder Instanz die einzelnen Instanzen innerhalb der Reservierung voneinander abweichen (0, 1, 2 usw.). ).

Verweise:

Matt Houser
quelle
3

Betrachten Sie die Reservierungs-ID als Transaktions-ID. zB Wenn Sie 5 Tickets gleichzeitig kaufen. Sie haben eine Transaktions-ID, aber fünf Buchungs-IDs.

Auf die gleiche Weise haben Sie eine Reservierungs-ID und eine Instanz-ID , wenn Sie eine Instanz gleichzeitig mit aws ec2-Ausführungsinstanzen starten .

Wenn Sie jedoch 10 Instanzen gleichzeitig mit aws ec2-Ausführungsinstanzen starten , verfügen Sie über 1 Reservierungs-ID und 10 Instanz-ID.

Vikash
quelle