2012-05-11 45 views
6

Mam skrypt, który muszę uruchamiać raz dziennie, który wymaga dużej ilości pamięci. Chciałbym go uruchomić na dedykowanym pudełku Amazon.Uruchamianie skryptu na serwerze AWS

Czy jest jakiś automatyczny sposób na zbudowanie pudełka, pobranie całego wymaganego oprogramowania (np. Ruby), a następnie uruchomienie mojego skryptu. Po uruchomieniu skryptu chciałbym zamknąć okno.

Obie opcje można myślę to:

  1. myślę o włamanie EMR to zrobić. (Mój scenariusz jest programem odwzorowującym przeciwko pustemu katalogowi)
  2. Szef kuchni - wydawało się, że to za dużo dla jednego prostego scenariusza.
+0

Które dystrybucje linuksowe preferujesz? –

+1

Generalnie wybieram ubuntu, ale jestem otwarty na innych. – Tihom

Odpowiedz

9

Możesz utworzyć nową instancję EC2 przy starcie używając oficjalnych AMI Ubuntu, oficjalnych AMI Amazon i innych AMI wspierających koncepcję skryptu danych użytkownika.

Utwórz skrypt (bash, Perl, Python,

  1. cokolwiek), który rozpoczyna się od #!
  2. Przekaż ten skrypt jako dane użytkownika podczas uruchamiania instancji EC2.
  3. Skrypt zostanie automatycznie uruchomiony jako root przy pierwszym uruchomieniu.

Oto artykuł, gdzie wprowadzono pojęcie skryptu użytkownika danych:

Automatyzacja EC2 instancji Konfiguracja ze skryptów użytkownika danych
http://alestic.com/2009/06/ec2-user-data-scripts

skrypcie użytkownika dane może zainstalować wymagane oprogramowanie, skonfigurować je, zainstalować skrypt pracy i skonfigurować zadanie cron, które uruchamia skrypt pracy raz dziennie.

ENHANCEMENT:

Jeśli skrypt instalacyjny nie trwać długo, aby uruchomić (na przykład pod godzinę lub kilka), to nawet nie trzeba uruchomić jednym dedykowanym instancję 24 godziny dzień. Zamiast tego możesz zastosować podejście, które pozwala AWS uruchamiać instancję w regularnych odstępach czasu.

Oto artykuł, który napisał, że zawiera szczegółowe informacje na temat tego podejścia z poleceniami próbki:

Uruchamianie wystąpień EC2 z ramówką z automatycznym skalowaniem
http://alestic.com/2011/11/ec2-schedule-instance

ogólne podejście polega na użyciu Automatyczne skalowanie, aby uruchomić instancję ze skryptem danych użytkownika w regularnych odstępach czasu. Twoja praca zakończy instancję po jej zakończeniu. Kluczem jest wstrzymanie normalnej chęci Auto Scalingu do ponownego uruchomienia instancji, które kończą się, aby nie płacić za działającą instancję do następnego uruchomienia zadania.

+0

Interesujące. Czy mogę przekazać wiele plików do instancji.Chciałbym przekazać 3 pliki: A) Boostrap (instaluje wymagane oprogramowanie) B) Config C) Skrypt, który uruchamia – Tihom

+0

Połączyć je w pojedynczy skrypt. Można też przekazać skrypt danych użytkownika, który pobiera i uruchamia każdy z poszczególnych skryptów z bezpiecznego miejsca, takiego jak S3 z uwierzytelnionymi adresami URL. –

+1

Nice one Eric. Dokładnie tego potrzebowałem. –

Powiązane problemy