Buat CloudWatch dasbor Amazon berbasis tag secara otomatis - AWS Prescriptive Guidance

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

Buat CloudWatch dasbor Amazon berbasis tag secara otomatis

Janak Vadaria, Vinodkumar Mandalapu, dan RAJNEESH TYAGI, Amazon Web Services

Ringkasan

Membuat CloudWatch dasbor Amazon yang berbeda secara manual dapat memakan waktu, terutama ketika Anda harus membuat dan memperbarui beberapa sumber daya untuk secara otomatis menskalakan lingkungan Anda. Solusi yang membuat dan memperbarui CloudWatch dasbor Anda secara otomatis dapat menghemat waktu Anda. Pola ini membantu Anda menerapkan AWS Cloud Development Kit (AWS CDK) pipeline otomatis penuh yang membuat dan memperbarui CloudWatch dasbor untuk AWS sumber daya Anda berdasarkan peristiwa perubahan tag, untuk menampilkan metrik Sinyal Emas.

Dalam rekayasa keandalan situs (SRE), Sinyal Emas mengacu pada serangkaian metrik komprehensif yang menawarkan pandangan luas layanan dari perspektif pengguna atau konsumen. Metrik ini terdiri dari latensi, lalu lintas, kesalahan, dan saturasi. Untuk informasi lebih lanjut, lihat Apa itu Rekayasa Keandalan Situs (SRE)? di situs AWS web.

Solusi yang diberikan oleh pola ini didorong oleh peristiwa. Setelah digunakan, ia terus memantau peristiwa perubahan tag dan secara otomatis memperbarui CloudWatch dasbor dan alarm.

Prasyarat dan batasan

Prasyarat

Batasan

Solusi ini saat ini membuat dasbor otomatis hanya untuk layanan AWS berikut:

Arsitektur

Tumpukan teknologi target

Arsitektur target

Arsitektur target untuk membuat dasbor berbasis tag CloudWatch
  1. Peristiwa perubahan AWS tag untuk tag aplikasi yang dikonfigurasi atau perubahan kode memulai pipeline AWS CodePipeline untuk membangun dan menerapkan dasbor yang diperbarui CloudWatch .

  2. AWS CodeBuild menjalankan skrip Python untuk menemukan sumber daya yang telah mengkonfigurasi tag dan menyimpan sumber daya IDs dalam file lokal di lingkungan. CodeBuild

  3. CodeBuild menjalankan cdk synth untuk menghasilkan AWS CloudFormation template yang menyebarkan CloudWatch dasbor dan alarm.

  4. CodePipeline menyebarkan AWS CloudFormation template ke yang ditentukan Akun AWS dan Wilayah.

  5. Ketika AWS CloudFormation tumpukan telah berhasil digunakan, Anda dapat melihat CloudWatch dasbor dan alarm.

Otomatisasi dan skala

Solusi ini telah diotomatisasi dengan menggunakan AWS CDK. Anda dapat menemukan kode di Dasbor Sinyal GitHub Emas di CloudWatch repositori Amazon. Untuk penskalaan tambahan dan untuk membuat dasbor khusus, Anda dapat mengonfigurasi beberapa kunci dan nilai tag.

Alat

Layanan Amazon

  • Amazon EventBridge adalah layanan bus acara tanpa server yang membantu Anda menghubungkan aplikasi Anda dengan data real-time dari berbagai sumber, termasuk AWS Lambda fungsi, titik akhir pemanggilan HTTP menggunakan tujuan API, atau bus acara di tempat lain. Akun AWS

  • AWS CodePipelinemembantu Anda dengan cepat memodelkan dan mengkonfigurasi berbagai tahapan rilis perangkat lunak dan mengotomatiskan langkah-langkah yang diperlukan untuk merilis perubahan perangkat lunak secara terus menerus.

  • AWS CodeBuildadalah layanan build terkelola penuh yang membantu Anda mengkompilasi kode sumber, menjalankan pengujian unit, dan menghasilkan artefak yang siap digunakan.

  • AWS Command Line Interface (AWS CLI) adalah alat open source yang membantu Anda berinteraksi dengan layanan AWS melalui perintah di shell baris perintah Anda.

  • AWS Identity and Access Management (IAM) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.

  • Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.

Praktik terbaik

