Secara otomatis berhenti dan memulai instans Amazon RDS DB menggunakan Windows AWS Systems Manager Pemeliharaan - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Secara otomatis berhenti dan memulai instans Amazon RDS DB menggunakan Windows AWS Systems Manager Pemeliharaan

Ashita Dsilva, Amazon Web Services

Ringkasan

Pola ini menunjukkan cara menghentikan dan memulai instans DB Amazon Relational Database Service (Amazon RDS) secara otomatis pada jadwal tertentu (misalnya, mematikan instans DB di luar jam kerja untuk mengurangi biaya) dengan menggunakan Windows Pemeliharaan. AWS Systems Manager Untuk tujuan ini, Systems Manager hemat biaya untuk kasus penggunaan biasa.

AWS Systems Manager Automation menyediakan AWS-StopRdsInstance dan AWS-StartRdsInstance runbook untuk menghentikan dan memulai instans Amazon RDS DB. Ini berarti Anda tidak perlu menulis logika khusus dengan AWS Lambda fungsi atau membuat aturan Amazon CloudWatch Events.

Systems Manager menyediakan dua kemampuan untuk tugas penjadwalan: State Manager dan Maintenance Windows. State Manager menetapkan dan mempertahankan konfigurasi status yang diperlukan untuk sumber daya di akun Amazon Web Services (AWS) Anda satu kali atau pada jadwal tertentu. Pemeliharaan Windows menjalankan tugas pada sumber daya di akun Anda selama jendela waktu tertentu. Meskipun Anda dapat menggunakan pendekatan pola ini dengan State Manager atau Maintenance Windows, kami menyarankan Anda menggunakan Maintenance Windows karena dapat menjalankan satu atau lebih tugas berdasarkan prioritas yang ditetapkan dan juga dapat menjalankan AWS Lambda fungsi dan AWS Step Functions tugas. Untuk informasi selengkapnya tentang State Manager dan Maintenance Windows, lihat Memilih antara State Manager dan Maintenance Windows dalam dokumentasi Systems Manager.

Pola ini memberikan langkah-langkah terperinci untuk mengonfigurasi dua jendela pemeliharaan terpisah yang menggunakan ekspresi cron untuk berhenti dan kemudian memulai instans Amazon RDS DB. 

Prasyarat dan batasan

Prasyarat

  • Aktif Akun AWS.

  • Instans Amazon RDS DB yang ada yang ingin Anda hentikan dan mulai pada jadwal tertentu.

  • Ekspresi cron untuk jadwal yang Anda butuhkan. Misalnya, ekspresi cron(0 9 ? * MON-FRI *) menjalankan tugas pada pukul 09:00 setiap hari Senin, Selasa, Rabu, Kamis, dan Jumat. Untuk informasi selengkapnya, lihat Cron dan ekspresi tingkat untuk jendela pemeliharaan di dokumentasi Systems Manager.

  • Keakraban dengan Systems Manager

  • Izin untuk memulai dan menghentikan instance RDS. Untuk informasi lebih lanjut, lihat bagian Epik.

Batasan

  • Instans Amazon RDS DB dapat dihentikan hingga tujuh hari sekaligus. Setelah tujuh hari, instans DB secara otomatis restart untuk memastikan bahwa ia menerima pembaruan pemeliharaan yang diperlukan.

  • Anda tidak dapat menghentikan instance DB yang merupakan replika baca atau yang memiliki replika baca.

  • Anda tidak dapat menghentikan instans Amazon RDS for SQL Server DB dalam konfigurasi Multi-AZ.

  • Kuota layanan berlaku untuk Maintenance Windows dan Systems Manager Automation. Untuk informasi selengkapnya tentang kuota layanan, lihat AWS Systems Manager titik akhir dan kuota dalam dokumentasi. Referensi Umum AWS  

  • Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat Layanan AWS berdasarkan Wilayah. Untuk titik akhir tertentu, lihat halaman titik akhir dan kuota Layanan, dan pilih tautan untuk layanan.

Arsitektur

Diagram berikut menunjukkan alur kerja untuk secara otomatis berhenti dan memulai instans Amazon RDS DB.

Alur kerja untuk menghentikan dan memulai instans Amazon RDS DB secara otomatis

Alur kerja memiliki langkah-langkah berikut:

1. Buat jendela pemeliharaan dan gunakan ekspresi cron untuk menentukan jadwal berhenti dan mulai untuk instans Amazon RDS DB Anda.

2. Daftarkan tugas Otomasi Systems Manager ke jendela pemeliharaan dengan menggunakan AWS-StopRdsInstance atau AWS-StartRdsInstance runbook.

3. Daftarkan target dengan jendela pemeliharaan menggunakan grup sumber daya berbasis tag untuk instans Amazon RDS DB Anda.

Tumpukan teknologi

  • AWS CloudFormation

  • AWS Identity and Access Management (IAM)

  • Amazon RDS

  • Systems Manager

