AWS EC2 czym dokładnie jest identyfikator rezerwacji i co reprezentuje?

13

Stworzyłem skrypt, który tworzy migawki naszych woluminów EC2. Skrypt sprawdza, które instancje są uruchomione, które woluminy są połączone z tymi instancjami, a następnie tworzy migawki dla tych woluminów, ignorując resztę.

Za pomocą describe-instancesotrzymuję identyfikatory rezerwacji, a nie identyfikatory instancji. Jest to mylące, ale takie jest. Po uruchomieniu instancji tworzona jest rezerwacja dla tej instancji.

Nadal jestem zdezorientowany pojęciem rezerwacji.

Uwaga dodatkowa: Wiem, jakie są zastrzeżone wystąpienia, które różnią się od tego, co tutaj opisuję. „Instancja zarezerwowana” oznacza, że ​​wynajmujesz instancję na rok, dwa lub trzy i otrzymujesz za to obniżkę ceny. Więc rezerwujesz t2.medium na jeden rok, a jeśli go nie użyjesz, nadal płacisz, ale jeśli go użyjesz, będzie tańszy niż normalnie.

Teraz wróć do „ID rezerwacji”. FAQ AWS mówi:

Każda instancja uruchomiona przez EC2 ma identyfikator rezerwacji. Identyfikator rezerwacji ma relację jeden-do-jednego z żądaniem uruchomienia instancji, ale może być powiązany z więcej niż jedną instancją, jeśli uruchomisz wiele instancji za pomocą tego samego żądania uruchomienia.

Następnie pojawia się pytanie SE: Jaki jest cel „Rezerwacje” w Amazon EC2

Nadal nie jest jasne, co dokładnie reprezentuje identyfikator rezerwacji

Jeśli uruchamiasz jedną instancję na raz, każda z nich ma swój unikalny identyfikator rezerwacji.

  • Kiedy lub jak jeden identyfikator rezerwacji można połączyć z wieloma instancjami?
  • Czy można go powiązać z kilkoma niepowiązanymi instancjami? Powiedzmy, że mam serwer WWW i serwer bazy danych. Czy mogę je uruchomić pod jednym identyfikatorem rezerwacji?
  • Lub, czy identyfikator rezerwacji można połączyć tylko z jedną instancją, która jest uruchamiana wiele razy, na przykład w celu równoważenia obciążenia.

W naszej sytuacji wszystkie instancje mają unikalny identyfikator rezerwacji, ale chcę wiedzieć, w jakich sytuacjach może się to zmienić, dla skryptu, którego używam describe-instances.

SPRBRN
źródło

Odpowiedzi:

15

Nie ResearvationIdma to nic wspólnego z wystąpieniami zarezerwowanymi. Jest to unikalna wartość wskazująca żądanie uruchomienia instancji EC2. Żądanie uruchomienia może pochodzić z cli, AutoScaling lub AWS Management Console.

Każde żądanie aws ec2 run-instanceszwróci zero lub więcej rezerwacji wystąpień. Zwykle będzie to jeden, jeśli się powiedzie, ale doktorzy mówią „zero lub więcej” (1), więc jedno żądanie uruchomienia może zostać podzielone na wiele rezerwacji.

Zwykle instancje uruchamiane jednocześnie stają się takie same ReservationId, ale nie musi to być trudne i szybkie. Ale uruchomienie 2 instancji w 2 różnych momentach najprawdopodobniej da inne ReservationIdwartości.

Na przykład w ramach aws ec2 run-instancespolecenia możesz wskazać minimalną i maksymalną liczbę wystąpień, które będą uruchamiane jednocześnie. Wiele razy będzie to min = max = 1, ale może być większe i / lub różne, o ile 1 <= min <= max. Możesz także określić liczbę instancji do uruchomienia po uruchomieniu nowych instancji z konsoli zarządzania AWS. Można to zobaczyć na stronie „Krok 3: Skonfiguruj szczegóły wystąpienia”.

Podczas wykonywania aws ec2 describe-instanceswyniki zostaną pogrupowane według ReservationIdwartości na podstawie sposobu ich uruchomienia.

Zasadniczo nie musisz martwić się o tę ReservationIdwartość, chyba że chcesz wiedzieć, czy zostały one uruchomione jednocześnie, w którym momencie AmiLaunchIndexinstancja będzie się różnić między instancjami w ramach rezerwacji (0, 1, 2 itd.) ).

Bibliografia:

Matt Houser
źródło
3

Rozważ identyfikator rezerwacji jako identyfikator transakcji. np. jeśli kupisz 5 biletów jednocześnie. Masz jeden identyfikator transakcji, ale pięć identyfikatorów rezerwacji.

W ten sam sposób, jeśli uruchomisz 1 instancję jednocześnie za pomocą instancji aws ec2 run , będziesz mieć jeden identyfikator rezerwacji i jeden identyfikator instancji.

Ale jeśli uruchomisz 10 instancji jednocześnie za pomocą instancji aws ec2 run , będziesz mieć 1 identyfikator rezerwacji i 10 instancji.

Vikash
źródło