Sebagai praktik keamanan terbaik, Anda dapat menggunakan enkripsi dan otentikasi untuk repositori sumber yang terhubung ke saluran pipa Anda. Untuk praktik terbaik tambahan, lihat praktik CodePipeline terbaik dan kasus penggunaan dalam CodePipeline dokumentasi.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Konfigurasikan dan terapkan aplikasi sampel.

  1. Kloning repositori kode GitHub sampel dengan menggunakan perintah:

    git clone https://github.com/aws-samples/golden-signals-dashboards-sample-app
  2. Arahkan ke repositori kloning di komputer Anda dan buka src/project-settings.ts file dengan editor pilihan Anda.

  3. Ubah nilai projectSettings konstan sesuai dengan tag AWS sumber daya dan pemetaan aplikasi Anda.

  4. MengaturAWS_ACCOUNT,AWS_REGION, dan variabel GS_DASHBOARD_INSTANCE lingkungan:

    • Setel AWS_ACCOUNT ke ID akun AWS akun Anda.

    • Setel AWS_REGION ke Wilayah tempat Anda ingin menyebarkan aplikasi sampel.

    • Setel GS_DASHBOARD_INSTANCE ke devtest,, atauprod, tergantung pada lingkungan pengembangan Anda. (Kami merekomendasikan test untuk prosedur pengujian yang dijelaskan dalam pola ini.)

  5. Siapkan AWS CLI dengan AWS kredensil Anda. Untuk informasi selengkapnya, lihat Mengatur dan melihat pengaturan konfigurasi menggunakan perintah dalam AWS CLI dokumentasi.

  6. Jalankan perintah berikut untuk menyebarkan aplikasi sampel dasbor Sinyal Emas:

    sh deploy.sh
AWS DevOps

Buat dasbor dan alarm secara otomatis.

Setelah menerapkan aplikasi sampel, Anda dapat membuat sumber daya apa pun yang didukung solusi ini dengan nilai tag yang diharapkan, yang secara otomatis akan membuat dasbor dan alarm yang ditentukan.

Untuk menguji solusi ini, buat AWS Lambda fungsi:

  1. Masuk ke AWS Management Console Wilayah AWS tempat Anda menerapkan aplikasi sampel.

  2. Buka konsol Lambda di. https://console.aws.amazon.com/lambda/

  3. Pilih Buat fungsi, lalu masukkan nama fungsi.

  4. Di panel Pengaturan lanjutan, pilih Aktifkan tag, lalu pilih Tambahkan tag baru. Masukkan kunci dan nilai berikut:

    • Kunci: AutoDashboard

    • Nilai: True

  5. Pilih Buat fungsi.

    Fungsi Lambda segera memulai pipeline kode, yang membuat dasbor dan alarm untuk fungsi Lambda tertentu secara otomatis.

  6. Untuk melihat dasbor dan alarm otomatis, buka CloudWatch konsol di. https://console.aws.amazon.com/cloudwatch/ Anda dapat melihat dasbor dan alarm khusus untuk fungsi yang Anda tentukan dalam projectSettings konstanta (APP1-lambda secara default).

  7. Pilih dasbor untuk fungsi Lambda untuk melihat dasbor otomatis tambahan yang dibuat sebagai bagian dari solusi ini.

  8. Ulangi langkah-langkah ini untuk layanan lain, seperti Amazon RDS, Amazon SNS, dan DynamoDB AWS Auto Scaling, untuk menghasilkan dasbor terkait. Untuk contoh Amazon RDS, lihat bagian Informasi tambahan.

AWS DevOps
TugasDeskripsiKeterampilan yang dibutuhkan

Hapus golden-signals-dashboard konstruksinya.

  1. Untuk menghapus semua AWS CloudFormation tumpukan yang dibuat oleh aplikasi sampel, Anda harus mengkonfigurasi ulang variabelAWS_ACCOUNT,AWS_REGION, dan GS_DASHBOARD_INSTANCE lingkungan. destroy.shPerintah membutuhkan konfigurasi ini.

    • AWS_ACCOUNTadalah ID akun AWS akun Anda.

    • AWS_REGIONadalah Wilayah tempat Anda menerapkan aplikasi sampel Anda.

    • GS_DASHBOARD_INSTANCEadalahdev,test, atauprod, berdasarkan pengaturan Anda sebelumnya.

  2. Siapkan AWS CLI dengan AWS kredensil Anda.

  3. Jalankan perintah berikut untuk menghapus aplikasi sampel dan semua AWS CloudFormation tumpukan terkait:

    sh destroy.sh
AWS DevOps

Pemecahan Masalah

IsuSolusi

Perintah Python tidak ditemukan (mengacu padafindresources.sh, baris 8).

Periksa versi instalasi Python Anda. Jika Anda telah menginstal Python versi 3, ganti python dengan python3 on line 8 resources.sh file, dan jalankan sh deploy.sh perintah lagi untuk menyebarkan solusi.

Sumber daya terkait

Informasi tambahan

Ilustrasi berikut menunjukkan dasbor sampel untuk Amazon RDS yang dibuat sebagai bagian dari solusi ini.

Dasbor sampel untuk Amazon RDS