Bu konu, Auto Scaling'in yaşam döngüsü kancası özelliği ile bir CloudOps Orchestration Service (OOS) şablonunun nasıl birleştirileceğini açıklar. Bu yöntemle Elastic Compute Service (ECS) örnekleri önce Bekliyor durumuna alınır; ardından örnek IP adreslerinin PolarDB kümelerinin IP adresi izin listelerine eklenmesi veya bu listelerden kaldırılması işlemi otomatikleştirilir.
Ön koşullar
Bir ölçeklendirme grubu oluşturulmuş ve Etkin durumdadır.
Bir PolarDB kümesi oluşturulmuştur.
-
OOS için bir Resource Access Management (RAM) rolü oluşturulmuştur. RAM rolünün güvenilir varlığı Alibaba Cloud Service olmalı, güvenilir hizmet CloudOps Orchestration Service olarak ayarlanmalı ve RAM rolünün OOS şablonunda işlem gerçekleştirmek için gerekli izinlere sahip olması gerekir. Daha fazla bilgi için bkz. OOS için RAM rolü oluşturma ve izin verme.
NotBu konuda örnek olarak OOSServiceRole RAM rolü kullanılmıştır. Farklı roller de kullanabilirsiniz.
Arka plan
Auto Scaling şu anda yalnızca Server Load Balancer (SLB) ve ApsaraDB RDS ile entegrasyonu destekler. Uygulama verilerinizi bir PolarDB kümesinde depoluyorsanız, ECS örneklerinin özel IP adresleriyle küme IP adresi izin listesini manuel olarak güncellemek operasyonel süreçlerin verimsiz yürütülmesine neden olur. Operasyonel verimliliği artırmak için Auto Scaling'in yaşam döngüsü kancası özelliği ile bir OOS şablonunu birleştirerek PolarDB kümeniz için IP adresi izin listesi güncellemelerini otomatikleştirmeyi düşünebilirsiniz.
Yordam
Bu örnekte, bir ölçek genişletme olayı sırasında örnek IP adreslerinin PolarDB kümesinin IP adresi izin listesine otomatik olarak eklenmesini göstermek için ACS-ESS-LifeCycleModifyPolarDBIPWhitelist adlı genel bir OOS şablonu kullanılır. Aşağıdaki adımları uygulayın:
Örnek IP adreslerini PolarDB kümenizin IP adresi izin listesinden otomatik olarak kaldırmak istiyorsanız, ölçek daraltma amaçlı bir yaşam döngüsü kancası oluşturabilir ve bu kancayı bir ölçek daraltma olayı sırasında uygulayabilirsiniz.
1. Adım: Bir RAM rolüne OOS izinleri verin
OOS şablonlarını çalıştırma iznine sahip olmanız gerekir. ACS-ESS-LifeCycleModifyPolarDBIPWhitelist şablonu, bakım ve onarım görevlerini gerçekleştirmek için gereken ECS, Auto Scaling ve PolarDB kaynaklarını içerir.
RAM konsolu üzerinde oturum açın.
-
Bir ilke oluşturun.
Sol gezinme bölmesinde seçeneklerini seçin.
Policies sayfasında Create Policy öğesini tıklayın.
-
Create Policy sayfasında JSON sekmesini tıklayın, parametreleri yapılandırın ve OK öğesini tıklayın.
Aşağıdaki tabloda bu örnekte kullanılan ayarlar açıklanmıştır. Aşağıdaki tabloda yer almayan parametreler varsayılan ayarlarına göre uygulanır.
Parameter
Description
Name
ESSHookPolicyForPolarDBWhitelist girin.
Policy Document
Aşağıdaki içeriği girin:
{ "Version": "1", "Statement": [ { "Action": [ "ecs:DescribeInstances" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "polardb:DescribeDBClusterAccessWhitelist", "polardb:ModifyDBClusterAccessWhitelist" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ess:CompleteLifecycleAction" ], "Resource": "*", "Effect": "Allow" } ] }
-
İlkeyi OOSServiceRole RAM rolüne atayın.
Sol gezinme bölmesinde seçeneklerini seçin.
-
OOSServiceRole RAM rolünü bulun ve Actions sütununda Grant Permission öğesini tıklayın.
Yetkilendirmeyi tamamlamak için OOS tarafından üstlenilen OOSServiceRole RAM rolüne gerekli izinleri ekleyin.
-
Grant Permission sayfasında kaynak kapsamını ve ilkeyi yapılandırın, ardından Grant Permission öğesini tıklayın.
Aşağıdaki tabloda bu örnekte kullanılan ayarlar açıklanmıştır. Aşağıdaki tabloda yer almayan parametreler varsayılan ayarlarına göre uygulanır.
Parameter
Description
Resource Scope
Değeri Account olarak ayarlayın.
Policies
Aşağıdaki özel ilkeyi seçin: ESSHookPolicyForPolarDBWhitelist.
2. Adım: Ölçek genişletme amaçlı bir yaşam döngüsü kancası oluşturun ve bir ölçek genişletme olayını tetikleyin
Auto Scaling konsolu üzerinde oturum açın.
Soldaki gezinme bölmesinde Scaling Groups öğesini tıklayın.
Üst gezinme çubuğunda bir bölge seçin.
-
Yönetmek istediğiniz ölçeklendirme grubunu bulun ve ayrıntılar sayfasını aşağıdaki yollardan biriyle açın:
Scaling Group Name/ID sütununda ölçeklendirme grubunun kimliğini tıklayın.
Actions sütununda Details öğesini tıklayın.
-
Bir yaşam döngüsü kancası oluşturun.
Sayfanın üst kısmında Events and Lifecycle Hooks sekmesini tıklayın.
Create Lifecycle Hook öğesini tıklayın.
-
Yaşam döngüsü kancası parametrelerini yapılandırın ve OK öğesini tıklayın.
Aşağıdaki tabloda bu örnekte kullanılan ayarlar açıklanmıştır. Aşağıdaki tabloda yer almayan parametreler varsayılan ayarlarına göre uygulanır.
Parameter
Description
Name
ESSHookForAddPolarDBWhitelist girin.
Scaling Activity Type
Scale-Out seçeneğini belirleyin.
Timeout Period
Zaman aşımı süresini iş gereksinimlerinize göre yapılandırın. Bu örnekte değer 300 olarak ayarlanır. Birim: saniye.
NotZaman aşımı süresi, örneklerde özel işlemler gerçekleştirebileceğiniz zaman aralığıdır. Zaman aşımı süresi özel işlemlerin tamamlanması için gereken süreden kısa olursa işlemler başarısız olabilir. Örneklerdeki özel işlemlerin tamamlanması için gereken süreyi tahmin etmenizi ve buna göre Zaman aşımı süresini yapılandırmanızı öneririz.
Default Execution Policy
Continue seçeneğini belirleyin.
Send Notification When Lifecycle Hook Takes Effect
Şablon için aşağıdaki parametreleri yapılandırın:
-
Bildirim Yöntemi: OOS Template seçeneğini belirleyin.
-
OOS Şablon Türü: Public Templates seçeneğini belirleyin.
ACS-ESS-LifeCycleModifyPolarDBIPWhitelist seçeneğini belirleyin.
ACS-ESS-LifeCycleModifyPolarDBIPWhitelist genel şablonunda ayrıca aşağıdaki parametreleri yapılandırmanız gerekir:
dbClusterId: PolarDB kümesinin kimliğini girin.
modifyMode: Ekle seçeneğini belirleyin. Bu değer, Auto Scaling'in ECS örneklerinizin özel IP adreslerini PolarDB kümesinin IP adresi izin listesine eklediği ölçek genişletme olayı için geçerlidir.
OOSAssumeRole: OOSServiceRole seçeneğini belirleyin. 1. Adım'da OOSServiceRole'a ECS, Auto Scaling ve PolarDB kaynakları için izinler verilmiştir. OOS, RAM rolünü üstlendikten sonra söz konusu izinleri alır.
-
-
Bir ölçek genişletme olayını tetikleyin.
Bu örnekte bir ölçek genişletme olayı, bir ölçeklendirme kuralı çalıştırılarak manuel olarak tetiklenir. Ölçek genişletme olaylarını zamanlanmış veya olaya dayalı görevler kullanarak da tetikleyebilirsiniz.
NotÖlçeklendirme kurallarını manuel olarak çalıştırdığınızda ölçeklendirme olayları tetiklenirse yaşam döngüsü kancaları etkinleşir. Ancak bir ölçeklendirme grubuna manuel olarak ECS örnekleri eklediğinizde veya gruptan kaldırdığınızda yaşam döngüsü kancaları etkinleşmez.
Scaling Rules and Event-triggered Tasks sekmesini tıklayın.
Scaling Rules sekmesinde Create Scaling Rule öğesini tıklayın.
-
Ölçeklendirme kuralının özelliklerini ayarlayın ve OK öğesini tıklayın.
Aşağıdaki tabloda bu örnekte kullanılan ayarlar açıklanmıştır. Aşağıdaki tabloda yer almayan parametreler varsayılan ayarlarına göre uygulanır.
Parameter
Description
Rule Name
Add1 girin.
Rule Type
Simple Scaling Rule seçeneğini belirleyin.
Operation
Değeri Add 1 Instances olarak ayarlayın. Ölçeklendirme kuralları listesinde oluşturduğunuz Add1 kuralını bulun ve Actions sütununda Recurrently öğesini tıklayın.
OK öğesini tıklayın.
Ölçeklendirme kuralı çalıştırıldıktan sonra Auto Scaling, ölçeklendirme grubuna bir ECS örneği ekler. Ancak yürürlükteki ESSHookForAddPolarDBWhitelist yaşam döngüsü kancası nedeniyle ECS örneği Bekleyen Ekleme durumuna girer. Yaşam döngüsü kancasının zaman aşımı süresi boyunca Auto Scaling, ACS-ESS-LifeCycleModifyPolarDBIPWhitelist genel şablonunda tanımlanan bakım ve onarım görevlerini yürütmesi için OOS'u bilgilendirir.
3. Adım: PolarDB kümesinin IP adresi izin listesini kontrol edin
PolarDB konsolu üzerinde oturum açın.
Soldaki gezinme bölmesinde Clusters öğesini tıklayın.
PolarDB kümesini bulun ve Cluster ID/Name sütununda kümenin kimliğini tıklayın.
-
Soldaki gezinme bölmesinde seçeneklerini seçin.
ECS örneğinin özel IP adresi PolarDB kümesinin IP adresi izin listesine eklendiyse ACS-ESS-LifeCycleModifyPolarDBIPWhitelist genel şablonu etkili olur.
ECS örneği oluşturulduysa ancak özel IP adresi PolarDB kümesinin IP adresi izin listesine eklenmediyse bakım ve onarım görevlerinin yürütülmesini görüntülemek için OOS konsoluna gidin. Daha fazla bilgi için bkz. 4. Adım: (İsteğe bağlı) OOS yürütmesini görüntüleme.
4. Adım: (İsteğe bağlı) OOS yürütmesini görüntüleyin
OOS konsolu üzerinde oturum açın.
Sol gezinme bölmesinde seçeneklerini seçin.
Yürütme görevini zamana göre bulun ve Actions sütununda Details öğesini tıklayın.
-
Görüntülenen yürütme ayrıntıları sayfasında ilgili bilgileri görüntüleyin.
Örneğin, Basic Information bölümünde yürütme kimliğini ve durumunu görüntüleyebilirsiniz. Execution Result bölümünde ayrıntılarını görüntülemek için bir görev düğümünü tıklayabilirsiniz. Daha fazla bilgi için bkz. Bir yürütmenin ayrıntılarını görüntüleme.
NotYürütme başarısız olursa yürütme ayrıntıları sayfasında bir hata iletisi görüntülenir.
SSS
Bir bakım ve onarım görevini çalıştıramazsanız sorunu yürütme sonucundaki hata iletisine göre giderin. Daha fazla bilgi için bkz. SSS.
Aşağıdaki tabloda yaygın hata iletisi açıklanmaktadır.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|