全部产品
Search
文档中心

Auto Scaling:Secara otomatis menambahkan atau menghapus alamat IP pribadi dari instance ECS ke/dari daftar putih IP cluster AnalyticDB for MySQL

更新时间:Jul 02, 2025

Topik ini menjelaskan cara menggabungkan fitur panggilan balik siklus hidup dari Auto Scaling dengan template CloudOps Orchestration Service (OOS) untuk menempatkan instance Elastic Compute Service (ECS) ke dalam status Pending, serta mengotomatiskan tugas penambahan atau penghapusan alamat IP instance ke atau dari daftar putih alamat IP cluster AnalyticDB for MySQL.

Prasyarat

  • Grup penskalaan telah dibuat dan berada dalam status Diaktifkan.

  • Cluster AnalyticDB for MySQL telah dibuat.

  • Peran RAM telah dibuat untuk OOS. Entitas tepercaya dari peran RAM harus Alibaba Cloud Service, layanan tepercaya harus CloudOps Orchestration Service, dan peran RAM harus memiliki izin untuk melakukan operasi pada template OOS. Untuk informasi lebih lanjut, lihat Buat Peran RAM untuk OOS dan Berikan Izin.

    Catatan

    Dalam topik ini, peran RAM OOSServiceRole digunakan sebagai contoh. Anda juga dapat menggunakan peran lainnya.

Informasi latar belakang

Auto Scaling saat ini hanya mendukung integrasi dengan Server Load Balancer (SLB) dan ApsaraDB RDS. Jika Anda menyimpan data aplikasi di cluster AnalyticDB for MySQL, memperbarui daftar putih IP cluster secara manual dengan alamat IP pribadi instance ECS Anda mengarah pada operasi yang tidak efisien. Untuk meningkatkan efisiensi operasional, pertimbangkan untuk mengotomatiskan pembaruan daftar putih IP untuk cluster AnalyticDB for MySQL Anda dengan menggabungkan fitur hook siklus hidup Auto Scaling dan template OOS.

Prosedur

Dalam contoh ini, template OOS publik bernama LifeCycleModifyAnalyticDBIPWhitelist digunakan untuk menunjukkan cara mengotomatiskan penambahan alamat IP instance ke daftar putih IP cluster AnalyticDB for MySQL selama acara skala keluar. Lakukan langkah-langkah berikut:

Catatan

Jika Anda ingin mengotomatiskan penghapusan alamat IP instance dari daftar putih IP cluster AnalyticDB for MySQL, Anda dapat membuat hook siklus hidup untuk tujuan skala masuk dan menerapkan hook siklus hidup selama acara skala masuk.

Langkah 1: Berikan peran RAM izin pada OOS

Anda harus memiliki izin untuk mengeksekusi template OOS. Template ACS-ESS-LifeCycleModifyAnalyticDBIPWhitelist mencakup sumber daya ECS, Auto Scaling, dan AnalyticDB for MySQL yang diperlukan untuk melaksanakan tugas O&M.

  1. Masuk ke Konsol RAM.

  2. Buat Kebijakan.

    1. Di panel navigasi kiri, pilih Permissions > Policies.

    2. Pada halaman Kebijakan, klik Create Policy.

    3. Pada halaman Create Policy, klik tab JSON, konfigurasikan parameter sesuai kebutuhan bisnis Anda, lalu klik OK.

      Tabel berikut menjelaskan pengaturan yang digunakan dalam contoh ini. Parameter apa pun yang tidak tercakup dalam tabel berikut menggunakan pengaturan default mereka.

      Parameter

      Deskripsi

      Name

      Masukkan ESSHookPolicyForAnalyticDBWhitelist.

      Policy document

      Masukkan konten berikut:

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "ecs:DescribeInstances"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "adb:ModifyDBClusterAccessWhiteList"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "ess:CompleteLifecycleAction"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
  3. Lampirkan Kebijakan ke Peran RAM OOSServiceRole.

    1. Di panel navigasi kiri, pilih Identities > Roles.

    2. Temukan peran RAM OOSServiceRole dan klik Grant Permission di kolom Actions.

      Tambahkan izin yang diperlukan untuk peran RAM OOSServiceRole yang diasumsikan oleh OOS untuk menyelesaikan otorisasi.

    3. Di panel Grant Permission, konfigurasikan Ruang Lingkup Sumber Daya dan Kebijakan. Setelah selesai, klik Grant permissions.

      Tabel berikut menjelaskan pengaturan yang digunakan dalam contoh ini. Parameter apa pun yang tidak tercakup dalam tabel berikut menggunakan pengaturan default mereka.

      Parameter

      Deskripsi

      Resource Scope

      Atur nilai menjadi Account.

      Policy

      Pilih kebijakan kustom berikut: ESSHookPolicyForAnalyticDBWhitelist.