Otomatisasi dan skala

Anda dapat menghentikan dan memulai beberapa instans Amazon RDS DB secara bersamaan dengan menandai instans Amazon RDS DB yang diperlukan, membuat grup sumber daya yang menyertakan semua instans DB yang ditandai, dan mendaftarkan grup sumber daya ini sebagai target untuk jendela pemeliharaan.

Alat

  • AWS CloudFormationadalah layanan yang membantu Anda memodelkan dan mengatur AWS sumber daya Anda.

  • AWS Identity and Access Management (IAM) adalah layanan web yang membantu Anda mengontrol akses ke AWS sumber daya dengan aman.

  • Amazon Relational Database Service (Amazon RDS) adalah layanan web yang membuatnya lebih mudah untuk mengatur, mengoperasikan, dan menskalakan database relasional di. AWS Cloud

  • AWS Resource Groupsmembantu Anda mengatur AWS sumber daya ke dalam grup, menandai sumber daya, dan mengelola, memantau, dan mengotomatiskan tugas pada sumber daya yang dikelompokkan.

  • AWS Systems Manageradalah Layanan AWS yang dapat Anda gunakan untuk melihat dan mengontrol infrastruktur Anda AWS. Pola ini menggunakan fitur-fitur berikut dari Systems Manager:

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Konfigurasikan peran layanan IAM untuk Automasi Systems Manager.

Masuk ke AWS Management Console dan buat peran layanan untuk Otomasi Systems Manager. Anda dapat menggunakan salah satu dari dua metode berikut untuk membuat peran layanan ini:

Alur kerja Otomasi Systems Manager memanggil Amazon RDS dengan menggunakan peran layanan untuk melakukan tindakan mulai dan menghentikan pada instans Amazon RDS DB.

Peran layanan harus dikonfigurasi dengan kebijakan sebaris berikut yang memiliki izin untuk memulai dan menghentikan instans Amazon RDS DB:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RdsStartStop", "Effect": "Allow", "Action": [ "rds:StopDBInstance", "rds:StartDBInstance" ], "Resource": "<RDS_Instance_ARN>" }, { "Sid": "RdsDescribe", "Effect": "Allow", "Action": "rds:DescribeDBInstances", "Resource": "*" } ] }

Pastikan Anda mengganti <RDS_Instance_ARN> dengan Amazon Resource Name (ARN) instans Amazon RDS DB Anda.

Jika Anda tidak terbiasa menggunakan kebijakan dan peran IAM, ikuti petunjuk di bagian Ikhtisar Solusi pada penghentian Jadwalkan Amazon RDS dan mulai gunakan AWS Systems Manager posting blog.

penting

Pastikan Anda merekam ARN dari peran layanan.

Administrator AWS
TugasDeskripsiKeterampilan yang dibutuhkan

Tandai instans Amazon RDS DB.

Buka konsol Amazon RDS dan beri tag instans Amazon RDS DB yang ingin Anda tambahkan ke grup sumber daya. Tag adalah metadata yang ditetapkan ke AWS sumber daya dan terdiri dari pasangan kunci-nilai. Kami menyarankan Anda menggunakan Action sebagai kunci Tag dan StartStopsebagai Nilai.

Untuk informasi selengkapnya tentang ini, lihat Menambahkan, mencantumkan, dan menghapus tag di dokumentasi Amazon RDS.

Administrator AWS

Buat grup sumber daya untuk instans Amazon RDS DB yang ditandai.

Buka AWS Resource Groups konsol dan buat grup sumber daya berdasarkan tag yang Anda buat untuk instans Amazon RDS DB Anda.

Di bawah Kriteria Pengelompokan, pastikan Anda memilih AWS: :RDS:: DBInstance untuk jenis sumber daya dan kemudian berikan pasangan nilai kunci tag (misalnya, “Tindakan- “). StartStop Ini memastikan bahwa layanan hanya memeriksa instans Amazon RDS DB dan bukan sumber daya lain yang memiliki tag ini. Pastikan Anda merekam nama grup sumber daya.

Untuk informasi selengkapnya dan langkah-langkah mendetail, lihat Membuat kueri berbasis tag dan membuat grup dalam AWS Resource Groups dokumentasi. 

Administrator AWS
TugasDeskripsiKeterampilan yang dibutuhkan

