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.
Topik
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
danHooks
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 menjalankanAWS::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.