Tutorial ini menjelaskan cara menggunakan kait siklus hidup Auto Scaling untuk menangguhkan instans ECS dan templat CloudOps Orchestration Service (OOS) guna memasang sistem file NAS ke instans ECS Linux secara otomatis.
Prasyarat
-
Grup penskalaan telah dibuat dan berada dalam status Enabled.
-
Sistem file NAS telah dibuat dan titik pemasangan telah ditambahkan. Untuk informasi selengkapnya, lihat Manage mount targets. Titik pemasangan harus memenuhi kondisi berikut:
-
Jika grup penskalaan menggunakan virtual private cloud (VPC), titik pemasangan juga harus menggunakan VPC. Titik pemasangan dan grup penskalaan harus berada dalam VPC yang sama.
-
Jika grup penskalaan menggunakan jaringan klasik, titik pemasangan juga harus menggunakan jaringan klasik.
-
Protokol pemasangan adalah NFS.
-
-
Peran Resource Access Management (RAM) telah dibuat untuk OOS. Entitas tepercaya dari peran RAM harus berupa Alibaba Cloud Service, layanan tepercaya harus berupa CloudOps Orchestration Service, dan peran RAM harus memiliki izin untuk melakukan operasi pada templat OOS. Untuk informasi selengkapnya, lihat Create a RAM role for OOS and grant permissions.
CatatanDalam topik ini, peran RAM OOSServiceRole digunakan sebagai contoh. Anda juga dapat menggunakan peran lainnya.
Informasi latar belakang
Sistem file NAS adalah instans penyimpanan file. Setelah Anda memasang sistem file tersebut ke instans ECS, Anda dapat menggunakannya seperti sistem file lokal. Hal ini meningkatkan keamanan data dan toleransi kesalahan operasional. Anda tidak dapat mengaitkan sistem file NAS saat membuat konfigurasi penskalaan. Namun, Anda dapat menggunakan kait siklus hidup dan templat OOS untuk memasang sistem file NAS ke instans ECS secara otomatis. Metode ini lebih efisien daripada membuat instans ECS lalu memasang sistem file secara manual.
Prosedur
Tutorial ini menggunakan templat publik OOS ACS-ESS-LifeCycleAttachNASFileSystemToInstance sebagai contoh untuk menunjukkan cara memasang sistem file NAS ke instans ECS Linux secara otomatis selama event scale-out. Prosedurnya adalah sebagai berikut:
Langkah 1: Berikan izin layanan OOS kepada peran RAM
Anda harus memiliki izin yang diperlukan untuk mengeksekusi templat OOS. Operasi dan pemeliharaan (O&M) yang didefinisikan dalam templat ACS-ESS-LifeCycleAttachNASFileSystemToInstance melibatkan resource dari Elastic Compute Service (ECS), Auto Scaling, dan NAS.
-
Login ke RAM console.
-
Buat kebijakan akses.
-
Di panel navigasi sebelah kiri, pilih .
-
Pada halaman Policies, klik Create Policy.
-
Pada halaman Create Policy, pilih Script Editor sebagai mode konfigurasi, atur parameter lainnya, lalu klik OK.
Tabel berikut menjelaskan parameter yang digunakan dalam tutorial ini. Gunakan nilai default untuk parameter lainnya.
Configuration item
Description
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" } ] }
-
-
Berikan kebijakan akses kepada OOSServiceRole.
-
Di panel 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 guna menyelesaikan otorisasi.
-
Pada halaman Grant Permission, tentukan cakupan resource dan konfigurasi izin, lalu klik Confirm Add Authorization.
Tabel berikut menjelaskan parameter yang digunakan dalam tutorial ini. Gunakan nilai default untuk parameter lainnya.
Configuration item
Description
Resource Scope
Pilih level Account.
Policies
Tambahkan kebijakan kustom ESSHookPolicyForAttachNAS.
-
Langkah 2: Buat kait siklus hidup untuk aktivitas scale-out dan picu scale-out
Login ke Auto Scaling console.
Di panel navigasi sebelah kiri, klik Scaling Groups.
Di bilah navigasi atas, pilih wilayah.
Temukan grup penskalaan yang ingin Anda kelola dan buka halaman detailnya dengan salah satu cara berikut:
Di kolom Scaling Group Name/ID, klik ID grup penskalaan.
Di kolom Actions, klik Details.
-
Buat kait siklus hidup untuk aktivitas scale-out.
Di bagian atas halaman, klik tab Event and adhesive hook.
-
Klik Create Lifecycle Hook.
-
Tentukan konfigurasi kait siklus hidup dan klik OK.
Tabel berikut menjelaskan parameter yang digunakan dalam tutorial ini. Gunakan nilai default untuk parameter lainnya.
Configuration item
Description
Name
Masukkan ESSHookForAttachNAS.
Scaling Activity Type
Pilih Scale-Out.
Timeout Period
Masukkan periode timeout yang sesuai, misalnya 300 detik.
CatatanPeriode timeout adalah waktu yang dialokasikan untuk operasi kustom. Jika periode timeout terlalu singkat, operasi kustom mungkin gagal. Evaluasi waktu yang diperlukan untuk operasi kustom Anda dan atur periode timeout yang sesuai.
Default Execution Policy
Pilih Continue.
Send Notification When Lifecycle Hook Takes Effect
Kirim notifikasi atau lakukan operasi tambahan secara otomatis dengan cara tertentu. Pengaturan templat adalah sebagai berikut:
-
Metode notifikasi: Pilih OOS Template.
-
Jenis Templat OOS: Pilih Public Templates.
-
Templat Publik: Pilih ACS-ESS-LifeCycleAttachNASFileSystemToInstance.
Parameter eksekusi untuk ACS-ESS-LifeCycleAttachNASFileSystemToInstance dikonfigurasi sebagai berikut:
-
Mount Target Domain Name: Masukkan nama domain titik pemasangan sistem file NAS.
-
Mount Directory: Direktori pada instans ECS tempat sistem file dipasang, yang secara default adalah /mnt.
-
File System Version: 0 menunjukkan bahwa protokol NFS v4 digunakan untuk memasang sistem file, dan 1 menunjukkan bahwa protokol NFS v3 digunakan. Dalam contoh ini, digunakan 0.
-
Rate Control: Tersedia dua jenis kendali laju: Concurrency Control dan Batch Control. Tutorial ini menggunakan tipe default, Concurrency Control, sebagai contoh.
-
RAM Role For OOS: Pilih Specify RAM Role and Use Permissions Granted to This Role, lalu pilih OOSServiceRole. Di Procedure, peran RAM OOSServiceRole diberikan izin untuk mengelola resource ECS, Auto Scaling, dan sistem file NAS. Layanan OOS mengasumsikan peran ini untuk mendapatkan izin yang diperlukan.
-
-
Picu scale-out.
Tutorial ini menggunakan eksekusi manual aturan penskalaan sebagai contoh. Anda juga dapat memicu scale-out menggunakan tugas terjadwal atau tugas berbasis peristiwa.
CatatanJika aktivitas penskalaan dipicu saat Anda mengeksekusi aturan penskalaan secara manual, kait siklus hidup akan berlaku. Kait siklus hidup tidak berlaku saat Anda menambahkan atau menghapus instans ECS ke atau dari grup penskalaan secara manual.
-
Di bagian atas halaman, klik tab Scaling Rules and Event-triggered Tasks.
-
Pada tab Scaling Rules, klik Create Scaling Rule.
-
Atur properti aturan penskalaan, lalu klik OK.
Tabel berikut menjelaskan parameter yang digunakan dalam tutorial ini. Gunakan nilai default untuk parameter lainnya.
Configuration item
Description
Rule Name
Masukkan Add1.
Rule Type
Pilih Simple Scaling Rule.
Operation
Atur untuk menambahkan 1 instans.
-
Di daftar aturan penskalaan, temukan aturan penskalaan baru Add1, lalu di kolom Actions, klik Recurrently.
-
Klik OK.
Setelah aturan penskalaan dieksekusi, satu instans ECS dibuat secara otomatis. Karena kait siklus hidup ESSHookForAttachNAS telah dibuat dalam grup penskalaan, instans ECS ditangguhkan. Layanan OOS secara otomatis diberi notifikasi untuk melakukan operasi O&M yang didefinisikan dalam templat ACS-ESS-LifeCycleAttachNASFileSystemToInstance.
-
-
Periksa apakah instans ECS yang dibuat secara otomatis berfungsi sebagaimana mestinya.
Di bagian atas halaman, klik tab Instance Management.
-
Temukan instans ECS yang dibuat secara otomatis, lalu di kolom ECS Instance ID/Name, klik ID instans.
-
Di area Basic Information, klik Remote Connection.
-
Setelah login ke instans ECS, jalankan perintah untuk memeriksa hasil pemasangan.
df -h | grep aliyunHasilnya berisi path pemasangan sistem file NAS. Hal ini menunjukkan bahwa pemasangan otomatis berhasil. Anda juga dapat menjalankan
nfsstat -cuntuk melihat versi protokol yang digunakan.Client nfs v4menunjukkan bahwa versi protokolnya adalah v4.[root@iz xxx ~]# df -h | grep aliyun 0a7faxxx-tek1.cn-hangzhou.nas.aliyuncs.com:/ 10P 0 10P 0% /mnt [root@iz xxx ~]# nfsstat -c Client rpc stats: calls retrans authrefrsh 36 0 36 Client nfs v4: null read write commit open open_conf 1 2% 0 0% 0 0% 0 0% 0 0% 0 0% open_noat open_dgrd close setattr fsinfo renew 0 0% 0 0% 0 0% 0 0% 2 5% 18 50% setclntid confirm lock lockt locku access 2 5% 2 5% 0 0% 0 0% 0 0% 0 0% getattr lookup lookup_root remove rename link 3 8% 0 0% 1 2% 0 0% 0 0% 0 0% symlink create pathconf statfs readlink readdir 0 0% 0 0% 1 2% 3 8% 0 0% 0 0% server_caps delegreturn getacl setacl fs_locations rel_lkowner 3 8% 0 0% 0 0% 0 0% 0 0% 0 0% secinfo exchange_id create_ses destroy_ses sequence get_lease_t 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% reclaim_comp layoutget getdevinfo layoutcommit layoutreturn getdevlist 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% (null) 0 0%Jika instans ECS dibuat tetapi sistem file NAS tidak dipasang, Anda dapat membuka konsol OOS untuk melihat status eksekusi tugas. Untuk informasi selengkapnya, lihat (Optional) Step 3: View the OOS execution status.
(Opsional) Langkah 3: Lihat status eksekusi OOS
-
Login ke OOS console.
-
Di panel navigasi sebelah kiri, pilih .
-
Temukan tugas eksekusi berdasarkan waktu dan klik Details di kolom Actions.
-
Di halaman detail eksekusi, lihat informasi eksekusi.
Sebagai contoh, Anda dapat melihat informasi seperti ID eksekusi dan status eksekusi di bagian Basic Information, atau klik node tugas di bagian Execution Result untuk melihat detail eksekusi. Untuk informasi selengkapnya, lihat View task execution details.
CatatanJika eksekusi gagal, pesan error terkait juga ditampilkan di halaman detail eksekusi.
FAQ
Jika Anda gagal mengeksekusi tugas O&M, lakukan troubleshooting berdasarkan pesan error di hasil eksekusi. Untuk informasi selengkapnya, lihat FAQ.
Tabel berikut menjelaskan pesan error umum.
|
Error message |
Cause |
Solution |
|
Forbidden.Unauthorized message: A required authorization for the specified action is not supplied. |
Anda belum memberi otorisasi kepada Auto Scaling untuk melakukan aksi saat ini. |
Periksa apakah peran RAM OOSServiceRole memiliki izin yang diperlukan. |
|
Forbidden.RAM message: User not authorized to operate on the specified resource, or this API doesn't support RAM. |
Pengguna RAM atau peran RAM tidak memiliki izin untuk mengoperasikan resource terkait. |
Periksa apakah peran RAM OOSServiceRole memiliki izin yang diperlukan. Sebagai contoh, Anda dapat memberikan izin OOS kepada peran RAM. Sebelum OOS dapat mengelola resource yang dideklarasikan dalam templat OOS, Anda harus memberikan izin yang diperlukan kepada peran RAM. |
|
LifecycleHookIdAndLifecycleActionToken.Invalid message: The specified lifecycleActionToken and lifecycleActionId you provided does not match any in process lifecycle action. |
Aksi kait siklus hidup yang sedang berlangsung telah berakhir atau dihentikan. |
Evaluasi periode timeout kait siklus hidup untuk memastikan bahwa tugas O&M yang ditentukan dalam templat OOS dapat diselesaikan dalam batas waktu yang ditentukan. |