Automatycznie dołączyć wolumin EBS do nowej instancji Spot?

14

Eksperymentuję z instancjami spot EC2 i potrzebuję przechowywania danych między zakończeniami. Teraz, jak rozumiem, kiedy obecna cena przekroczy moje maksimum. licytacja zostanie automatycznie zakończona. Zakładam, że wszystkie skrypty inicjowania, które mam, będą uruchamiane podczas zamykania, aby móc odepchnąć dane do EBS przed odmontowaniem.

Moje pytanie brzmi: w jaki sposób mogę automatycznie zamontować ten sam wolumin EBS na nowej instancji spot po obniżeniu ceny, ponieważ nie będzie on zawierał żadnego z moich skryptów inicjujących, które załadowałbym na wolumin główny po raz pierwszy?

Czy muszę utworzyć niestandardowy AMI, czy jest jakiś inny sposób na osiągnięcie tego?

Jeff
źródło

Odpowiedzi:

11

Jeśli po prostu chcesz, aby instancja zaczynała się od stałego punktu początkowego za każdym razem, gdy jest uruchamiana, możesz:

  1. Utwórz własny interfejs AMI i uruchamiaj go jako instancję za każdym razem, lub

  2. Podaj skrypt danych użytkownika, który instaluje i konfiguruje oprogramowanie zgodnie ze specyfikacjami przy każdym uruchomieniu nowej instancji ze standardowego podstawowego interfejsu AMI.

Jeśli chcesz zachować stan między uruchomieniami instancji, musisz zapisać dane gdzieś poza instancją / AMI. Na przykład:

  1. Dane mogą być aktualizowane na S3, SimpleDB, DynamoDB, RDS itp.

  2. Można wyznaczyć stały wolumin EBS, który instancja dynamicznie dołącza i montuje podczas uruchamiania. Można to zrobić za pomocą skryptu danych użytkownika.

Eric Hammond
źródło
Określenie skryptu danych użytkownika, który instaluje, brzmi interesująco; Jak można to zrobić, gdy żądanie natychmiastowe automatycznie uruchomi nową instancję? Mam już stały wolumin EBS przechowujący dane i prawdopodobnie będę go nadal używać
Jeff
1
Podczas tworzenia żądania dodatkowego określane są dane użytkownika, które powinny być przekazywane do każdej nowej instancji dodatkowej.
Eric Hammond,
Ach, nie zdawałem sobie sprawy z wprowadzenia chmurowego inicjowania #! najpierw w danych użytkownika wykonano skrypt. Dziękuję
Jeff,
3
@Jeff: Tak, wymyśliłem to i popularne AMI
Eric Hammond
Czy wzdłuż tej linii jest możliwe, aby wystąpienie punktowe zamontowało konkretny wolumin EBS jako dysk główny po uruchomieniu?
Derek Morrison,
5

Sprawdź projekt ec2-spotter na GitHub. Został stworzony, aby rozwiązać opisany problem.

Problemy (od 1 do 4) opisane w odpowiedzi @ mcenzm są rzeczywiste i są poprawnie obsługiwane w ec2-spotter.

Alex R.
źródło
Nie wiem, kto to głosował, ale to oznacza, że ​​mogę przestać marnować czas na próby jego kodowania! Kocham to.
Jeremy
3

Próbuję tego od jakiegoś czasu i nadal istnieje wiele problemów z wystąpieniami spot EC2 i podłączoną pamięcią.

  1. Wolumin, który chcesz dołączyć, może nie znajdować się w tej samej strefie co instancja? Stref nie można określić przy uruchomieniu.
  2. Wewnętrzne dołączanie za pomocą skryptu init będzie działać, ale jest trochę asynchroniczne, więc musisz go przetestować lub sleep 10powiedzieć.
  3. Nie rozumiem, dlaczego konsola AWS pokazuje „partycję” jako główne urządzenie blokowe. Może odmówić nam pirackich obrazów systemu Windows na innej partycji? (sda1 zamiast sda). Powodzenia w znalezieniu tabeli partycji.

    wprowadź opis zdjęcia tutaj

  4. Obecnie trudno dołączyć za pomocą interfejsu CLI z zewnętrznego punktu kontroli, co utrudnia używanie migawek do kontroli wersji.

  5. Ogólnie rzecz biorąc, tworzę kopię zapasową ... tar.bz2 w innym polu, a następnie mogę zapełnić „obszar roboczy” po uruchomieniu. Jest to przydatne tylko w przypadku niewielkich ilości danych, dlatego dobrym pomysłem jest wprowadzenie nowego ami w obu woluminach. Instancje dodatkowe są naprawdę dobre dla pracy „jednostki roboczej” lub „restartowalnej”, więc koncepcja pobierania pracy z serwera jest dobrze ugruntowana. Biorąc pod uwagę, że czekasz maksymalnie na 9 minut na uruchomienie, możesz nie mieć nic przeciwko sformatowaniu (tak małego, jak to możliwe) dysku.

    1. EBS jest nadal dość niestabilny i trzeba zapłacić dodatkowo za „zoptymalizowane”. Nadal jest szybszy niż próba przesłania ukończonej pracy w latach 90., kiedy instancja jest „wyceniona”.

    2. Podejrzewam, że to się zmieni z każdą ofertą „elastycznego pliku”.

mckenzm
źródło
1
1. Podaj podsieć powiązaną ze strefą AZ. 2. Czekanie na pojawienie się / dev / xvdx jest łatwe. 3. Jak to jest istotne?
Morgan Christiansson,