Korzystam z aplikacji na AWS Elastic Beanstalk i wygląda na to, że muszę utworzyć nowe środowisko, jeśli chcę korzystać z najnowszego interfejsu AMI.
Gdybym wiedział, jaki jest najnowszy identyfikator AMI, mógłbym go zaktualizować w konfiguracji środowiska.
Czy jest miejsce, w którym mógłbym znaleźć identyfikator najnowszych AMI Elastic Beanstalk, a nawet lepiej, czy możliwe jest automatyczne zastępowanie instancji nową wersją przy każdym uruchomieniu nowej wersji?
Odpowiedzi:
Zalecana i wspierane sposób uaktualnić środowisko AWS beanstalk jest udokumentowane tutaj i zarządzana aktualizacje platformy są omawiane tutaj , szczerze bym trzymać się, że jeśli chcesz być łatwe rzeczy (i to jest wszystko o Beanstalk), będziesz teoretycznie otrzymuj tylko nieprzerwane aktualizacje, a AWS będzie zarządzać procesem, więc nie będzie żadnych przestojów.
Chciałbym więc tylko powtórzyć, że zarządzanymi aktualizacjami platformy są prawdopodobnie to, czego Ty lub ktokolwiek pochodzący z Google będzie chciał, ale jeśli chcesz poznać najnowszy AMS dostarczony przez AWS dla twojego środowiska Beanstalk, możesz to zrobić dość trywialnie za pomocą AWS CLI (dzięki do rozsądnych konwencji nazewnictwa Amazon na ich AMI).
Zaczynając od instancji ze swojego środowiska, opisz ją, aby uzyskać bieżący AMI (pomiń, jeśli znasz już obecny AMI).
Weź wynikowy identyfikator AMI i opisz go.
Możemy użyć wyniku powyższego jako danych wejściowych do nowego, posortowanego,
describe-images
ale tym razem zastępujemy znaczniki czasu*
symbolami wieloznacznymi, takimi jak:Ze względu na moc sortowania leksykalnego i ISO 8601 otrzymujemy najnowszą wersję AMI, którą w moim przykładzie jest
ami-1be5de78
.Ponownie nie polecam, abyś próbował ręcznie zmienić ten AMI, Beanstalk ma przepisy, aby zrobić to wszystko za Ciebie!
źródło
Wygląda na to, że nawet jeśli zmienisz AMI, użyjesz właściwego AMI ElasticBeanstalk. Wygląda na to, że nie działa poprawnie. Brakuje wszystkich plików. To nie działa dobrze.
Myślę, że musisz uruchomić nowe środowisko Elastic Beanstalk ze zaktualizowanym interfejsem AMI. Spraw, aby wszystko działało, a następnie zamień adresy URL środowiska.
źródło
Możesz użyć funkcji aktualizacji zarządzanych dostarczanych z eb, ale będziesz musiał zapłacić za ulepszone raportowanie stanu zdrowia, aby to zrobić. Lub użyj polecenia „pokaż platformę eb”; W aplikacji pracującej masz crona, który uruchamia CURRENT =
eb platform show your_env_name | sed -n '5p' | cut -d: -f2- | tr -d '[[:space:]]'
NAJNOWSZY =eb platform show your_env_name | sed -n '6p' | cut -d: -f2- | tr -d '[[:space:]]'
- Następnie porównaj je, a jeśli są inne, możesz użyć klonu eb (domyślnie do nowej wersji), a następnie zamiany cname.źródło
Przechodząc do pulpitu nawigacyjnego aplikacji zlokalizuj „Konfiguracja” i kliknij „Zmień”
Powinieneś zobaczyć listę, w której możesz wybrać platformę. Najnowsza wersja jest wskazana na tej liście. Wybór platformy
AWS EB używa określonych ustawień dla różnych języków programowania. Listę ustawień można znaleźć w dokumentacji http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html
Istnieją tabele pokazujące, z której wersji AMI korzysta każda platforma.
Nie znalazłem jednak sposobu na automatyczne uruchomienie tych aktualizacji. Właściwie wolę przejrzeć zmiany platformy i przetestować je przed ich wdrożeniem.
źródło
Wybierz usługę w Elastic Beanstalk, Zobaczysz przegląd w Dashboard, W panelu po prawej stronie możesz zobaczyć konfigurację AMI, Wybierz Zmień aktualizację lub zdegraduj AMI. W tym momencie zamierzasz zastąpić swoją instancję. Utwórz kopię zapasową lub sklonuj.
źródło
Byłem w stanie zaktualizować moją obecną aplikację hostowaną na Beanstalk do najnowszej wersji Amazon Linux AMI, wykonując poniższe kroki.
1- Zaloguj się do konsoli AWS i przejdź do portalu Beanstalk.
2- Przejdź do strony konfiguracji aplikacji i kliknij „Instancje”.
3- Znajdź identyfikator AMI, tak powinien wyglądać AMI-xxxxxx.
4- Weź identyfikator AMI i przejdź z powrotem do konsoli EC2 i kliknij AMI.
5- Zmień widok na Obrazy publiczne i poszukaj identyfikatora AMI pobranego wcześniej z konfiguracji Beanstalk.
6- Uruchom AMI jako nową instancję.
7- Po uruchomieniu zaloguj się do instancji i dostosuj zgodnie z wymaganiami aplikacji.
8- Po spełnieniu wszystkich oczekiwań, należy utworzyć obraz AMI tej nowej instancji.
9- Weź nowy identyfikator AMI instancji utworzony w kroku 8 i zastosuj go do konfiguracji aplikacji Beanstalk.
10- Nie usunie starej instancji i nie utworzy nowej z niestandardowym interfejsem AMI, a także wdroży najnowszą aplikację na nowych instancjach.
źródło