全部产品
Search
文档中心

Auto Scaling:Otomatisasi penambahan atau penghapusan alamat IP privat dari instance ECS ke atau dari daftar putih alamat IP sebuah instance Redis

更新时间:Jul 02, 2025

Topik ini menjelaskan cara menggabungkan fitur panggilan balik siklus hidup Auto Scaling dengan template CloudOps Orchestration Service (OOS) untuk menempatkan instance Elastic Compute Service (ECS) dalam status Pending. Selain itu, topik ini juga mencakup otomatisasi tugas untuk menambahkan atau menghapus alamat IP privat instance ECS ke atau dari daftar putih alamat IP Tair (Redis OSS-compatible).

Prasyarat

  • Grup penskalaan telah dibuat dan berada dalam status Diaktifkan.

  • Sebuah instance Tair (Redis OSS-compatible) 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

Grup penskalaan dapat dikaitkan dengan Server Load Balancer (SLB) atau instance ApsaraDB RDS, tetapi tidak dapat dikaitkan dengan instance Tair (Redis OSS-compatible). Jika Anda menyimpan data aplikasi Anda pada instance Tair (Redis OSS-compatible), menambahkan atau menghapus alamat IP privat dari instance ECS Anda ke atau dari daftar putih alamat IP instance Tair (Redis OSS-compatible) secara manual bisa tidak efisien. Untuk meningkatkan efisiensi operasional, Anda dapat menggunakan fitur panggilan balik siklus hidup dari Auto Scaling dan template OOS untuk secara otomatis menambahkan atau menghapus alamat IP privat dari instance ECS ke daftar putih alamat IP instance Tair (Redis OSS-compatible).

Prosedur

Dalam contoh ini, template OOS publik bernama ACS-ESS-LifeCycleModifyRedisIPWhitelist digunakan untuk menunjukkan cara mengotomatiskan penambahan alamat IP privat instance ECS ke daftar putih alamat IP instance Tair (Redis OSS-compatible) selama acara pemuaian skala. Lakukan langkah-langkah berikut.

Catatan

Jika Anda ingin mengotomatiskan penghapusan alamat IP privat instance ECS dari daftar putih alamat IP instance Tair (Redis OSS-compatible), Anda dapat membuat panggilan balik siklus hidup untuk tujuan penskalaan masuk dan menerapkan panggilan balik siklus hidup selama acara penskalaan masuk.

Langkah 1: Berikan peran RAM izin pada OOS

Anda harus memiliki izin untuk mengeksekusi template OOS. Template ACS-ESS-LifeCycleModifyRedisIPWhitelist mencakup sumber daya ECS, Auto Scaling, dan Tair (Redis OSS-compatible) yang diperlukan untuk melaksanakan tugas O&M.

  1. Masuk ke Konsol RAM.

  2. Buat kebijakan izin.

    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 berdasarkan kebutuhan bisnis Anda, lalu klik OK.

      Tabel berikut menjelaskan pengaturan parameter yang digunakan dalam contoh ini. Untuk parameter yang tidak termasuk dalam tabel berikut, gunakan pengaturan default.

      Parameter

      Deskripsi

      Name

      Masukkan ESSHookPolicyForRedisWhitelist.

      Policy document

      Masukkan konten berikut:

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "ecs:DescribeInstances"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "kvstore:ModifySecurityIps"
                  ],
                  "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 Anda menyelesaikan konfigurasi, klik Grant permissions.

      Tabel berikut menjelaskan pengaturan parameter yang digunakan dalam contoh ini. Untuk parameter yang tidak termasuk dalam tabel berikut, gunakan pengaturan default.

      Parameter

      Deskripsi

      Resource Scope

      Pilih Account.

      Policy

      Pilih kebijakan kustom berikut: ESSHookPolicyForRedisWhitelist.

Langkah 2: Buat panggilan balik siklus hidup dan picu pemuaian skala

