AWS EC2 o que é um ID de reserva exatamente e o que ele representa?

9

Eu fiz um script que cria instantâneos dos nossos volumes EC2. O script verifica quais instâncias estão em execução, quais volumes estão conectados a essas instâncias e, em seguida, cria instantâneos para esses volumes, ignorando o restante.

Usando describe-instances , recebo IDs de reserva, não IDs de instância. Isso é confuso, mas é como é. Quando uma instância é iniciada, uma reserva é criada para essa instância.

Ainda estou confuso sobre o conceito de reserva.

Nota: Eu sei quais são as instâncias reservadas, o que é diferente do que estou descrevendo aqui. Uma "instância reservada" significa que você aluga uma instância por um ano ou dois ou três e obtém um corte de preço por isso. Então, você reserva um quarto. Por um ano, e se você não usá-lo, você ainda paga, mas se você usá-lo, é mais barato que o normal.

Agora, volte para o "ID da reserva". A FAQ da AWS diz:

Every instance launched by EC2 has a reservation ID. A reservation ID has a one-to-one relationship with an instance launch request, but can be associated with more than one instance if you launch multiple instances using the same launch request.

Depois, há esta pergunta SE: Qual é o objetivo de 'Reservas' no Amazon EC2

Ainda não está claro o que um ID de reserva representa exatamente

Se você iniciar uma instância por vez, cada instância terá seu próprio ID de reserva exclusivo.

  • Quando ou como um único ID de reserva pode ser vinculado a várias instâncias?
  • Ele pode ser vinculado a várias instâncias não relacionadas? Digamos que eu tenha um servidor da web e um servidor de banco de dados. Posso começar com um ID de reserva?
  • Ou, um ID de reserva só pode ser vinculado a uma instância que é iniciada várias vezes, como para fins de balanceamento de carga.

Em nossa situação, todas as instâncias têm um ID de reserva exclusivo, mas quero saber em que situações isso pode mudar, pois um script está em execução usando describe-instances .

    
por SPRBRN 14.01.2016 / 16:08

2 respostas

10

O ResearvationId não tem nada a ver com instâncias reservadas. É um valor único que indica uma solicitação para iniciar instâncias do EC2. Uma solicitação de lançamento pode vir do CLI, do AutoScaling ou do AWS Management Console.

Cada solicitação para aws ec2 run-instances retornará zero ou mais reservas de instâncias. Normalmente, será um caso seja bem-sucedido, mas os documentos dizem "zero ou mais" (1), portanto, uma única solicitação de lançamento pode ser dividida em várias reservas.

Normalmente, instâncias que são lançadas de uma só vez recebem o mesmo ReservationId , mas isso pode não ser uma regra rígida. Mas o lançamento de 2 instâncias em 2 momentos diferentes provavelmente dará valores ReservationId diferentes.

Por exemplo, como parte do comando aws ec2 run-instances , você pode indicar o número mínimo e máximo de instâncias para iniciar simultaneamente. Muitas vezes, isso será min = max = 1, mas pode ser mais e / ou diferente contanto que 1 < = min < = max. Você também pode especificar o número de instâncias a serem executadas ao lançar novas instâncias no AWS Management Console. Isso pode ser visto na página "Etapa 3: configurar detalhes da instância".

Ao executar aws ec2 describe-instances , seus resultados serão agrupados pelo valor ReservationId com base em como eles foram lançados.

Em geral, você não precisa se preocupar com o valor ReservationId , a menos que queira saber se eles foram lançados simultaneamente. Nesse momento, AmiLaunchIndex na instância será diferente de instância para instância na reserva. (0, 1, 2, etc).

Referências:

por 14.01.2016 / 20:59
1

Considere o código de reserva como um ID transacional. Por exemplo, se você comprar 5 ingressos de uma só vez. Você tem uma ID de transação, mas cinco ID de reserva.

Da mesma forma, se você iniciar 1 instância de uma só vez usando aws ec2 run-instances , terá um ID de reserva e um ID de instância.

Mas se você ativar 10 instâncias ao mesmo tempo usando aws ec2 instâncias de execução , terá 1 ID de reserva e 10 ID de instância.

    
por 15.01.2016 / 15:41