Langkah 2: Buat hook siklus hidup untuk tujuan skala keluar dan picu acara skala keluar

  1. Masuk ke Konsol Auto Scaling.

  2. Di panel navigasi kiri, klik Scaling Groups.

  3. Di bilah navigasi atas, pilih wilayah.

  4. Temukan grup penskalaan yang diinginkan dan gunakan salah satu metode berikut untuk membuka halaman detail grup penskalaan.

    • Klik ID grup penskalaan di kolom Scaling Group Name/ID.

    • Klik Details di kolom Actions.

  5. Buat Hook Siklus Hidup.

    1. Di bagian atas halaman detail, klik tab Lifecycle Hook.

    2. Klik Create Lifecycle Hook.

    3. Konfigurasikan parameter sesuai kebutuhan bisnis Anda dan klik OK.

      Tabel berikut menjelaskan pengaturan yang digunakan dalam contoh ini. Parameter apa pun yang tidak tercakup dalam tabel berikut menggunakan pengaturan default mereka.

      Parameter

      Deskripsi

      Name

      Masukkan ESSHookForAddAnalyticDBWhitelist.

      Scaling Activity

      Pilih Scale-out Event.

      Timeout Period

      Konfigurasikan Periode Timeout berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, atur nilainya menjadi 300. Unit: detik.

      Catatan

      Periode timeout adalah periode waktu selama mana Anda dapat melakukan operasi kustom pada instance. Jika periode timeout lebih pendek daripada periode waktu yang diperlukan untuk melakukan operasi kustom, operasi tersebut mungkin gagal. Kami sarankan Anda memperkirakan periode waktu yang diperlukan untuk melakukan operasi kustom pada instance dan mengonfigurasi Periode Timeout berdasarkan perkiraan Anda.

      Default Execution Policy

      Pilih Continue.

      Send Notification When Lifecycle Hook Takes Effect

      Konfigurasikan parameter berikut untuk template:

      • Pilih OOS Template.

      • Pilih Public Templates.

      • Pilih ACS-ESS-LifeCycleModifyAnalyticDBIPWhitelist.

      Dalam template publik ACS-ESS-LifeCycleModifyAnalyticDBIPWhitelist, Anda juga harus mengonfigurasi parameter berikut:

      • dbClusterId: Masukkan ID cluster AnalyticDB for MySQL.

      • modifyMode: Pilih Append. Nilai ini berlaku untuk acara skala keluar selama Auto Scaling menambahkan alamat IP pribadi instance ECS ke daftar putih IP cluster AnalyticDB for MySQL.

      • OOSAssumeRole: Pilih OOSServiceRole. Di Langkah 1, OOSServiceRole diberikan izin pada sumber daya ECS, Auto Scaling, dan AnalyticDB for MySQL. OOS memperoleh izin sebelumnya setelah mengasumsikan peran RAM.

  6. Picu Acara Skala Keluar.

    Dalam contoh ini, acara skala keluar dipicu secara manual dengan mengeksekusi aturan penskalaan. Anda juga dapat memicu acara skala keluar menggunakan tugas terjadwal atau tugas yang dipicu oleh acara.

    Catatan

    Jika aktivitas penskalaan dipicu ketika Anda secara manual mengeksekusi aturan penskalaan, hook siklus hidup berlaku. Hook siklus hidup tidak berlaku ketika Anda secara manual menambahkan atau menghapus instance ECS ke/dari grup penskalaan.

    1. Di bagian atas halaman yang muncul, klik tab Scaling Rules and Event-triggered Tasks.

    2. Pada tab Scaling Rules, klik Create Scaling Rule.

    3. Dalam kotak dialog Buat Aturan Penskalaan, konfigurasikan parameter sesuai kebutuhan bisnis Anda dan klik OK.

      Tabel berikut menjelaskan pengaturan yang digunakan dalam contoh ini. Parameter apa pun yang tidak tercakup dalam tabel berikut menggunakan pengaturan default mereka.

      Parameter

      Deskripsi

      Rule Name

      Masukkan Add1.

      Rule Type

      Pilih Simple Scaling Rule.

      Operation

      Atur nilainya menjadi Tambah 1 Instance.

    4. Pada tab Aturan Penskalaan, temukan aturan penskalaan Add1 dan klik Execute di kolom Actions.

    5. Dalam pesan Eksekusi Aturan Penskalaan, klik OK.

    Setelah aturan penskalaan dieksekusi, Auto Scaling menambahkan satu instance ECS ke grup penskalaan. Namun, instance ECS memasuki status Pending Add karena hook siklus hidup ESSHookForAddAnalyticDBWhitelist yang sedang berlaku. Selama periode timeout hook siklus hidup, Auto Scaling memberi tahu OOS untuk mengeksekusi tugas O&M yang didefinisikan dalam template publik ACS-ESS-LifeCycleModifyAnalyticDBIPWhitelist.

