Başlatma Şablonları ve ASG Yapılandırması
Doğru AMI, örnek türü ve kullanıcı verileriyle bir başlatma şablonu oluşturacak, ardından bunu minimum, maksimum ve istenen kapasiteye sahip bir Otomatik Ölçeklendirme Grubuna bağlayacaksınız.
Başlatma Şablonları ve ASG Yapılandırması, CoddyKit'te ücretsiz bir AWS Solutions Architect dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AWS Solutions Architect öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AWS Solutions Architect kursu toplamda 4 dersten oluşur.
Başlatma Şablonu Nedir?
Başlatma şablonu, Auto Scaling Groups'e (ve doğrudan EC2'ye) örneklerin nasıl başlatılacağını bildiren, sürümlendirilmiş bir plandır. AMI ID, örnek türü, anahtar çifti, güvenlik grupları ve isteğe bağlı kullanıcı verilerini yeniden kullanılabilir tek bir belgede toplar. Eski Başlatma Yapılandırmasının aksine, Başlatma Şablonu birden çok sürümü destekler ve ASG değiştirilmeden güncellenebilir.
CLI ile Başlatma Şablonu Oluşturma
AWS CLI kullanarak create-launch-template ile bir Başlatma Şablonu oluşturabilirsiniz. --launch-template-data parametresi, tüm örnek ayarlarını tanımlayan bir JSON nesnesi kabul eder. Sürüm oluşturma, çalışan örnekleri siz dağıtıma hazır olana kadar etkilemeden şablon üzerinde yineleme yapmanıza olanak tanır.
aws ec2 create-launch-template \
--launch-template-name 'MyAppTemplate' \
--version-description 'v1 initial' \
--launch-template-data '{
"ImageId": "ami-0abcdef1234567890",
"InstanceType": "t3.medium",
"KeyName": "my-key-pair",
"SecurityGroupIds": ["sg-0123456789abcdef0"],
"UserData": "IyEvYmluL2Jhc2gKZWNobyAnSGVsbG8n"
}'Başlatma Şablonu Sürümleri ve Varsayılanlar
Her Başlatma Şablonu 1. sürümden başlar. Yeni bir sürüm oluşturduğunuzda yalnızca değişen alanları geçersiz kılabilirsiniz; diğer tüm ayarlar kaynak sürümden devralınır. ASG'yi $Latest sürümünü (her zaman en yeni sürüm) veya $Default sürümünü (açıkça belirlenmiş sürüm) kullanacak şekilde yapılandırabilirsiniz. $Default kullanmak kontrollü dağıtımlar sağlar; $Latest ise geliştirme ortamlarında kullanışlıdır.
# Create a new version based on version 1, changing only instance type
aws ec2 create-launch-template-version \
--launch-template-name 'MyAppTemplate' \
--source-version 1 \
--launch-template-data '{"InstanceType": "t3.large"}'Otomatik Ölçeklendirme Grubu Temel Kavramları
Bir Otomatik Ölçeklendirme Grubu (ASG), EC2 bulut sunucularından oluşan bir filoyu tanımlı sınırlar içinde tutar: minimum (alt sınır), maximum (üst sınır) ve desired capacity (her an için hedef sayı). Bulut sunucuları durum denetimlerinde başarısız olduğunda veya ölçeklendirme ilkesi tetiklendiğinde ASG, filonun minimum ve maksimum arasında istenen sayıda kalmasını sağlamak için bulut sunucularını otomatik olarak başlatır veya sonlandırır.
Başlatma Şablonuna Bağlı ASG Oluşturma
Bir ASG oluştururken doğrudan belirli bir AMI'ye değil, bir Başlatma Şablonuna başvurursunuz. Ayrıca bulut sunucularının başlatılacağı VPC alt ağlarını da belirtirsiniz. Birden fazla alt ağa (her AZ için bir tane) dağıtım yapmak, yerleşik çoklu AZ yedekliliği sağlar: Bir AZ başarısız olursa ASG, kalan AZ'lerdeki yedek bulut sunucularını otomatik olarak başlatır.
aws autoscaling create-auto-scaling-group \
--auto-scaling-group-name 'MyAppASG' \
--launch-template 'LaunchTemplateName=MyAppTemplate,Version=$Default' \
--min-size 2 \
--max-size 10 \
--desired-capacity 4 \
--vpc-zone-identifier 'subnet-aaa111,subnet-bbb222,subnet-ccc333'ASG Durum Denetimleri: EC2 ve ELB
Varsayılan olarak bir ASG, yalnızca bir bulut sunucusu durdurulduğunda, sonlandırıldığında veya hipervizör başarısız olduğunu bildirdiğinde sunucuyu sağlıksız olarak işaretleyen EC2 durum denetimlerini kullanır. Bir yük dengeleyici bağladığınızda, çalışan ancak HTTP 5xx hataları döndüren bulut sunucularının ASG tarafından değiştirilmesi için ELB durum denetimlerine geçmelisiniz. Bu, sınavlarda sık sorulan bir sorudur: Mimaride bir yük dengeleyici varsa her zaman ELB durum denetimlerini seçin.
# Enable ELB health checks on an existing ASG
aws autoscaling update-auto-scaling-group \
--auto-scaling-group-name 'MyAppASG' \
--health-check-type ELB \
--health-check-grace-period 300Kapasite Ayarları: Minimum, Maksimum, İstenen
Doğru kapasite sınırlarını belirlemek kritik öneme sahiptir. Minimum, uygulamanızın her zaman trafik sunabilmesini sağlar (bu değerin altına asla inilmez). Maksimum, hizmet sınırlarını veya bütçeyi tüketebilecek kontrolden çıkmış ölçeklendirmeyi önler. İstenen kapasite başlangıç hedefidir; ölçeklendirme ilkeleri bunu dinamik olarak ayarlar. min=max=desired olarak ayarlarsanız ASG sabit boyutlu bir grup gibi davranır; bu, başlatma şablonu dağıtımları veya sabitlenmiş kapasite için kullanışlıdır.
ASG'ye ALB Hedef Grubu Bağlama
Web katmanı uygulamaları için ASG'yi bir Application Load Balancer hedef grubuna bağlayın. ASG tarafından başlatılan her yeni bulut sunucusu hedef grubuna otomatik olarak kaydedilir ve sonlandırılan bulut sunucularının kaydı otomatik olarak kaldırılır. Böylece trafik yalnızca sağlıklı ve çalışan bulut sunucularına yönlendirilir. Ayrıca ASG'nin yük dengeleyici düzeyindeki arızalardan haberdar olması için durum denetimi türünü ELB olarak ayarlamanız gerekir.
aws autoscaling attach-load-balancer-target-groups \
--auto-scaling-group-name 'MyAppASG' \
--target-group-arns 'arn:aws:elasticloadbalancing:us-east-1:123456789012:targetgroup/MyTG/abc123'Başlatma Şablonlarında Kullanıcı Verileri
Kullanıcı verileri, bir bulut sunucusu ilk kez başlatıldığında bir kez çalışan, kabuk betiği biçiminde (Base64 ile kodlanmış) verilerdir. Başlatma Şablonunda paketleri yüklemek, aracıları (CloudWatch, SSM) yapılandırmak ve uygulama kodunu almak için doğru yerdir. Kullanıcı verilerini eşlenik tutun; birden fazla kez güvenle çalıştırılabilen betikler, bulut sunucusu yenileme sırasında oluşabilecek sorunları önler. Karmaşık kurulumlarda büyük betikleri gömmek yerine AWS Systems Manager'ı veya bir yapılandırma yönetimi aracını çağırın.
#!/bin/bash
yum update -y
yum install -y amazon-cloudwatch-agent
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \
-a fetch-config -m ec2 -c ssm:/MyApp/CWConfig -s
# Start application
cd /opt/myapp && ./start.shDaha Hızlı Ölçeklendirme İçin Sıcak Havuzlar
Bir Sıcak Havuz, ASG dışında, hazır durumda bulunan bir grup durdurulmuş (veya çalışan) EC2 bulut sunucusunu önceden başlatır. ASG'nin kapasiteyi artırması gerektiğinde, soğuk bulut sunucuları başlatmak yerine sıcak havuzdan yararlanır; böylece kapasite eklemek için gereken süre önemli ölçüde azalır. Sıcak havuzdaki bulut sunucuları durdurulmuş durum maliyetlerine tabidir (yalnızca EBS maliyeti vardır, CPU ücreti yoktur); bu nedenle tamamen çalışan yedekleri tutmaktan çok daha ucuzdur.
Sonlandırma İlkeleri ve AZ Dengesi
ASG kapasiteyi azalttığında hangi bulut sunucularının sonlandırılacağına karar vermelidir. Varsayılan sonlandırma ilkesi, yeniden dengeleme amacıyla önce en fazla bulut sunucusuna sahip AZ'yi, ardından en eski başlatma şablonunu ve son olarak faturalandırma saatine en yakın bulut sunucusunu seçer. Bu sırayı özelleştirebilirsiniz; örneğin güncel olmayan yapılandırmaları çalıştıran bulut sunucularını önce kaldırmak için OldestLaunchTemplate seçeneğini kullanabilirsiniz. ASG ayrıca bir alt ağ kullanılabilir hale geldikten veya manuel değişiklikler yapıldıktan sonra AZ yeniden dengelemesini otomatik olarak gerçekleştirir.
Kısa Kontrol
Bu dersteki AWS Solutions Architect (SAA-C03) kavramlarını anlayıp anlamadığınızı test edin.
Ders Özeti
Bu derste şunları öğrendiniz: Başlatma Şablonları, birden fazla sürümü ve $Latest/$Default sürüm işaretçilerini destekleyen, sürümlendirilmiş ve yeniden kullanılabilir bir bulut sunucusu taslağı sağlar; ASG kapasite sınırları (min/max/desired), alt ağlar arasında otomatik çoklu AZ dağıtımıyla filo boyutunu yönetir; bir ASG yük dengeleyicinin arkasındayken uygulama düzeyindeki arızaların değiştirmeyi tetiklemesi için ELB durum denetimleri etkinleştirilmelidir. Sırada hedef izleme ve adımlı ölçeklendirme dahil olmak üzere ölçeklendirme ilkelerini inceleyeceğiz.
Yapay zeka eğitmeniyle AWS Solutions Architect öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 30
- Dersler
- 120
Sıkça Sorulan Sorular
“Başlatma Şablonları ve ASG Yapılandırması” dersi ücretsiz mi?
Evet — “Başlatma Şablonları ve ASG Yapılandırması” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AWS Solutions Architect kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AWS Solutions Architect kursu toplamda 4 dersten oluşur.
“Başlatma Şablonları ve ASG Yapılandırması” dersinde ne öğreneceğim?
Doğru AMI, örnek türü ve kullanıcı verileriyle bir başlatma şablonu oluşturacak, ardından bunu minimum, maksimum ve istenen kapasiteye sahip bir Otomatik Ölçeklendirme Grubuna bağlayacaksınız. AWS Solutions Architect ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
AWS Solutions Architect öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te AWS Solutions Architect, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Başlatma Şablonları ve ASG Yapılandırması” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu AWS Solutions Architect dersinde kod yazıp çalıştırabilir miyim?
Evet. Her AWS Solutions Architect dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Başlatma Şablonları ve ASG Yapılandırması
- Ölçeklendirme İlkeleri: Hedef İzleme ve Adımlı Ölçeklendirme
- Zamanlanmış Ölçeklendirme ve Öngörülü Ölçeklendirme
- Örnek Yenileme ve Yaşam Döngüsü Kancaları