Menggunakan set perubahan sadar drift - AWS CloudFormation

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

Menggunakan set perubahan sadar drift

Set perubahan sadar drift adalah set perubahan yang disempurnakan CloudFormation yang memungkinkan Anda mengidentifikasi dan mengelola drift tumpukan dengan cara yang aman. Tumpukan melayang dari konfigurasi template yang diharapkan saat sumber daya tumpukan diubah di luar CloudFormation, menggunakan Konsol Manajemen AWS AWS CLI, atau SDK layanan yang mendasarinya. Set perubahan sadar drift membandingkan template dengan status sebenarnya dari sumber daya tumpukan Anda dan membawa sumber daya yang hanyut sesuai dengan definisi templatnya. Ketika definisi template sumber daya diperbarui agar sesuai dengan keadaan sebenarnya, perubahan sadar drift akan mengatur ulang status drift sumber daya tanpa memodifikasi sumber daya.

Manfaat menggunakan set perubahan sadar drift meliputi:

  • Penimpaan pratinjau drift — Mendeteksi apakah penerapan akan mengembalikan out-of-band perubahan penting yang dibuat selama respons insiden.

  • Rekonsiliasi drift sistematis — Aman menyelaraskan sumber daya drifted dengan definisi template yang sesuai, baik dengan menimpa properti drifted dengan nilai template atau memperbarui template agar sesuai dengan status sumber daya yang sebenarnya.

  • Kemampuan rollback yang disempurnakan — Jika penerapan gagal, kembalikan sumber daya ke status pra-penerapan yang sebenarnya, bukan status templat sebelumnya.

  • Visibilitas lengkap — Lihat dengan tepat bagaimana penerapan Anda akan memengaruhi konfigurasi sumber daya aktual sebelum membuat perubahan.

Set perubahan tradisional memberikan perbandingan template baru Anda dengan template sebelumnya untuk tumpukan, tetapi tidak memperhitungkan penyimpangan tumpukan. Set perubahan sadar drift memecahkan masalah ini dengan memberikan perbandingan tiga arah antara:

  • Status aktual - Konfigurasi langsung sumber daya Anda. CloudFormation akan membaca konfigurasi sumber daya di akun Anda pada saat pembuatan set perubahan melalui layanan yang mendasarinya APIs.

  • Status penerapan sebelumnya — Konfigurasi yang ditentukan dalam template dari CloudFormation penerapan terakhir Anda.

  • Status yang diinginkan - Konfigurasi yang ditentukan dalam template baru Anda.

Set perubahan sadar drift akan memperbarui status sebenarnya dari semua sumber daya tumpukan agar sesuai dengan status yang diinginkan, bahkan jika sumber daya tidak diubah secara eksplisit dalam templat.

Pertimbangan-pertimbangan

  • Dukungan tipe sumber daya — Set perubahan sadar drift mendukung perbandingan status yang diinginkan dengan status aktual untuk ratusan jenis sumber daya. Untuk tipe sumber daya yang tidak didukung, set perubahan sadar drift akan kembali membandingkan status penerapan sebelumnya dengan status yang diinginkan. Lihat bagian Jenis Sumber Daya yang Didukung untuk detailnya.

  • Properti hanya tulis - Untuk properti yang berisi data sensitif (kata sandi, rahasia), set perubahan sadar drift dibandingkan dengan nilai penerapan sebelumnya daripada nilai aktual.

  • AWS-properti terkelola — Set perubahan sadar drift mempertahankan out-of-band perubahan yang dibuat oleh AWS layanan ke properti terkelola, seperti kapasitas yang diinginkan dari grup Auto EC2 Scaling Amazon. Lihat bagian properti AWS yang dikelola untuk detailnya.

  • Kunci tag eksternal — Set perubahan sadar drift tidak menghapus atau memodifikasi kunci tag yang tidak ditentukan dalam templat, mencegah konflik dengan sistem kontrol akses berbasis atribut (ABAC).

  • Penggantian sumber daya hanyut - Set perubahan sadar drift tidak mendukung rekonsiliasi drift untuk properti yang tidak dapat diubah.

  • Lampiran cross-stack — Beberapa jenis sumber daya, sepertiAWS::IAM::Policy, dapat memengaruhi status sebenarnya dari jenis sumber daya lainnya, seperti. AWS::IAM::Role Set perubahan sadar drift menangani lampiran sumber daya dalam tumpukan. Jika sumber daya dimodifikasi melalui lampiran sumber daya sekunder dari tumpukan yang berbeda, set perubahan sadar drift akan mendeteksi modifikasi sebagai drift dan dapat mengembalikan lampiran. Sumber daya populer yang dapat dilampirkan meliputiAWS::IAM::Policy,AWS::IAM::ManagedPolicy,AWS::EC2::SecurityGroupIngress, danAWS::EC2::SecurityGroupEgress.

