EC2 Spot ve İsteğe Bağlı Örneklerle Otomatik Ölçeklendirme?


13

Otomatik ölçeklendirme EC2 gruplarımızın, isteğe bağlı örnekler yerine spot örnekleri başlatmasını sağlayarak maliyetlerini optimize etmek istiyorum.

Gerçekten istediğim, spot örnek fiyatlandırma pazarında ne olursa olsun, gruptaki bazı sunucuları isteğe bağlı örnekler olarak tutabilmek. Sonra gruptaki herhangi bir ek sunucunun yapılandırılmış minimum değerimin üzerinde nokta örnekleri olmasını istiyorum. Ben genellikle spot istekleri ile sunucu ekleme gecikme ile iyiyim.

Bunu yapmak için herhangi bir yol bulamıyorum ve AWS belgelerini araştırmaya çalıştım. Bir ASG'nin isteğe bağlı veya yerinde olabileceği, ancak hibrit olamayacağı anlaşılıyor.

Otomatik ölçekleme grubuna atanan Elastik Yük Dengeleyicisine isteğe bağlı olarak el ile bir örnek ekleyebilirim, ancak daha sonra bu sunucunun yükü otomatik ölçekleme ölçümleri ve tetikleyicileri olarak değerlendirilmez.

Her zaman ihtiyacım olan sunucuları almamı sağlamak için gülünç yüksek teklif fiyatına girebileceğimi düşünüyorum, ancak daha sonra fiyatlandırma geçmişine bakıyorum ve zaman zaman büyük artışlar görüyorum.

AWS dokümantasyon kendisi ile çelişkilidir, çünkü bir yerde bir sunucu minimum girerseniz, bu sayının orada "garantili" olduğunu söyler. Ama sonra spot örnekleri okuduğunuzda, hiçbir güvence yok. Spot için fiyat farkı dikkat çekicidir, bu yüzden her zaman açık bir başlangıç ​​çizgisini korurken mümkün olduğu kadar kaldırabilmek istiyorum. Mümkün mü?

Yanıtlar:


1

Şu anda , tek ASG genelinde ondemand ve spot örneklerini karıştırabilirsiniz

Amazon EC2 Otomatik Ölçeklendirme, artık ölçek, performans ve maliyeti optimize etmek için satın alma seçenekleri, Kullanılabilirlik Bölgeleri (AZ) ve tek bir Otomatik Ölçekleme grubundaki (ASG) örnek aileleri arasında örnekleri sağlamanıza ve otomatik olarak ölçeklendirmenize olanak tanır. Artık hesaplamada% 90'a varan tasarruf sağlamak için İsteğe Bağlı Spot Örnekleri ve RI'ları tek bir ASG'ye dahil edebilirsiniz .


Evet - bu soruyu güncellediğiniz için teşekkür ederiz. Sizinkini bunun yeni kanonik cevabı olarak işaretledim.
platformlar

15

Yukarıda tartışılan yaklaşım biraz dağınık ve çok esnek değil. Daha kanonik yaklaşım sadece 2 ASG (biri spot, diğeri talep üzerine) oluşturmak ve her ikisini de aynı ELB'ye ( burada tartışılmıştır ) kaydetmektir . Bu, tek bir ASG'de LC swapları ile uğraşmaya çalışmak yerine her birini bağımsız olarak kontrol etme yeteneği verir.


7

Bu hibrit Otomatik Ölçeklendirme yaklaşımı maalesef kutudan çıkmış gibi görünmüyor.

Bununla birlikte, bu sınırlamayı aşağıdaki gibi çözebilirsiniz (denenmemiş, sadece bir süredir hokkabazlık yaptığım bir sistem tasarımı):

Potansiyel Çözüm

Spot Örneklerini Başlatmak için Otomatik Ölçeklemeyi Kullanma bölümünde açıklandığı gibi , spot fiyat teklifi, kullanımda bulunan Başlat Yapılandırmasının bir parametresidir . Belirttiğiniz gibi, hibrit başlatma yapılandırması yoktur , bunun yerine isteğe bağlı veya yerinde olması gerekir, yani kullanım durumu iki farklı başlatma yapılandırması gerektirir.

Bu hemen yardımcı olmuyor gibi görünüyor, çünkü Otomatik Ölçekleme grubuna aynı anda yalnızca bir başlatma yapılandırması ekleyebilir , aşağıdaki (kısmen eskimiş) kısıtlamalarla (bkz. Başlat Yapılandırma ):

Otomatik Ölçekleme grubunuza yeni veya güncellenmiş bir başlatma yapılandırması eklediğinizde, yeni örnekler yeni yapılandırma parametreleri kullanılarak başlatılır. Mevcut örnekler etkilenmez . Otomatik Ölçeklendirme'nin ölçeklendirilmesi gerektiğinde, önce daha eski bir başlatma yapılandırmasına sahip örnekleri sonlandırır . [benimkini vurgula]