Saat Anda membuat panggilan balik siklus hidup untuk tujuan pemuaian skala, Anda harus mengatur Kirim Notifikasi Saat Panggilan Balik Siklus Hidup Berlaku menjadi Template OOS. Dengan cara ini, penambahan otomatis alamat IP privat instance ECS ke daftar putih alamat IP instance Tair (Redis OSS-compatible) dipicu selama acara pemuaian skala.

  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 panggilan balik siklus hidup.

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

    2. Klik Create Lifecycle Hook.

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

      Tabel berikut menjelaskan pengaturan parameter yang digunakan dalam contoh ini. Untuk parameter yang tidak termasuk dalam tabel berikut, gunakan pengaturan default.

      Parameter

      Deskripsi

      Name

      Masukkan ESSHookForAddRedisWhitelist.

      Scaling Activity

      Pilih Scale-out Event.

      Timeout Period

      Konfigurasikan parameter Periode Waktu Habis berdasarkan kebutuhan bisnis Anda. Unit: detik. Dalam contoh ini, parameter Periode Waktu Habis diatur ke 300.

      Catatan

      Periode waktu habis adalah periode waktu selama Anda dapat melakukan operasi kustom pada instance. Jika periode waktu habis 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 Waktu Habis berdasarkan perkiraan Anda.

      Default Execution Policy

      Pilih Continue.

      Send Notification When Lifecycle Hook Takes Effect

      Dalam contoh ini, lakukan operasi berikut:

      • Pilih OOS Template.

      • Pilih Public Templates.

      • Pilih ACS-ESS-LifeCycleModifyRedisIPWhitelist.

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

      • dbInstanceId: Masukkan ID instance.

      • modifyMode: Pilih Append. Nilai ini berlaku untuk acara pemuaian skala selama Auto Scaling menambahkan alamat IP privat instance ECS ke daftar putih alamat IP instance Tair.

      • OOSAssumeRole: Pilih OOSServiceRole. Di Langkah 1, OOSServiceRole diberikan izin pada sumber daya ECS, Auto Scaling, dan Tair (Redis OSS-compatible). OOS mendapatkan izin sebelumnya setelah mengasumsikan peran RAM.

  6. Picu acara pemuaian skala.

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

    Catatan

    Jika acara penskalaan dipicu saat Anda secara manual mengeksekusi aturan penskalaan, panggilan balik siklus hidup akan berlaku. Namun, panggilan balik siklus hidup tidak berlaku jika Anda secara manual menambahkan atau menghapus instance ECS ke atau 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. Di kotak dialog Buat Aturan Penskalaan, konfigurasikan parameter berdasarkan kebutuhan bisnis Anda dan klik OK.

      Tabel berikut menjelaskan pengaturan parameter yang digunakan dalam contoh ini. Untuk parameter yang tidak termasuk dalam tabel berikut, gunakan pengaturan default.

      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. Di 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 panggilan balik siklus hidup ESSHookForAddRedisWhitelist yang sedang berlaku. Selama periode waktu habis panggilan balik siklus hidup, Auto Scaling memberi tahu OOS untuk mengeksekusi tugas O&M yang didefinisikan dalam template publik ACS-ESS-LifeCycleModifyRedisIPWhitelist.

Langkah 3: Periksa daftar putih alamat IP dari instance Tair (Redis OSS-compatible)

  1. Masuk ke Konsol Tair (Redis OSS-compatible).

  2. Di panel navigasi kiri, klik Instances.

  3. Temukan instance yang diinginkan dan klik ID-nya di kolom Instance ID/Name.

  4. Di panel navigasi kiri, klik Whitelist Settings.

    • Jika alamat IP privat instance ECS ditambahkan ke daftar putih alamat IP instance Tair (Redis OSS-compatible), template publik ACS-ESS-LifeCycleModifyRedisIPWhitelist berfungsi seperti yang diharapkan.

    • Jika instance ECS dibuat tetapi alamat IP privatnya tidak ditambahkan ke daftar putih alamat IP instance Tair (Redis OSS-compatible), pergi ke 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, lihat informasi terkait.

    Sebagai contoh, di bagian Basic Information, Anda dapat melihat ID eksekusi dan statusnya. 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.

Tanya Jawab Umum

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 yang sesuai.

Periksa apakah peran RAM OOSServiceRole memiliki izin yang diperlukan. Sebagai contoh, Anda dapat memberikan izin OOS kepada 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 apa pun yang sedang berlangsung.

Tindakan panggilan balik siklus hidup yang sedang berlangsung telah berakhir atau dihentikan.

Evaluasi periode waktu habis panggilan balik siklus hidup untuk memastikan bahwa tugas O&M yang ditentukan dalam template OOS dapat selesai dalam batas waktu yang dialokasikan.