

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

# Tentang blue/green penerapan
<a name="about-blue-green-deployments"></a>

Topik ini memberikan ikhtisar tentang cara melakukan blue/green penerapan dengan CloudFormation pekerjaan. Ini juga menjelaskan bagaimana mempersiapkan CloudFormation template Anda untuk penerapan biru/hijau.

**Topics**
+ [

## Cara kerjanya
](#blue-green-how-it-works)
+ [Pembaruan sumber daya yang memulai penerapan hijau](#blue-green-resources)
+ [Menyiapkantemplat](#blue-green-setup)
+ [Memodelkan blue/green penerapan Anda](#blue-green-required)
+ [Set perubahan](#blue-green-changesets)
+ [Memantau peristiwa tumpukan](#blue-green-events)
+ [Izin IAM](#blue-green-iam)

## Cara kerjanya
<a name="blue-green-how-it-works"></a>

Saat menggunakan CloudFormation untuk melakukan blue/green penerapan ECS CodeDeploy, Anda mulai dengan membuat template tumpukan yang menentukan 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 kesalahan terjadi pada titik mana pun sebelum deployment hijau berhasil dan diselesaikan, CloudFormation menggulung tumpukan kembali ke statusnya sebelum seluruh deployment hijau dimulai.

## Pembaruan sumber daya yang memulai penerapan hijau
<a name="blue-green-resources"></a>

Saat Anda melakukan pembaruan tumpukan yang memperbarui properti tertentu dari sumber daya ECS tertentu, CloudFormation memulai proses penerapan hijau. Sumber daya yang memulai proses ini adalah:
+ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-taskdefinition.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-taskdefinition.html)
+ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-taskset.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-taskset.html) 

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](using-cfn-updating-stacks-update-behaviors.md).

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 penyebaran ECS blue/green
<a name="blue-green-setup"></a>

Untuk mengaktifkan blue/green penerapan pada 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::BlueGreen`sintaks hook](blue-green-hook-syntax.md).
+ 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 blue/green penerapan 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 blue/green penerapan Anda menggunakan sumber daya CloudFormation
<a name="blue-green-required"></a>

Untuk melakukan penerapan CodeDeploy biru/hijau di ECS, CloudFormation template Anda harus menyertakan sumber daya yang memodelkan penerapan Anda, seperti layanan Amazon ECS dan penyeimbang beban. Untuk rincian lebih lanjut tentang apa yang diwakili sumber daya ini, lihat [Sebelum Anda memulai deployment Amazon ECS](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-steps-ecs.html#deployment-steps-prerequisites-ecs) dalam *AWS CodeDeploy Panduan Pengguna*.


| Persyaratan | Sumber daya | Diperlukan/Opsional | Memulai blue/green penerapan jika diganti? | 
| --- | --- | --- | --- | 
| Kluster Amazon ECS | [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-cluster.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-cluster.html) | Tidak wajib. Klaster default dapat digunakan. | Tidak | 
| Layanan Amazon ECS | [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-service.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-service.html) | Wajib. | Tidak | 
| Penyeimbang Beban Jaringan atau Aplikasi | [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-ecs-service-loadbalancer.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-ecs-service-loadbalancer.html) | Wajib. | Tidak | 
| Listener produksi | [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html) | Wajib. | Tidak | 
| Uji listener  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html) | Tidak wajib. | Tidak | 
| Dua grup target | [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-targetgroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-targetgroup.html) | Wajib. | Tidak | 
| Definisi tugas Amazon ECS  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-taskdefinition.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-taskdefinition.html) | Wajib. | Ya | 
| Wadah untuk aplikasi Amazon ECS Anda | [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-name](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-name) | Wajib. | Tidak | 
| Port untuk set tugas pengganti Anda | [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-ecs-taskdefinition-portmapping.html#cfn-ecs-taskdefinition-portmapping-containerport](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-ecs-taskdefinition-portmapping.html#cfn-ecs-taskdefinition-portmapping-containerport) | Wajib. | Tidak | 

## Set perubahan
<a name="blue-green-changesets"></a>

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](using-cfn-updating-stacks-changesets.md).

## Memantau peristiwa tumpukan
<a name="blue-green-events"></a>

Anda dapat melihat peristiwa tumpukan yang dihasilkan pada setiap langkah deployment ECS pada tab **Peristiwa** dari halamn **Tumpukan**, dan menggunakan AWS CLI. Untuk informasi selengkapnya, lihat [Pantau kemajuan tumpukan](monitor-stack-progress.md).

## Izin IAM untuk penerapan blue/green
<a name="blue-green-iam"></a>

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](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscodedeploy.html) di *Referensi Otorisasi Layanan*.