AWS EC2, ¿qué es exactamente un ID de reserva y qué representa?

13

Hice un script que crea instantáneas de nuestros volúmenes EC2. El script analiza qué instancias se están ejecutando, qué volúmenes están conectados a esas instancias y luego crea instantáneas para esos volúmenes, ignorando el resto.

Utilizando describe-instances, obtengo ID de reserva, no ID de instancia. Esto es confuso, pero es como es. Cuando se inicia una instancia, se crea una reserva para esa instancia.

Todavía estoy confundido sobre el concepto de reserva.

Nota al margen: sé qué son las instancias reservadas, que es diferente de lo que estoy describiendo aquí. Una "instancia reservada" significa que usted alquila una instancia por un año o dos o tres, y obtiene un recorte de precios por eso. Por lo tanto, reserva un t2.medium por un año, y si no lo usa, todavía paga, pero si lo usa, es más barato de lo normal.

Ahora de vuelta a la "ID de reserva". Las preguntas frecuentes de AWS dicen:

Cada instancia lanzada por EC2 tiene un ID de reserva. Un ID de reserva tiene una relación uno a uno con una solicitud de inicio de instancia, pero puede asociarse con más de una instancia si inicia varias instancias utilizando la misma solicitud de inicio.

Luego está esta pregunta SE: ¿Cuál es el propósito de las 'Reservas' en Amazon EC2?

Todavía no está claro qué representa exactamente un ID de reserva

Si inicia una instancia a la vez, cada instancia tiene su propio ID de reserva único.

  • ¿Cuándo o cómo se puede vincular una única identificación de reserva a varias instancias?
  • ¿Se puede vincular a varias instancias no relacionadas? Digamos que tengo un servidor web y un servidor de base de datos. ¿Puedo iniciarlos con una identificación de reserva?
  • O bien, ¿se puede vincular un ID de reserva a una instancia que se inicia varias veces, como para fines de equilibrio de carga?

En nuestra situación, todas las instancias tienen una ID de reserva única, pero quiero saber en qué situaciones puede cambiar esto, para un script que estoy usando describe-instances.

SPRBRN
fuente

Respuestas:

15

El ResearvationIdno tiene nada que ver con las instancias reservadas. Es un valor único que indica una solicitud para iniciar instancias EC2. Una solicitud de inicio puede provenir de cli, AutoScaling o la consola de administración de AWS.

Cada solicitud aws ec2 run-instancesdevolverá cero o más reservas de instancias. Por lo general, será uno si tiene éxito, pero los documentos dicen "cero o más" (1), por lo que una sola solicitud de inicio puede dividirse en varias reservas.

Por lo general, las instancias que se lanzan al mismo tiempo obtienen lo mismo ReservationId, pero eso puede no ser una regla estricta. Pero el lanzamiento de 2 instancias en 2 momentos diferentes probablemente dará ReservationIdvalores diferentes .

Por ejemplo, como parte del aws ec2 run-instancescomando, puede indicar el número mínimo y máximo de instancias para iniciar simultáneamente. Muchas veces, esto será min = max = 1, pero puede ser más y / o diferente siempre que 1 <= min <= max. También puede especificar el número de instancias que se ejecutarán cuando inicie nuevas instancias desde la consola de administración de AWS. Esto se puede ver en la página "Paso 3: Configurar los detalles de la instancia".

Al ejecutar aws ec2 describe-instances, sus resultados se agruparán por el ReservationIdvalor en función de cómo se lanzaron.

En general, no necesita preocuparse por el ReservationIdvalor a menos que desee saber si se lanzaron simultáneamente en qué punto AmiLaunchIndexde la instancia diferirá de una instancia a otra dentro de la reserva (0, 1, 2, etc. )

Referencias

Matt Houser
fuente
3

Considere la identificación de reserva como una identificación de transacción. Por ejemplo, si compra 5 boletos a la vez. Tiene una ID de transacción pero cinco ID de reserva.

De la misma manera, si inicia 1 instancia a la vez utilizando instancias de ejecución aws ec2 , tendrá una ID de reserva y una ID de instancia.

Pero si inicia 10 instancias a la vez utilizando aws ec2 run-Instances , tendrá 1 ID de reserva y 10 ID de instancia.

Vikash
fuente