EC2 Zaktualizuj mój istniejący AMI

18

Używam elastycznego równoważenia obciążenia do równoważenia obciążenia mojej grupy automatycznego skalowania , ponieważ mam prywatny interfejs AMI, który utrzymuje mój serwer aplikacji (Tomcat) i moją aplikację internetową wdrożoną na nim jako wojna ... Teraz wszystko działa dobrze ... co jeśli muszę zmienić konfigurację tomcat na moim AMI . Czy to nie będzie wymagało uruchomienia mojego AMI -> Zaloguj się + Zmień konfigurację Tomcat -> Utwórz nowy AMI -> Usuń stary AMI Nie sądzę, aby utworzenie nowego AMI było rozwiązaniem, ponieważ będzie wymagało aktualizacji mojej automatycznej skali Grupa, aby dodać moją nową AMI

Czy istnieje sposób, w jaki mogę zaktualizować dane w istniejącym interfejsie AMI bez tworzenia nowego? Chcę tylko mieć ten sam identyfikator AMI

Hadi Salem
źródło

Odpowiedzi:

5

Możesz zaktualizować konfigurację za pomocą skryptu danych użytkownika, który jest uruchamiany podczas uruchamiania instancji.

To, co umieścisz w skrypcie, zależy od sposobu zarządzania konfiguracją na poziomie systemu plików. Osobiście umieszczam moje pliki konfiguracyjne w repozytorium Mercurial i po prostu robię to, pullaby je zaktualizować.

David Levesque
źródło
Myślę, że twoja odpowiedź jest prawidłowa, ale moim zdaniem jest to hacky ... Czy nie ma sposobu, aby po prostu zaktualizować mój obraz AMI, zachowując ten sam identyfikator AMI?
Hadi Salem,
3
Niestety nie sądzę, że to możliwe. Z dokumentu Amazon: „Identyfikator AMI jest powiązany z fizycznymi bitami obrazu. Aby chronić użytkowników przed modyfikowaniem obrazów, wymagamy ponownej rejestracji AMI instancji Amazon EC2 po ponownym rozdzieleniu”.
David Levesque
Nie ma możliwości modyfikacji istniejącego obrazu AMI. Musisz utworzyć nowy.
Matt Houser
Konfiguracja wdrażania IMO przy użyciu danych użytkownika jest bardziej elegancka. Ludzie skłaniają się również w kierunku instalowania usług podczas tworzenia instancji. Możesz także skorzystać z szablonu CloudFormation.
Edwin,
Myślę, że będę używać BeanStalk z niestandardowym interfejsem AMI, znacznie ułatwi to moje życie, nie trzeba konfigurować modułu równoważenia obciążenia z funkcją automatycznego skalowania, a na wypadek konieczności zmiany konfiguracji serwera utworzę własny skrypt .. Dzięki wszystkim
Hadi Salem,
3

Nie można zaktualizować istniejącego AMI i zachować ten sam identyfikator AMI. Musisz albo utworzyć nowy niestandardowy interfejs AMI i zaktualizować konfigurację uruchamiania dla grupy automatycznego skalowania, albo zmienić konfigurację, aby zastosować zmiany do instancji po uruchomieniu instancji podstawowego AMI, jak sugeruje @DavidLevesque.

Powszechną architekturą jest pobieranie aplikacji, konfiguracji i danych z, powiedzmy, S3 przy uruchomieniu.

Eric Hammond
źródło
+1 za notatkę o architekturze tid-bit
Jmoney38
0

To wygląda jak stary post. Ale jeśli nadal jesteś w takiej samej sytuacji, możesz rozważyć użycie Windows AMI wspieranego przez Sklep Instance (zadanie w pakiecie). Jest również podobny do AMI, ale masz większą kontrolę nad samym obrazem, ponieważ praktycznie tworzysz sam obraz i przechowujesz go w wiadrze S3. Pozwoli ci to aktualizować podstawowy obraz twojego AMI co jakiś czas, kiedy zajdzie taka potrzeba, bez konieczności tworzenia nowego AMI (przynajmniej tak to rozumiem).

https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html?icmpid=docs_ec2_console

Rio Bautista
źródło
FYI ... „Jedynymi interfejsami AMI systemu Windows, które mogą być wspierane przez magazyn instancji, są te dla systemu Windows Server 2003. Instancje wspierane przez sklep instancji nie mają dostępnego miejsca na dysku wymaganego dla późniejszych wersji systemu Windows Server.”
Rich C