AWS-properti terkelola

Anda dapat mengonfigurasi properti sumber daya tertentu untuk AWS manajemen aktif. Misalnya, Anda dapat mengizinkan Amazon Relational Database Service (Amazon RDS) untuk secara otomatis memutakhirkan versi mesin minor dari tabel Amazon RDS. Perubahan ini dapat muncul sebagai stack drift masuk CloudFormation. Set perubahan sadar drift mengenali bahwa drift diharapkan untuk properti AWS-managed dan membiarkan nilai aktualnya tidak tersentuh jika Anda belum memodifikasi properti di templatnya. Contoh teratas dari properti AWS-managed adalah:

  • Mengaktifkan AutoMinorVersionUpgrade properti tabel Amazon RDS untuk memungkinkan pembaruan otomatis versi mesin.

  • Menggunakan AWS::ApplicationAutoScaling::ScalableTarget sumber daya untuk mengaktifkan auto-scaling untuk properti seperti read/write unit kapasitas tabel Amazon DynamoDB dan jumlah cluster Amazon Elastic Container Service yang diinginkan.

  • Menggunakan grup AWS::AutoScaling::ScalingPolicy untuk Amazon EC2 Auto Scaling.

Set perubahan sadar drift mengklarifikasi properti yang diidentifikasi sebagai -managed. AWS Lihat AWS CLI bagian untuk detailnya.

Menggunakan set perubahan sadar drift (konsol)

Anda dapat membuat dan mengelola set perubahan sadar drift melalui CloudFormation konsol menggunakan alur kerja yang sama dengan set perubahan tradisional, dengan opsi tambahan untuk mode penerapan.

Membuat set perubahan sadar drift

Untuk membuat set perubahan sadar drift (konsol)
  1. Masuk ke Konsol Manajemen AWS dan buka CloudFormation konsol di https://console.aws.amazon.com/cloudformation.

  2. Pada halaman Stacks, pilih tumpukan yang ingin Anda perbarui.

  3. Pilih tindakan Stack, lalu pilih Buat set perubahan untuk tumpukan saat ini.

  4. Pada halaman set Buat perubahan, untuk Ubah jenis set, pilih Set perubahan sadar Drift.

  5. Pilih Buat set perubahan.

  6. Pada halaman detail set perubahan, tinjau perbandingan tiga arah yang menunjukkan aktual, penerapan sebelumnya, dan status yang diinginkan untuk setiap sumber daya yang terpengaruh.

  7. Jika Anda puas dengan perubahan, pilih Jalankan set perubahan.

Meninjau set perubahan sadar drift

Saat melihat perubahan sadar drift yang disetel di konsol, Anda akan melihat informasi yang disempurnakan dibandingkan dengan set perubahan tradisional:

  • Status drift tumpukan - Menunjukkan apakah tumpukan telah melayang dari penerapan terakhirnya.

  • Perbandingan properti - Menunjukkan perbedaan JSON antara keadaan aktual dan yang diinginkan dari sumber daya yang terpengaruh.

  • Indikator drift — Menandai properti dengan jelas dalam perbedaan JSON yang telah melayang. Klik pada View drift untuk melihat nilai deployment sebelumnya untuk sebuah properti.

  • Indikator sumber nilai - Menunjukkan apakah nilai sebelum properti berasal dari status aktual atau status penerapan sebelumnya.

Menggunakan set perubahan sadar drift ()AWS CLI

Anda dapat membuat dan mengelola set perubahan sadar drift menggunakan AWS CLI dengan menambahkan --deployment-mode REVERT_DRIFT parameter ke perintah. create-change-set

