Tentang penerapan biru/hijau - AWS CloudFormation

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

Tentang penerapan biru/hijau

Topik ini memberikan ikhtisar tentang cara kerja penerapan biru/hijau. CloudFormation Ini juga menjelaskan bagaimana mempersiapkan CloudFormation template Anda untuk penerapan biru/hijau.

Cara kerjanya

Saat menggunakan CloudFormation untuk melakukan penerapan ECS biru/hijau CodeDeploy, Anda mulai dengan membuat template tumpukan yang mendefinisikan sumber daya untuk lingkungan aplikasi biru dan hijau Anda, termasuk menentukan pengaturan perutean lalu lintas dan stabilisasi yang akan digunakan. Selanjutnya, Anda membuat tumpukan dari template itu. Ini menghasilkan aplikasi biru (saat ini) Anda. CloudFormation hanya membuat sumber daya biru selama pembuatan tumpukan. Sumber daya untuk deployment hijau tidak dibuat hingga diperlukan.

Kemudian, jika di update stack future Anda memperbarui definisi tugas atau sumber daya set tugas dalam aplikasi biru Anda, CloudFormation lakukan hal berikut:

  • Menghasilkan semua sumber daya lingkungan aplikasi hijau yang diperlukan

  • Menggeser lalu lintas berdasarkan parameter perutean lalu lintas yang ditentukan

  • Menghapus sumber daya biru

Jika terjadi kesalahan kapan saja sebelum penerapan hijau berhasil dan diselesaikan, CloudFormation putar tumpukan kembali ke statusnya sebelum seluruh penerapan hijau dimulai.

Pembaruan sumber daya yang memulai penerapan hijau

Saat Anda melakukan pembaruan tumpukan yang memperbarui properti tertentu dari ECS sumber daya tertentu, CloudFormation memulai proses penerapan hijau. Sumber daya yang memulai proses ini adalah:

Namun, jika pembaruan sumber daya ini tidak melibatkan perubahan properti yang memerlukan penggantian, penerapan hijau tidak akan dimulai. Untuk informasi selengkapnya, lihat Memahami perilaku pembaruan sumber daya tumpukan.

Penting untuk dicatat bahwa Anda tidak dapat menggabungkan pembaruan ke sumber daya di atas dengan pembaruan ke sumber daya lain dalam operasi pembaruan tumpukan yang sama. Jika Anda perlu memperbarui sumber daya yang terdaftar dan sumber daya lain dalam tumpukan yang sama, Anda memiliki dua opsi:

  • Lakukan dua operasi pembaruan tumpukan terpisah: satu yang hanya mencakup pembaruan ke sumber daya di atas, dan pembaruan tumpukan terpisah yang mencakup perubahan pada sumber daya lainnya.

  • Hapus Transform dan Hooks bagian dari templat Anda dan kemudian lakukan pembaruan tumpukan. Dalam hal ini, CloudFormation tidak akan melakukan penerapan hijau.

Mempersiapkan template Anda untuk melakukan penerapan ECS biru/hijau

Untuk mengaktifkan deployment biru/hijau di tumpukan Anda, sertakan bagian berikut dalam template tumpukan Anda sebelum melakukan pembaruan tumpukan.

  • Tambahkan referensi ke AWS::CodeDeployBlueGreen ubah ke templat anda:

    "Transform": [ "AWS::CodeDeployBlueGreen" ],
  • Tambahkan Hooks bagian yang menjalankan AWS::CodeDeploy::BlueGreen dan menentukan properti untuk deployment Anda. Untuk informasi selengkapnya, lihat AWS::CodeDeploy::BlueGreensintaks hook.

  • Di bagian Resources, tentukan sumber daya biru dan hijau untuk deployment Anda.

Anda dapat menambahkan bagian ini ketika pertama kali membuat templat (yaitu, sebelum membuat tumpukan itu sendiri), atau Anda dapat menambahkannya ke templat yang ada sebelum melakukan pembaruan tumpukan. Jika Anda menentukan penerapan biru/hijau untuk tumpukan baru, CloudFormation hanya membuat sumber daya biru selama pembuatan tumpukan — sumber daya untuk penerapan hijau tidak dibuat sampai diperlukan selama pembaruan tumpukan.

Memodelkan penerapan biru/hijau Anda menggunakan sumber daya CloudFormation

Untuk menjalankan penerapan CodeDeploy biru/hijauECS, CloudFormation template Anda harus menyertakan sumber daya yang memodelkan penerapan Anda, seperti ECS layanan Amazon dan penyeimbang beban. Untuk detail selengkapnya tentang apa yang diwakili oleh sumber daya ini, lihat Sebelum memulai ECS penerapan Amazon di AWS CodeDeploy Panduan Pengguna.

Persyaratan Sumber Daya Diperlukan/Opsional Memulai penerapan biru/hijau jika diganti?
ECSCluster Amazon AWS::ECS::Cluster Tidak wajib. Klaster default dapat digunakan. Tidak
ECSLayanan Amazon AWS::ECS::Service Wajib. Tidak
Penyeimbang Beban Jaringan atau Aplikasi AWS::ECS::Service LoadBalancer Wajib. Tidak
Listener produksi AWS::ElasticLoadBalancingV2::Listener Wajib. Tidak
Uji listener AWS::ElasticLoadBalancingV2::Listener Tidak wajib. Tidak
Dua grup target AWS::ElasticLoadBalancingV2::TargetGroup Wajib. Tidak
Definisi ECS tugas Amazon AWS::ECS::TaskDefinition Wajib. Ya
Wadah untuk ECS aplikasi Amazon Anda AWS::ECS::TaskDefinition ContainerDefinition Name Wajib. Tidak
Port untuk set tugas pengganti Anda AWS::ECS::TaskDefinition PortMapping ContainerPort Wajib. Tidak

Ubah set

Kami sangat menyarankan Anda utnuk membuat perubahan yang ditetapkan sebelum melakukan pembaruan tumpukan yang akan memulai deployment hijau. Ini memungkinkan Anda untuk melihat perubahan aktual yang akan dilakukan pada tumpukan Anda sebelum melakukan pembaruan tumpukan. Sadarilah bahwa perubahan sumber daya mungkin tidak tercantum dalam urutan yang akan dilakukan selama pembaruan tumpukan. Untuk informasi selengkapnya, lihat Perbarui CloudFormation tumpukan menggunakan set perubahan.

Memantau peristiwa tumpukan

Anda dapat melihat peristiwa tumpukan yang dihasilkan pada setiap langkah ECS penerapan pada tab Peristiwa di halaman Stack, dan menggunakan AWS CLI Untuk informasi selengkapnya, lihat Pantau kemajuan tumpukan.

IAMizin untuk penerapan biru/hijau

Agar berhasil CloudFormation melakukan penerapan biru-hijau, Anda harus memiliki izin berikut: CodeDeploy

  • codedeploy:Get*

  • codedeploy:CreateCloudFormationDeployment

Untuk informasi selengkapnya, lihat Kunci tindakan, sumber daya, dan kondisi CodeDeploy di Referensi Otorisasi Layanan.