Langkah 3: Periksa daftar putih IP cluster AnalyticDB for MySQL

  1. Masuk ke Konsol AnalyticDB for MySQL.

  2. Di panel navigasi kiri, klik Clusters.

  3. Temukan cluster AnalyticDB for MySQL yang diinginkan dan klik ID-nya di kolom Cluster ID/Description.

  4. Di panel navigasi kiri, klik Data Security.

    • Jika alamat IP pribadi instance ECS ditambahkan ke daftar putih IP cluster AnalyticDB for MySQL, template publik ACS-ESS-LifeCycleModifyAnalyticDBIPWhitelist berlaku sesuai harapan.

    • Jika instance ECS dibuat tetapi alamat IP pribadinya tidak ditambahkan ke daftar putih IP cluster AnalyticDB for MySQL, buka konsol OOS untuk melihat eksekusi tugas O&M. Untuk informasi lebih lanjut, lihat (Opsional) Langkah 4: Lihat Eksekusi OOS.

(Opsional) Langkah 4: Lihat eksekusi OOS

  1. Masuk ke Konsol OOS.

  2. Di panel navigasi kiri, pilih Automated Task > Task Execution Management.

  3. Temukan tugas eksekusi berdasarkan waktu dan klik Details di kolom Actions.

  4. Pada halaman detail eksekusi yang muncul, lihat informasi terkait.

    Sebagai contoh, di bagian Basic Information, Anda dapat melihat ID eksekusi dan status. Di bagian Execution Steps and Results, Anda dapat mengklik node tugas untuk melihat detail eksekusi. Untuk informasi lebih lanjut, lihat Lihat Detail Eksekusi.

    Catatan

    Jika eksekusi gagal, pesan kesalahan akan ditampilkan di halaman detail eksekusi.

FAQ

Jika Anda gagal mengeksekusi tugas O&M, lakukan pemecahan masalah berdasarkan pesan kesalahan dalam hasil eksekusi. Untuk informasi lebih lanjut, lihat FAQ.

Tabel berikut menjelaskan pesan kesalahan umum.

Pesan Kesalahan

Penyebab

Solusi

Forbidden.Unauthorized message: Otorisasi yang diperlukan untuk tindakan yang ditentukan tidak disediakan.

Anda belum mengotorisasi Auto Scaling untuk melakukan tindakan saat ini.

Periksa apakah peran RAM OOSServiceRole memiliki izin yang diperlukan.

Forbidden.RAM message: Pengguna tidak berwenang untuk mengoperasikan sumber daya yang ditentukan, atau API ini tidak mendukung RAM.

Pengguna RAM atau peran RAM tidak memiliki izin untuk mengoperasikan sumber daya terkait.

Periksa apakah peran RAM OOSServiceRole memiliki izin yang diperlukan. Sebagai contoh, Anda dapat memberikan izin OOS ke peran RAM. Sebelum OOS dapat mengelola sumber daya yang dideklarasikan dalam template OOS, Anda harus memberikan izin yang diperlukan kepada peran RAM.

LifecycleHookIdAndLifecycleActionToken.Invalid message: lifecycleActionToken dan lifecycleActionId yang Anda berikan tidak cocok dengan tindakan siklus hidup yang sedang berlangsung.

Tindakan hook siklus hidup yang sedang berlangsung telah berakhir atau dihentikan.

Evaluasi periode timeout dari hook siklus hidup untuk memastikan bahwa tugas O&M yang ditentukan dalam template OOS dapat selesai dalam batas waktu yang dialokasikan.