Membuat set perubahan sadar drift

Untuk membuat set perubahan sadar drift

Gunakan create-change-setperintah dengan --deployment-mode REVERT_DRIFT parameter untuk membuat set perubahan sadar drift.

aws cloudformation create-change-set \ --stack-name my-stack \ --change-set-name my-drift-aware-changeset \ --template-body file://updated-template.yaml \ --deployment-mode REVERT_DRIFT \ --capabilities CAPABILITY_IAM

Meninjau set perubahan sadar drift

Untuk meninjau detail set perubahan sadar drift

Gunakan describe-change-setperintah untuk meninjau detail set perubahan sadar drift:

aws cloudformation describe-change-set \ --change-set-name my-drift-aware-changeset \ --stack-name my-stack

Respons tersebut mencakup informasi yang disempurnakan untuk set perubahan sadar hanyut:

  • StackDriftStatus— Menunjukkan apakah tumpukan telah melayang (DRIFTED,, IN_SYNCNOT_CHECKED, atauUNKNOWN).

  • ResourceDriftStatus— Menunjukkan status drift untuk setiap sumber daya (DELETED,, MODIFIEDIN_SYNC, atauNOT_CHECKED).

  • BeforeValueFrom— Menunjukkan apakah nilai sebelum untuk properti berasal dari ACTUAL_STATE atauPREVIOUS_DEPLOYMENT_STATE.

  • Drift— Berisi rincian drift untuk properti termasukPreviousValue,ActualValue, danDriftDetectionTimestamp.

  • ResourceDriftIgnoredProperties— Berisi properti sumber daya yang set perubahannya tidak akan mengembalikan drift dan alasan untuk mengabaikan drift.

Untuk informasi selengkapnya, lihat DescribeChangeSet di dalam Referensi API AWS CloudFormation .

Menjalankan set perubahan sadar drift

Untuk menjalankan set perubahan sadar drift

Setelah meninjau set perubahan, gunakan execute-change-setperintah untuk menerapkan perubahan:

aws cloudformation execute-change-set \ --change-set-name my-drift-aware-changeset \ --stack-name my-stack

Jika penerapan gagal, CloudFormation akan mengembalikan sumber daya ke status pra-penerapan aktual dan mempertahankan out-of-band perubahan yang dibuat sejak penerapan terakhir.

Jenis sumber daya yang mendukung

Set perubahan sadar drift mendukung perbandingan tiga arah status aktual, status penerapan sebelumnya, dan status yang diinginkan untuk semua jenis sumber daya yang mendukung deteksi drift, kecuali jenis sumber daya berikut:

  • AWS::SageMaker::MlflowTrackingServer

  • AWS::Route53Resolver::FirewallRuleGroup

  • AWS::MediaLive::Multiplexprogram

  • AWS::VpcLattice::ResourceConfiguration

  • AWS::S3::StorageLensGroup

  • AWS::Bedrock::AgentAlias

  • AWS::MSK::Cluster

  • AWS::RDS::DBProxy

  • AWS::Redshift::ClusterParameterGroup

  • AWS::QBusiness::Index

  • AWS::NetworkManager::CoreNetwork

  • AWS::IAM::OIDCProvider

  • AWS::Organizations::ResourcePolicy

  • AWS::SNS::TopicInlinePolicy

  • AWS::Route53::KeySigningKey

  • AWS::DataZone::PolicyGrant

  • AWS::Transfer::Certificate

  • AWS::SageMaker::ImageVersion

  • AWS::Neptune::DBParameterGroup

  • AWS::ODB::CloudVmCluster

  • AWS::RolesAnywhere::TrustAnchor

  • AWS::Evidently::Launch

  • AWS::Detective::Graph

  • AWS::Maester::DocumentType

  • AWS::SageMaker::ModelPackageGroup

  • AWS::S3Express::BucketPolicy

  • AWS::Panorama::PackageVersion

  • AWS::S3Tables::TableBucketPolicy

Set perubahan sadar drift kembali ke perbandingan status penerapan sebelumnya dan status yang diinginkan untuk sumber daya yang tidak mendukung perbandingan tiga arah.