2009-06-26 22 views
12

To pytanie jest przeznaczone dla każdego, kto faktycznie korzystał z usługi Amazon EC2. Zastanawiam się, w jaki sposób zainstaluje tam serwer.Rozmieszczanie na EC2

Wygląda na to, że mogę uruchomić w VirtualBox, skonfigurować mój serwer, a następnie wyeksportować obraz za pomocą dostarczonych narzędzi ec2.

To, co jest trudne, to to, że jeśli rzeczywiście chcę wprowadzić zmiany w konfiguracji na moim uruchomionym serwerze, nie będą one trwałe.

Mam trochę kodu PHP, który powinien być w stanie wdrożyć (i ponownie wdrożyć) w systemie, więc pomyślałem, że EBS będzie tam dobrym wyborem.

Mam ogromną ilość danych, które muszę przechowywać, ale tak się składa, że ​​opóźnienie nie jest problemem, więc pomyślałem, że coś w stylu s3fs może działać.

Moje pytanie brzmi ... Co byś zrobił? Jak wygląda twoja konfiguracja? Jakie były szczególne wyzwania, których być może nie zauważyłeś?

Odpowiedz

7

Polecam przechowywania kodu PHP w repozytorium SVN, takich jak, i napisanie skryptu, który sprawdza najnowszy kod z repozytorium i redeploys kiedy chcesz uaktualnić. Możesz również uruchomić ten skrypt przy starcie instancji, aby otrzymać najnowszy kod za każdym razem, gdy uruchomisz nową instancję; to oszczędność w tworzeniu nowego AMI za każdym razem.

Głównym wyzwaniem, którego nie widziałem podczas EC2, jest czas uruchamiania instancji - szczególnie w systemie Windows. Wydanie Linuksa zajmuje od 5 do 10 minut, ale widziałem, że instancje systemu Windows zajmują do 40 minut; może to stanowić problem, jeśli chcesz dynamicznie wyrównywać obciążenie i uruchamiać nowe instancje po zwiększeniu obciążenia.

+0

Pamiętaj, że w dzisiejszych czasach (4 lata po opublikowaniu odpowiedzi) czas ładowania wynosi zaledwie kilka minut. – Julian

+0

Zaimplementowałem skrypt PHP, który automatycznie wdraża zmiany kodu we wszystkich instancjach EC2 za każdym razem, gdy przesyłasz do repozytorium. https://github.com/droidlabour/aws_autoscaling_code_deployer – droidlabour

3

Sugeruję, że najlepiej jest po prostu "spróbować". Opłaty za uruchomienie małej instancji nie są wysokie, a szybkość przesyłania danych jest bardzo niska - przesunąłem sporo GB, a moje opłaty za transmisję danych wynoszą mniej niż dolara (!) W pierwszym miesiącu. Najprawdopodobniej będziesz płacić głównie za czas systemowy, a nie za dane, które podejrzewam.

Jeszcze nie wdrożyłem, ale uruchomiłem instancję, zmigrowałem ją z Ubuntu 8.04 na 8.10, wypróbowałem różne ustawienia zabezpieczeń portów, widziałem jakiego rodzaju próby dostępu próbowali nieznani ludzie (głównie szukanie phpadmin), uruchamiam niektóre testowanie przeciwko niemu i na ogół eksperymentowanie z konfiguracją i ponownym uruchomieniem komponentów, które wdrażam. To był dobry wstęp do mojego wdrożenia końcowego. Nie zacznę od dużego DB, więc początkowo będę trzymał się standardowej przestrzeni instancji EC2.

Jedyna negatywność, jaką słyszałem, że niektórzy spamerzy spowodowali, że niektóre zakresy adresów IP podlegają blokowaniu spamu - ale jeszcze tego nie potwierdzili.

+0

Uzgodnione. cena jest na tyle niska, że ​​wystarczy wypróbować. Jeśli chodzi o blokowanie spamu, to prawda. Próbowałem uruchomić serwer pocztowy w EC2, ale większość zakresów adresów IP okazała się być na czarnej liście. Musiałem przekazać nieznajdującemu się na czarnej liście hostowi w innej sieci, która pokonała dla mnie cel. –

2