Vurgulanan kısımlar eski ek spot fırlatma yapılandırmasına ilgili ilk on-demand fırlatma yapılandırmasından değiştirdikten sonra çalışan on-demand örneklerini tutmak için gereksinimi kapsayan, anahtar olsa, ve ikincisi mutlaka artık böyle olmaması nedeniyle kısa bir süre önce tanıtılan Otomatik Ölçeklendirme Sonlandırma Politikaları (bir değişiklik için, eşlik eden bir AWS blog yazısı aracılığıyla genellikle fanfare olmadı), Otomatik Ölçekleme Grubunuz için Örnek Sonlandırma Politikası'nda belgelenmiştir :

Otomatik Ölçekleme sonlanacak bir örneği seçmeden önce, ilk olarak grup tarafından kullanılan diğer Kullanılabilirlik Bölgelerinden daha fazla örneği olan Kullanılabilirlik Bölgesi'ni tanımlar. Tüm Kullanılabilirlik Bölgeleri aynı sayıda örneğe sahipse, rastgele bir Kullanılabilirlik Bölgesi tanımlar. Tanımlanan Kullanılabilirlik Alanı içinde, Otomatik Ölçekleme, sonlandırma örneğini seçmek için sonlandırma ilkesini kullanır . [benimkini vurgula]

Özetlendiği gibi Nasıl Fesih Politikası İşleri , artık belirtebilirsiniz NewestInstance , son başlattı örneği sonlandırılmalıdır istiyorsanız daha yakın zamanda başlatılan nokta örneklerinden biri olacağını,:

Otomatik Ölçekleme, en son başlatılan örneği tanımlamak için örnek başlatma zamanını kullanır.

Açıkçası daha buna biraz olabilir, örneğin ya bağımsız bir politika olarak politikalardan herhangi birini belirtebilirsiniz veya sıralı bir listede birden politikaları listeleyebilirsiniz , ancak bu yaklaşım ediliyor tüm örneklerinin yükü sağlamalıdır hesaba otomatik ölçeklendirme ölçümleri ve tetikleyiciler ; bir uyarı yine de kalır:

Uyarı

Yük dengeleyici isteğe bağlı örneklerden birini başka herhangi bir nedenle sonlandırırsa (örn. Kendi içinde sağlıksız hale geldiğinden), otomatik olarak isteğe bağlı bir örnekle değiştirilmez. Bu nedenle, örneğin isteğe bağlı başlatma yapılandırmasını geçici olarak etkinleştirerek bu etkinliği ayrı ayrı izlemeniz ve hesaba katmanız gerekir.

İyi şanslar!


2
Bu mantıklı - harika dedektiflik. Hala bir kesinti riski var, ancak görünüşe göre bu riski azaltmak için birkaç yeni yol keşfettiniz. Umarım bir gün ASG'ler için basit bir onay kutusuna sahip oluruz, "Sunucu minimumunda veya altında bulunan örnekler İsteğe Bağlı örneklerdir." Teşekkürler!
platformlar

1

Https://github.com/ashwanthkumar/matsya bulmak için buradaki cevaplardan ilham aldım

Aşağıdakileri yapmanıza yardımcı olur

  • Hadoop / Mesos / YARN küme gereksinimleriniz için daima bir makine filosuna ihtiyacınız vardır
  • Spot'u kullanarak paradan tasarruf etmek, aynı zamanda OD'ye geri dönüş yapmak istiyorsunuz, çünkü SLA'nızı karşılamak için işlem gücüne ihtiyacınız var
  • Paradan tekrar tasarruf etmek için OD'de bir kez Spot'a geri dönün.


Cevap, faydalı olabileceği iyi niyetlerle paylaşıldı. Kendini terfi olarak bulursanız cevabı silebilirim.
ashwanthkumar

Cevabınızın gerçek spam olduğunu düşünmüş olsaydım, zaten bu şekilde işaretlerdim, bu yüzden yayınınızı silmenize gerek yok. Ürün tanıtım bağlantısı, bu tür bir yanıtın değerli olabilmesine rağmen, sizin gibi nispeten yeni kullanıcıların genellikle farkında olmadığı ince bir denge olduğu konusunda daha belirgindir. Ve bir moderatör olarak, şimdi bilmediğiniz herhangi bir çizgiyi geçmeden önce (bu talihsiz bir yinelenen desen) sizi eğitmeyi tercih ediyorum
HBruijn

Mantıklı. Politikaya yön verdiğiniz için teşekkür ederiz.
ashwanthkumar

1

Statik olarak isteğe bağlı örnek sayısına sahip yalnızca 1 ASG istiyorsanız, aşağıdakilerin çalışması gerekir:

  • Spot Örneği Başlat yapılandırmasına dayalı olarak Otomatik Ölçekleme grubu oluşturun.

  • ASG'de Otomatik Ölçeklemeyi Askıya Al

  • ASG'ye manuel olarak isteğe bağlı örnekler (statik taban yükü) ekleyin ve bu örnekler için örnek korumasını açın.

  • ASG'de Otomatik Ölçeklendirmeyi Sürdür

  • Varsayılan otomatik ölçeklendirme ilkesi artık isteğe bağlı örnekleri (koruma nedeniyle) yok sayacak ve istenen grup sayısını elde etmek için isteğe bağlı örnekle aynı sayıda nokta örneğini sonlandıracaktır. Genişletme veya küçültme etkinlikleri yalnızca spot örnekleri başlatır veya sonlandırır.

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.