Buat jendela pemeliharaan.

  1. Buka konsol Systems Manager, pilih Maintenance Windows, lalu pilih Create a maintenance window. Berikan nama untuk jendela pemeliharaan Anda (misalnya, "StopRdsInstance“), masukkan deskripsi, lalu hapus centang Izinkan target yang tidak terdaftar.

  2. Pilih ekspresi cron/rate dan berikan ekspresi jadwal untuk menentukan kapan instans Amazon RDS DB harus dihentikan. Masukkan 1 untuk Durasi dan 0 untuk Berhenti memulai tugas. Secara default, zona waktu menunjukkan UTC. Anda dapat mengubah zona waktu untuk memulai jendela pemeliharaan berdasarkan stempel waktu yang ditentukan dalam ekspresi cron Anda.

  3. Pilih Buat jendela pemeliharaan. Sistem mengembalikan Anda ke halaman jendela pemeliharaan dan status jendela pemeliharaan Anda Diaktifkan.

penting

Tugas untuk menghentikan instans DB berjalan hampir secara instan saat dimulai dan tidak mencakup seluruh durasi jendela pemeliharaan. Pola ini memberikan nilai minimum untuk Durasi dan Berhenti memulai tugas karena mereka adalah parameter yang diperlukan untuk jendela pemeliharaan.

Untuk informasi selengkapnya dan langkah-langkah terperinci, lihat Membuat jendela pemeliharaan (konsol) di dokumentasi Systems Manager.

Administrator AWS

Tetapkan target ke jendela pemeliharaan.

  1. Pada konsol Systems Manager, pilih Maintenance Windows, pilih Actions, lalu pilih Daftarkan target.

  2. Di area Target, tentukan Pilih grup sumber daya lalu pilih nama grup sumber daya yang ada di akun Anda.

  3. Untuk tipe Resource, pilih AWS: :RDS:: DBInstance lalu pilih Daftarkan target.

Untuk informasi selengkapnya dan langkah-langkah terperinci, lihat Menetapkan target ke jendela pemeliharaan (konsol) di dokumentasi Systems Manager.

Administrator AWS

Tetapkan tugas ke jendela pemeliharaan.

  1. Di konsol Systems Manager, pilih Maintenance Windows, lalu pilih jendela pemeliharaan Anda. Pilih Tindakan, lalu pilih Daftarkan tugas Otomasi.

  2. Untuk Dokumen, pilih AWS- StopRdsInstance.

  3. Di bagian Target, pilih Memilih grup target terdaftar, lalu pilih target jendela pemeliharaan yang Anda daftarkan dengan jendela pemeliharaan saat ini.

  4. Untuk kontrol Rate, tentukan 100 persen untuk Concurrency and Error threshold. Anda dapat mengubah nilai kontrol Rate sesuai dengan kebutuhan Anda untuk konkurensi tugas dan ambang kesalahan. Untuk informasi selengkapnya tentang ini, lihat Tentang ambang konkurensi dan kesalahan dalam dokumentasi Systems Manager.

  5. Di bagian peran layanan IAM, untuk peran Layanan, biarkan kotak ini kosong atau buat peran kustom Anda sendiri. Jika Anda membiarkan kotak kosong, Systems Manager secara otomatis membuat AWSServiceRoleForAmazonSSM peran terkait layanan dan kemudian mengaitkan peran dengan tugas. Untuk membuat peran kustom Anda sendiri, lihat Membuat peran layanan kustom untuk jendela pemeliharaan (konsol), lalu mengaitkan peran kustom itu dengan tugas.

  6. Di bagian Parameter Input, tentukan parameter berikut untuk runbook:

    • InstanceId: {{RESOURCE_ID}}

      catatan

      Untuk InstanceId, parameter semu digunakan untuk mengekstrak ID sumber daya Amazon RDS DB dari ARN. Untuk mempelajari lebih lanjut tentang parameter semu, lihat Tentang parameter semu di dokumentasi Systems Manager.

    • AutomationAssumeRole: Berikan ARN peran layanan yang Anda buat untuk Systems Manager Automation.

  7. Pilih tugas Register Automation.

penting

Opsi peran Layanan mendefinisikan peran layanan yang diperlukan untuk jendela pemeliharaan untuk menjalankan tugas. Namun, peran ini tidak identik dengan peran layanan yang Anda buat sebelumnya untuk Otomasi Systems Manager.

Untuk informasi selengkapnya dan langkah-langkah terperinci, lihat Menetapkan tugas ke jendela pemeliharaan (konsol) di dokumentasi Systems Manager.

Administrator AWS
TugasDeskripsiKeterampilan yang dibutuhkan

Konfigurasikan jendela pemeliharaan untuk memulai instans Amazon RDS DB.

Ulangi langkah-langkah dari jendela Konfigurasi pemeliharaan untuk menghentikan epik instans Amazon RDS DB untuk mengonfigurasi jendela pemeliharaan lain untuk memulai instans Amazon RDS DB pada waktu yang dijadwalkan.

penting

Anda harus membuat perubahan berikut ketika Anda mengkonfigurasi jendela pemeliharaan untuk memulai instans DB:

  • Gunakan nama baru untuk jendela pemeliharaan (misalnya, "StartRdsInstance“).

  • Ganti ekspresi cron dengan ekspresi cron yang ingin Anda gunakan untuk memulai instance DB.

  • Ganti AWS-StopRdsInstance runbook dengan AWS-StartRdsInstance in Task.

Administrator AWS

Sumber daya terkait