Amazon EC2 örneğini kapatıp tekrar başlatırsam, her şey yoluna girecek mi?


12

Amazon EC2 Linux tabanlı bir örnek üzerinde çalışan ve normal bir etki alanı adına (x.com) eşlenmiş bir web sitem var. Bu site ikinci bir EC2 örneğindeki bir veritabanıyla konuşuyor.

Bu örneği kapatmam ve arkasındaki bilgi işlem gücünü artırmam gerekiyor ... bunu yaparsam, ne kadar sürecek ve makineyi tekrar açtığımda sitem tekrar çevrimiçi olacak mı? IP adresi, DNS bilgileri vb. Alan adının çalışmaya devam etmesi korunacak mı ve DB ile konuşabilsin mi?

FYI şu anda AWS EC2 bilgi panelinde web sunucusu için gördüğüm şey (tam IP adresleri biraz değişti, ancak fikri anlıyorsunuz):

Public DNS: ec2-54-1-1-1.us-west-1.compute.amazonaws.com
Private DNS: ip-10-1-1-1.us-west-1.compute.internal
Private IPs: 10.1.1.1

Yanıtlar:


13

Bir EBS önyükleme örneğini durdurmak ve başlatmak, birkaç istisna dışında örneği yeniden başlatmaya çok benzer;

  1. Bu örneğe yeni bir dahili IP adresi atanır.

  2. Bu örneğe yeni bir genel IP adresi atanır.

  3. Örnek bir VPC'de değilse, herhangi bir Elastik IP adresi örnekle ilişkilendirilmez.

  4. Geçici depolama ile ilgili tüm veriler (genellikle / mnt altında) kaybolur

Bu makalede açıkladığım bazı faturalandırma ve kullanılabilirlik sonuçları da var:

Amazon EC2 Bulut Sunucusunun Yeniden Başlatılması / Durdurulması / Başlatılması
http://alestic.com/2011/09/ec2-reboot-stop-start

VPC örnekleri, Elastik IP adreslerini durdurma / başlatma yoluyla tutma dahil olmak üzere biraz farklı davranışlara sahiptir.

Veritabanı sunucusu olarak bir örnek kullanıyorsanız ve buna dahili IP adresini (daha ucuz, daha hızlı) kullanarak bağlanmak istiyorsanız ve bir durdurma / başlatma işleminden sonra veritabanı istemcilerini yeniden yapılandırmak istemiyorsanız, örneğe bir Elastik IP adresi girin ve harici Elastik IP DNS adını kullanın. Bu, Elastik IP adresini yeniden başlatılan örnekle yeniden ilişkilendirdikten sonra geçerli dahili IP adresine çözümlenir ve istemcileriniz kaldıkları yerden devam eder.

Bu makalede bu yaklaşım hakkında daha fazla ayrıntıya giriyorum:

Amazon EC2'de Dahili Örnekleri Belirlemek için Elastik IP Kullanma
http://alestic.com/2009/06/ec2-elastic-ip-internal

Beklediğiniz gibi göründüğünden, durdur / başlat, örneğinize güç sağlayan donanımı değiştirmenin kolay bir yoludur. Bu makalede bazı talimatlar ve uyarılarla birlikte bunu yazdım:

EC2 Örneğini Daha Büyük (veya Daha Küçük) Örnek Türüne Taşıma
http://alestic.com/2011/02/ec2-change-type

Özel durumunuz için örneğe bir Elastik IP adresi atamanızı ve DNS'nizi harici DNS adına bir CNAME kullanarak Elastik IP adresini gösterecek şekilde değiştirmenizi tavsiye ederim. Bunu dur / başlat işleminden hemen sonra yapabilir veya her şeyin dur / başlat işleminden önce çalıştığından emin olarak yapabilirsiniz.


Bu hala doğru mu? Bu sabah sadece AWS desteği ile bir sohbetteydim ve bir örnek durduğunda elastik IP'nin ilişkisiz olmadığını söylediler . Ayrıca, bir örneği durdurup başlatırken dahili IP adreslerimizin değiştiğini hiç görmedim.
bshacklett

@bsacklett Bu cevap biraz modası geçmiş. Yalnızca VPC olmayan örneklerin elastik IP'yi kaybettiğini açıklamak için güncelledim. Bugün, çoğu örnek aslında VPC'dir.
Eric Hammond

4

Yani, bilgilerinizden görebildiğim gibi, Elastik IP kullanmıyorsunuz gibi görünüyor.

Bu örneği göstermek için DNS'de CNAME kullanmanız gerektiğine inanıyorum. Makinenizi yeniden başlatırsanız, bu ec2-54-1-1-1.us-west-1.compute.amazonaws.comDNS adı değişir ve siteniz çalışmayı durdurur.

Dahili IP ile ilgili olarak, kullanmadığınız VPC'yi kullanmadığınız sürece de değişecektir.

Eğer sen olsaydım, bu Makineyi yeniden başlatmaya çok dikkat edeceğim.

Zamanla ilgili olarak, birkaç dakikadan fazla sürmez.

Ayrıca, DB örneğinde çalışan ve yalnızca bu dahili IP'nin DB'ye bağlanmasına izin veren iptables'ınız varsa, dahili IP'niz değişeceğinden de çalışmaz.

Bu nedenle, bu örneği yeniden başlatmak ve dikkatlice düşünmek istiyorsanız lütfen dikkatli olun.


2

Dahili IP / ana bilgisayar adınız değişecek ve Elastik IP'niz ayrılacaktır (Bir VPC'de değilseniz).

Örneği yeniden başlattıktan sonra Elastik IP'yi yeniden takın. Bunu düzenli olarak örnek boyutlarını değiştirmek için yapıyorum ve yalnızca birkaç dakikalık kesinti süresine bakıyorsunuz.

Apache'yi doğrulayın ve diğer tüm hizmetler başlatılacak şekilde ayarlayın ( chkconfigamazon linux ami kullanıyorsanız).


1

Hatırlayabildiğim kadarıyla, sistemin türünü değiştirmek ve tekrar başlatmak 5-10 dakikadan fazla sürmemelidir (EBS destekli bir sistem olduğu söylenmez). Sistem geri döndükten sonra hizmetlerin başlaması için, tüm hizmetlerin yeniden başlatıldığında başlatılmasını sağladığınızdan emin olun (ubuntu 12.04'teki kukla için / etc / default / kukla'da etkinleştirdim). IP'yi not edin (uzun zamandır geri aldım, bu yüzden net bir şekilde hatırlamıyorum) ve en çok IP'niz sistemden ayrılabilir, ancak yine de hesabınızda olurdu, bu yüzden Elastik IP bölümüne gidin ve tekrar sistemi yeniden başlattığınızda iyi olacaksınız.


1

Daha önce de belirtildiği gibi, elastik bir IP'niz varsa, örneğe yeniden eklenir, bu nedenle DNS ayarlarınıza dokunulması gerekmez. Ancak şu ya da bu şekilde özel IP'niz değişecektir. Bu muhtemelen GRANT ayarlarınızı mysql olarak güncellemeniz gerektiği anlamına gelecektir. Çünkü sen sadece GRANT ALL PRIVILEGES ON *.* to 'somedude'@'%'... değil mi? ;)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.