Twoje podejście do wirtualnej skrzynki Sugeruję, abyś skorzystał po zapoznaniu się z infrastrukturą EC2. Proponuję, aby przejść do EC2, otworzyć konto i postępować zgodnie z przewodnikiem Amazon's EC2. Ten przewodnik zapewni ci wystarczający przegląd wszystkich rzeczy (EBS, IP, CONNECTIONS i innych), aby zacząć. Obecnie używamy EC2 do produkcji i sposób, w jaki zaczęliśmy, był taki, jak to tutaj wyjaśnię.

Mam nadzieję, że wkrótce zostaniesz Ekspertem Cloud.

1

Mam zainstalowane kilka prostych rzeczy do instancji EC2 Win2k3. Oto moja rada:

Znajdź samouczek. Zarejestruj się w usłudze. Po prostu spędź popołudnie, konfigurując swój pierwszy serwer. Jest to bardzo cholernie łatwe, choć będą przeszkody do pokonania. To nie jest trudne.

Kiedy wygłupiałem się z EC2, wydawało mi się, że wydałem jak 2,00 $ na skonfigurowanie serwera i grę z nim przez jakiś czas.

Niektóre z Twoich danych będą trwałe, ale możesz także podłączyć S3 do EC2.

Po prostu idź!

2

Za troskę timbo udało mi się zdobyć adres IP, który jak dotąd nie pojawiał się na listach spamowych. Będziesz mieć kilka problemów, ponieważ wiele czarnych list jest technicznie białymi listami i będzie mieć każdy adres IP na swojej liście, dopóki nie zostanie powiadomiony, że serwer pocztowy działa w tym IP.Jest bardzo łatwa do usunięcia, większość z nich ma zautomatyzowane formularze żądania usunięcia, a każda, która nie jest zbyt chętna do współpracy, usuwa mnie ze swoich list. Po prostu bądź profesjonalny, zapytaj, czy mogą podać czas i powód blokady oraz jakie kroki powinieneś podjąć, aby usunąć swoje IP. Wszystkie usługi, które wysłałem pocztą elektroniczną, nigdy nie wymagały ode mnie przeskoczenia przez żadne obręcze, w ciągu dwóch lub trzech dni roboczych wszyscy poinformowali mnie, że mój adres IP został usunięty.

Nadal, jeśli planujesz uruchomić serwer pocztowy, polecam teraz rezerwację adresów IP. Wynoszą 1 cent za każdą godzinę, nie są związani z żadną instancją, więc wynosi około 7 USD miesięcznie. Poszedłem do przodu i zarezerwowałem dodatkowy, ponieważ planuję wkrótce rozpocząć inne wydarzenie.

10

Wdrożyliśmy dużą aplikację komercyjną w środowisku AWS.

Istnieją trzy podstawowe podejścia do utrzymania zmiany pod kontrolą, gdy serwer jest uruchomiony, z których możemy użyć w różnych sytuacjach:

  1. zachować zmiany w kontroli źródła. Miej skrypt będący częścią oryginalnego obrazu, który może pobrać najnowsze i najlepsze. Możesz ściągnąć kod PHP, ustawienia Apache, cokolwiek potrzebujesz. Jeśli chcesz ponownie uruchomić swoją instancję z AMI (Amazon Machine Image), po prostu uruchom skrypt, aby uzyskać najnowszy kod i konfigurację, i dobrze jest iść.
  2. Użyj EBS (Elastic Block Storage). EBS jest jak duży zewnętrzny dysk twardy, który możesz dołączyć do swojej instancji. Nawet jeśli Twoja instancja zniknie, EBS przetrwa. Jeśli później potrzebujesz dwóch (lub więcej) identycznych instancji, możesz dać każdemu z nich dostęp do tego, co zapisujesz w EBS. Zobacz https://stackoverflow.com/a/3630707/141172
  3. Nagraj nowy AMI po każdej zmianie. Istnieje narzędzie do tworzenia nowego AMI z działającej instancji. Jeśli EBS jest jak posiadanie zewnętrznego dysku twardego, tworzenie nowego AMI przypomina posiadanie DVD-R. Możesz zapisać do niego aktualny stan swojej maszyny. Następnym razem, gdy będziesz musiał rozpocząć nową instancję, oprzyj ją na tym nowym AMI. Dobrze iść.
1

w odniesieniu do obaw o czarnych list serwerów pocztowych, można również używać prostych Usługa Email Amazon (SES), który eliminuje potrzebę uruchamiania serwera pocztowego w instancjach EC2.