Topik ini menjelaskan cara menggabungkan fitur lifecycle hook dari Auto Scaling dengan template CloudOps Orchestration Service (OOS) untuk mengotomatiskan pemasangan sistem file File Storage NAS ke instance Elastic Compute Service (ECS) yang menjalankan Linux.
Prasyarat
Grup penskalaan telah dibuat dan berstatus Diaktifkan.
Sistem file NAS telah disiapkan, dan target pemasangan telah ditambahkan. Untuk informasi lebih lanjut tentang target pemasangan, lihat Kelola Target Pemasangan. Target pemasangan sistem file NAS harus memenuhi persyaratan berikut:
Jika jenis jaringan grup penskalaan adalah virtual private cloud (VPC), jenis jaringan target pemasangan juga harus VPC. Target pemasangan dan grup penskalaan harus berada di VPC yang sama.
Jika jenis jaringan grup penskalaan adalah jaringan klasik, jenis jaringan target pemasangan juga harus jaringan klasik.
Protokol target pemasangan harus Network File System (NFS).
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.
CatatanDalam topik ini, peran RAM OOSServiceRole digunakan sebagai contoh. Anda juga dapat menggunakan peran lainnya.
Informasi latar belakang
Sistem file NAS berfungsi sebagai entitas penyimpanan file terpisah. Memasang sistem file NAS ke instance ECS memungkinkan Anda berinteraksi dengan sistem file tersebut seolah-olah menjadi bagian dari sistem file lokal. Integrasi ini meningkatkan perlindungan data dan ketahanan operasional. Saat ini, Auto Scaling tidak mendukung integrasi sistem file NAS ke dalam konfigurasi penskalaan. Namun, Anda dapat menggabungkan fitur lifecycle hook dan template OOS untuk secara otomatis memasang sistem file NAS ke instance ECS. Pendekatan ini lebih efisien daripada memasang sistem file NAS secara manual setelah pembuatan instance ECS.
Prosedur
Dalam contoh ini, template publik ACS-ESS-LifeCycleAttachNASFileSystemToInstance digunakan untuk menunjukkan cara mengotomatiskan pemasangan sistem file NAS ke instance ECS yang menjalankan Linux. Ikuti langkah-langkah berikut:
Langkah 1: Berikan peran RAM izin pada OOS
Anda memerlukan izin untuk mengeksekusi template OOS. Template ACS-ESS-LifeCycleAttachNASFileSystemToInstance mencakup sumber daya sistem file NAS, Auto Scaling, dan ECS yang diperlukan untuk melaksanakan tugas operasi dan pemeliharaan (O&M).
Masuk ke Konsol RAM.
Buat kebijakan.
Di bilah navigasi sebelah kiri, pilih .
Di halaman Kebijakan, klik Create Policy.
Di 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 dicakup dalam tabel berikut akan menggunakan pengaturan default mereka.
Parameter
Deskripsi
Name
Masukkan ESSHookPolicyForAttachNAS.
Policy document
Masukkan konten berikut:
{ "Version": "1", "Statement": [ { "Action": [ "ecs:DescribeInvocations", "ecs:RunCommand", "ecs:DescribeInvocationResults", "ecs:DescribeInstances" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ess:CompleteLifecycleAction" ], "Resource": "*", "Effect": "Allow" } ] }
Lampirkan kebijakan ke peran RAM OOSServiceRole.
Di bilah navigasi sebelah kiri, pilih .
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.
Di panel Grant Permission, konfigurasikan Ruang Lingkup Sumber Daya dan Kebijakan. Setelah menyelesaikan konfigurasi, klik Grant permissions.
Tabel berikut menjelaskan pengaturan yang digunakan dalam contoh ini. Parameter apa pun yang tidak dicakup dalam tabel berikut akan menggunakan pengaturan default mereka.
Parameter
Deskripsi
Resource Scope
Atur nilai menjadi Account.
Policy
Pilih kebijakan kustom berikut: ESSHookPolicyForAttachNAS.
Langkah 2: Buat lifecycle hook untuk tujuan ekspansi dan picu acara ekspansi
Masuk ke Konsol Auto Scaling.
Di bilah navigasi sebelah kiri, klik Scaling Groups.
Di bilah navigasi atas, pilih wilayah.
Temukan grup penskalaan yang diinginkan dan gunakan salah satu metode berikut untuk membuka halaman detail grup penskalaan.
Klik ID grup skala pada kolom Scaling Group Name/ID.
Klik Details di kolom Actions.
Buat lifecycle hook.
Di bagian atas halaman detail, klik tab Lifecycle Hook.
Klik Create Lifecycle Hook.
Atur parameter sesuai kebutuhan bisnis Anda, lalu klik OK.
Tabel berikut menjelaskan pengaturan yang digunakan dalam contoh ini. Parameter apa pun yang tidak dicakup dalam tabel berikut akan menggunakan pengaturan default mereka.
Parameter
Deskripsi
Name
Masukkan ESSHookForAttachNAS.
Scaling Activity
Pilih Scale-out Event.
Timeout Period
Konfigurasikan Periode Timeout berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, atur nilainya menjadi 300. Unit: detik.
CatatanPeriode timeout adalah periode waktu selama mana Anda dapat melakukan operasi kustom pada instance. Jika periode timeout lebih pendek daripada waktu yang diperlukan untuk melakukan operasi kustom, operasi tersebut mungkin gagal. Kami sarankan Anda memperkirakan 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-LifeCycleAttachNASFileSystemToInstance.
Dalam template publik ACS-ESS-LifeCycleAttachNASFileSystemToInstance, Anda harus mengonfigurasi parameter berikut:
mountTargetDomain: Masukkan nama domain target pemasangan sistem file NAS.
MountDir: Tentukan direktori pada instance ECS yang diinginkan tempat Anda ingin memasang sistem file NAS. Direktori default adalah /mnt.
FileSystemVersion: Tentukan tipe protokol. Nilai 0 menunjukkan bahwa protokol NFSv4 digunakan untuk memasang sistem file NAS. Nilai 1 menunjukkan bahwa protokol NFSv3 digunakan untuk memasang sistem file NAS. Dalam contoh ini, nilai 0 digunakan.
RateControl: Tentukan tipe kontrol laju. Nilai valid: Batch-based Control dan Concurrency-based Control. Dalam contoh ini, Concurrency-based Control digunakan.
OOSAssumeRole: Pilih OOSServiceRole. Dalam Langkah 1, OOSServiceRole diberikan izin pada sumber daya ECS, Auto Scaling, dan sistem file NAS. OOS memperoleh izin tersebut setelah mengasumsikan peran RAM.
Picu acara ekspansi.
Dalam contoh ini, acara ekspansi dipicu secara manual dengan mengeksekusi aturan penskalaan. Anda juga dapat memicu acara ekspansi menggunakan tugas terjadwal atau tugas berbasis acara.
CatatanJika aktivitas penskalaan dipicu saat Anda mengeksekusi aturan penskalaan secara manual, lifecycle hook akan efektif. Lifecycle hook tidak efektif saat Anda menambahkan atau menghapus instance ECS secara manual ke atau dari grup penskalaan.
Di bagian atas halaman yang muncul, klik tab Scaling Rules and Event-triggered Tasks.
Di tab Scaling Rules, klik Create Scaling Rule.
Di 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 dicakup dalam tabel berikut akan menggunakan pengaturan default mereka.
Parameter
Deskripsi
Rule Name
Masukkan Add1.
Rule Type
Pilih Simple Scaling Rule.
Operation
Atur nilainya menjadi Tambah 1 Instance.
Di tab Aturan Penskalaan, temukan aturan penskalaan Add1 dan klik Execute di kolom Actions.
Di pesan Eksekusi Aturan Penskalaan, klik OK.
Setelah aturan penskalaan dieksekusi, Auto Scaling menambahkan satu instance ECS ke grup penskalaan. Namun, instance ECS masuk ke status Pending Add karena lifecycle hook ESSHookForAttachNAS yang sedang berlangsung. Selama periode timeout lifecycle hook, Auto Scaling memberi tahu OOS untuk mengeksekusi tugas O&M yang didefinisikan dalam template publik ACS-ESS-LifeCycleAttachNASFileSystemToInstance.
Periksa apakah instance ECS yang dibuat secara otomatis sesuai dengan harapan Anda.
Di bagian atas halaman detail, klik tab Instances.
Temukan instance ECS yang dibuat secara otomatis dan klik ID-nya di kolom ECS Instance ID/Name.
Di bagian Basic Information, klik Connect.
Masuk ke instance ECS dan jalankan perintah berikut untuk melihat hasil pemasangan.
df -h | grep aliyunJika jalur pemasangan sistem file NAS ada dalam keluaran perintah seperti yang ditunjukkan pada gambar berikut, sistem file NAS telah dipasang. Anda juga dapat menjalankan perintah
nfsstat -cuntuk melihat versi protokol.Client nfs v4menunjukkan bahwa versi protokol adalah v4.
Jika instance ECS dibuat tetapi tidak memiliki sistem file NAS yang terkait, buka Konsol OOS untuk melihat eksekusi operasi O&M. Untuk informasi lebih lanjut, lihat Langkah 3: (Opsional) Lihat Eksekusi OOS.
Langkah 3: (Opsional) Lihat eksekusi OOS
Masuk ke Konsol OOS.
Di bilah navigasi sebelah kiri, pilih .
Temukan tugas eksekusi berdasarkan waktu dan klik Details di kolom Actions.
Di 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.
CatatanJika 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 ke peran RAM. |
LifecycleHookIdAndLifecycleActionToken.Invalid message: lifecycleActionToken dan lifecycleActionId yang Anda berikan tidak cocok dengan tindakan lifecycle yang sedang berlangsung. | Tindakan lifecycle hook yang sedang berlangsung telah berakhir atau dihentikan. | Evaluasi periode timeout lifecycle hook untuk memastikan bahwa tugas O&M yang ditentukan dalam template OOS dapat selesai dalam batas waktu yang dialokasikan. |