Amazon EC2 Windows bulut sunucularının başlatılmasını hızlandırma


16

EC2 üzerinde barındırılan ve yüke bağlı olarak, çalışanların değişen sayıda olması gereken bir Web hizmeti üzerinde çalışıyorum. Temel hizmetimiz çalışıyor ve çalışıyoruz, ancak uğraştığımız şeylerden biri, bir Windows örneği sağlamak ve başlatmak için gereken süredir (yalnızca Windows'ta çalışan bazı üçüncü prty araçlarını kullanıyoruz). Ben 10 dakika kadar 45 dakika oldukça şaşırtıcı bir yere almak gördüm.

Bir EC2 vakasının lansmanını nasıl hızlandıracağına dair ipucu var mı? Windows sunucuları için AMI'ler Linux AMI'lerine kıyasla büyük olduğundan, AMI içeren S3 grubunun örneğin başlatıldığı aynı bölgede bulunduğundan emin olmak için bir şey olup olmadığını merak ediyorum. yeni örneği sağlamayı daha hızlı hale getirin.

Yanıtlar:


8

Dün gece bir vanilya Windows 2003 sunucusunun 3 örneğini kurdum. İlk ikisi yaklaşık 45 dakika sürdü, üçüncüsü, yaklaşık bir saat sonra, hazır olmadan önce tam 2 saat sürdü!

S3 kullanımı olmadan bunların hiçbirinde hiçbir şey yoktu. Amazon'un zaman içinde dağıtım hızı iyileştirmeleri yapmasını beklemek dışında bu temel adımı hızlandırmanın bir yolu olduğundan şüpheliyim. Bu nedenle, belirli bir gecikmenin bekleneceği ve Kurt'un tavsiyesinin iyi olduğu sonucuna varabilirim, bu da önceden hazırlanmış 1 veya 2'yi yedekte tutmaktır.

Yapabileceğiniz başka bir şey, birkaç kez AMI türünüzün yeni bir örneğini oluşturmaktır. Ardından, S3 depolama alanınızla birkaç kez deneyin ve ne kadar zaman harcadığını görün. Ne kadar zaman farkı yapacağımı bilmesem de, kullanılabilirlik bölgesinin görüntü ile S3 arasında eşleşmesi gerektiğini varsayıyorum.

Tedarik için maksimum süreyi belirledikten sonra, yük / kullanımdan bu kadar dakika önce ilerleyin.


Öneriler için teşekkürler - 2 saat oldukça aşırı. Bu soruyu sorduğumdan beri fark ettiğim bir şey, EC2'nin bazen Windows örneklerini başlatmadan hemen sonra yeniden başlatmasıdır. Bunun neden olduğunu bilmiyorum (bazı örneklerin neden bazılarının neden yeniden başlatılmasına ilişkin bir model bulamadım), ancak başlangıç ​​zamanına 5 veya 10 dakika daha ekleyebilir.
gareth_bowles

2
@gareth - bunun nedeni, makinenin ağdaki başka bir adla aynı ada sahip olmasıdır (yani, bir görüntüdür). EC2ConfigService bunu algılar, yeni bir ad atar ve yeniden başlatır. Yüklü ec2config yapılandırma yardımcı programıyla bunu devre dışı bırakabilirsiniz.
Kieren Johnstone

20

"EC2 Config" windows hizmetinin varsayılan yapılandırması, ana makinenizi örneğin dahili DNS adına yeniden adlandırmak olduğundan, Amazon windows örnekleri başlangıçta yeniden başlatılır. Ana bilgisayarların yeniden adlandırılması pencerelerde yeniden başlatılmasını gerektirir. Örneğinizin dahili DNS adını kullanmanız gerekmiyorsa, SetComputerName özelliğini devre dışı bırakarak faydalanabilirsiniz. Windows örnekleri ayrıca, yapılandırmanızı yeniden paketlemiş olabileceğiniz başlangıç ​​sürücülerini başlatmak zorunda kalmama avantajına da sahiptir. Bütün bunlar EC2 Windows Yapılandırma Hizmeti ile mümkündür.

Windows Yapılandırma Hizmeti: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/appendix-windows-config.html

Windows küçük bulut sunucularımın önyüklemesi normalde 15-18 dakika sürer (büyük olanlar daha hızlıdır). Gereksinimlerinize bağlı olarak, tüm yazılımlarınızı AMI içinde paketleyebilir ve her şeyin o dönemde açılıp çalışmasını sağlayabilirsiniz. Her şeyi bir AMI'ye paketlememeye yönelik rezervasyonları anlıyorum, ancak her birinde paketlenmiş üretim AMI'larına sahip olmak için başlangıç ​​zamanındaki iyileştirmeye değer olabilir. Derleme ortamlarınızda isterseniz derleme komut dosyalarını ayrı tutun.

Ayrıca, Amazon artık örnek deposu kök birimlerinin aksine EBS kök birimlerini yayınladı. Bir EBS biriminde çalışan Windows küçük görüntüleri, daha önce aldığı yaklaşık 20 dakikaya kıyasla neredeyse 5 dakika içinde açılır. Ayrıca, sonlandırmanıza gerek yoktur - bunları durdurabilir / başlatabilirsiniz - kurulumunuza bağlı olarak bu, bazı başlatma komut dosyalarında birkaç dakika daha tıraş olur.

Temel olarak Windows EC2 Config hizmetinizi özelleştirmek, AMI'niz ve potansiyel olarak bir EBS önyükleme birimi kullanmak başlangıç ​​sürelerini neredeyse 5 dakikaya indirmelidir. Özellikle geliştirme amacıyla, uygulamanıza bağlı olarak bir ec2 örneği başlangıcında çalışan sysprep'ten kaçınabilirsiniz. Başlangıçta bir ana bilgisayar adı değişikliğini önleyen sysprepped olmayan bir m1.large görüntüsü yaklaşık 2 dakika içinde başlayabilir ve bu hiç de kötü değildir.

Şu anda, anladığım kadarıyla, Amazon EC2'de Windows ile yapabileceğiniz en iyisi bu ama gerçekten çok kötü değil. Ortalama kullanım şekillerine göre geleceğe 10 dakikaya kadar tahmin edebiliyorsanız, fazladan örnekleri döndürebilir ve ek yükü kaldırabilirsiniz.


Dahili ana bilgisayar yeniden adlandırma harika bir ipucu - teşekkürler! EBS kök birimlerini de denemek istiyorum, en azından yedeklemeleri çok daha kolay hale getireceği için. Sanırım ortalama 10 dakikalık bir başlangıç ​​zamanı tahmin etmeliyim; bu kendi başına böyle bir sorun değil, ama başlangıç ​​zamanlarının yüksek değişkenliği hala gerçek bir acı.
gareth_bowles

Bu AWS belgelerinde referans gösterilmelidir.
Peter Mounce

4

Minimum bir sistem var, mümkün olduğunca EBS tutmak tutmak yardımcı olabilir mi? Ya da belki de Apache tarzı bir yaklaşımı benimseyip yedekte bir veya iki tane mi çalıştırıyorsunuz?


4

Bu tam sorunla karşılaştık, ancak çok ciddi bir şekilde - yeni girişimimiz Amazon EC2'yi bir Sanal Laboratuvar ortamına (çok kullanıcılı, politikalar, paylaşım vb.) Genişletti ve bu nedenle başlangıç ​​zamanını hızlandırmamız gerekiyordu. Windows makineleri. En büyük kararımız, uygulamamızda yalnızca EBS tabanlı birimleri desteklemekti, çünkü 5-10 dakika içinde başlayabilenler sadece bunlardı. Testlerimizde, örnek deposu başlatma sürelerinin büyük ölçüde değiştiğini ve bazen aşırı zaman aldıklarını gördük, bu da onları bizim için işe yaramaz hale getirdi.

EC2'de Simon @ LabSlice Sanal Laboratuar Yönetimi

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.