

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

# Integrasi CodeDeploy dengan Elastic Load Balancing
<a name="integrations-aws-elastic-load-balancing"></a>

Selama CodeDeploy penerapan, penyeimbang beban mencegah lalu lintas internet dialihkan ke instance ketika mereka tidak siap, saat ini sedang digunakan, atau tidak lagi diperlukan sebagai bagian dari lingkungan. Peran yang tepat yang dimainkan penyeimbang beban, bagaimanapun, tergantung pada apakah itu digunakan dalam blue/green penerapan atau penerapan di tempat.

**catatan**  
Penggunaan penyeimbang beban Elastic Load Balancing adalah wajib dalam blue/green penerapan dan opsional dalam penerapan di tempat.

## Jenis Elastic Load Balancing
<a name="integrations-aws-elastic-load-balancing-types"></a>

Elastic Load Balancing menyediakan tiga jenis load balancer yang dapat digunakan dalam CodeDeploy penerapan: Classic Load Balancer, Application Load Balancers, dan Network Load Balancer.

Classic Load Balancer  
Rute dan load balances baik di transport layer (TCP/SSL) or the application layer (HTTP/HTTPS). Ini mendukung VPC.  
Classic Load Balancer tidak didukung dengan penerapan Amazon ECS.

Penyeimbang Beban Aplikasi  
Rute dan load balances pada layer aplikasi (HTTP/HTTPS) dan mendukung routing berbasis jalur. Ini dapat merutekan permintaan ke port pada setiap instans EC2 atau instance kontainer di cloud pribadi virtual (VPC) Anda.  
 Grup target Application Load Balancer harus memiliki tipe target `instance` untuk penerapan pada instans EC2, dan untuk penerapan Fargate. `IP` Untuk informasi selengkapnya, lihat [Jenis target](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-type). 

Penyeimbang Beban Jaringan  
Rute dan load balances pada lapisan transport (TCP/UDP Layer-4) berdasarkan informasi alamat yang diekstrak dari header paket TCP, bukan dari konten paket. Network Load Balancer dapat menangani rentetan lalu lintas, mempertahankan IP sumber klien, dan menggunakan IP tetap untuk masa aktif load balancer. 

Untuk mempelajari lebih lanjut tentang penyeimbang beban Elastic Load Balancing, lihat topik berikut:
+ [Apa itu Penyeimbangan Beban Elastis?](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html)
+ [Apa itu Classic Load Balancer?](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/introduction.html)
+ [Apa itu Penyeimbang Beban Aplikasi?](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html)
+ [Apa itu Penyeimbang Beban Jaringan?](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html)

## Deployment Biru/Hijau
<a name="integrations-aws-elastic-load-balancing-blue-green"></a>

Mengalihkan lalu lintas instans di belakang penyeimbang beban Elastic Load Balancing sangat penting untuk penerapan. CodeDeploy blue/green 

Selama blue/green penerapan, penyeimbang beban memungkinkan lalu lintas dialihkan ke instance baru dalam grup penyebaran tempat revisi aplikasi terbaru telah digunakan (lingkungan pengganti), sesuai dengan aturan yang Anda tentukan, dan kemudian memblokir lalu lintas dari contoh lama di mana revisi aplikasi sebelumnya berjalan (lingkungan asli).

Setelah instance di lingkungan pengganti terdaftar dengan satu atau lebih penyeimbang beban, instance dari lingkungan asli dideregistrasi dan, jika Anda mau, dihentikan.

Untuk blue/green penerapan, Anda dapat menentukan satu atau beberapa Classic Load Balancer, grup target Application Load Balancer, atau grup target Network Load Balancer di grup penyebaran Anda. Anda menggunakan CodeDeploy konsol atau AWS CLI menambahkan penyeimbang beban ke grup penerapan.

Untuk informasi selengkapnya tentang penyeimbang beban dalam blue/green penerapan, lihat topik berikut:
+ [Siapkan penyeimbang beban di Elastic Load Balancing untuk penerapan Amazon CodeDeploy EC2](deployment-groups-create-load-balancer.md)
+ [Buat aplikasi untuk blue/green penyebaran (konsol)](applications-create-blue-green.md)
+ [Membuat grup penerapan untuk penerapan blue/green EC2/On-premise (konsol)](deployment-groups-create-blue-green.md)

## Penerapan di tempat
<a name="integrations-aws-elastic-load-balancing-in-place"></a>

Selama penerapan di tempat, penyeimbang beban mencegah lalu lintas internet dirutekan ke instance saat sedang digunakan, dan kemudian membuat instance tersedia untuk lalu lintas lagi setelah penerapan ke instance itu selesai.

Jika penyeimbang beban tidak digunakan selama penerapan di tempat, lalu lintas internet mungkin masih diarahkan ke instance selama proses penerapan. Akibatnya, pelanggan Anda mungkin mengalami aplikasi web yang rusak, tidak lengkap, atau ketinggalan zaman. Saat Anda menggunakan penyeimbang beban Elastic Load Balancing dengan penerapan di tempat, instance dalam grup penerapan dideregistrasi dari penyeimbang beban, diperbarui dengan revisi aplikasi terbaru, dan kemudian didaftarkan ulang dengan penyeimbang beban sebagai bagian dari grup penyebaran yang sama setelah penerapan berhasil. CodeDeploy akan menunggu hingga 1 jam agar instance menjadi sehat di belakang penyeimbang beban. Jika instance tidak ditandai sebagai sehat oleh penyeimbang beban selama masa tunggu, CodeDeploy pindah ke instance berikutnya atau gagal penerapan, berdasarkan konfigurasi penerapan.

Untuk penerapan di tempat, Anda dapat menentukan satu atau beberapa Classic Load Balancer, grup target Application Load Balancer, atau grup target Network Load Balancer. Anda dapat menentukan penyeimbang beban sebagai bagian dari konfigurasi grup penyebaran, atau Anda dapat menggunakan skrip yang disediakan oleh CodeDeploy untuk mengimplementasikan penyeimbang beban.

### Tentukan penyeimbang beban penerapan di tempat menggunakan grup penerapan
<a name="integrations-aws-elastic-load-balancing-in-place-deployment-group"></a>

Untuk menambahkan penyeimbang beban ke grup penerapan, Anda menggunakan konsol atau. CodeDeploy AWS CLI Untuk informasi tentang menentukan penyeimbang beban dalam grup penerapan untuk penerapan di tempat, lihat topik berikut:
+ [Buat aplikasi untuk penyebaran di tempat (konsol)](applications-create-in-place.md)
+ [Buat grup penerapan untuk penerapan di tempat (konsol)](deployment-groups-create-in-place.md)
+ [Siapkan penyeimbang beban di Elastic Load Balancing untuk penerapan Amazon CodeDeploy EC2](deployment-groups-create-load-balancer.md)

### Tentukan penyeimbang beban penerapan di tempat menggunakan skrip
<a name="integrations-aws-elastic-load-balancing-in-place-script"></a>

Gunakan langkah-langkah dalam prosedur berikut untuk menggunakan skrip siklus hidup penerapan guna menyiapkan penyeimbangan beban untuk penerapan di tempat.
**catatan**  
Anda harus menggunakan CodeDeployDefault. OneAtATime konfigurasi penerapan hanya jika Anda menggunakan skrip untuk menyiapkan penyeimbang beban untuk penerapan di tempat. Proses bersamaan tidak didukung, dan. CodeDeployDefault OneAtATime pengaturan memastikan eksekusi serial skrip. Untuk informasi selengkapnya tentang konfigurasi penerapan, lihat. [Bekerja dengan konfigurasi penerapan di CodeDeploy](deployment-configurations.md)

Dalam repositori CodeDeploy Sampel aktif GitHub, kami memberikan instruksi dan sampel yang dapat Anda sesuaikan untuk menggunakan penyeimbang beban CodeDeploy Elastic Load Balancing. Repositori ini mencakup tiga contoh skrip—`register_with_elb.sh`,`deregister_from_elb.sh`, dan `common_functions.sh` —yang menyediakan semua kode yang Anda butuhkan untuk memulai. Cukup edit placeholder di ketiga skrip ini, dan kemudian referensi skrip ini dari file Anda. `appspec.yml`

Untuk menyiapkan penerapan di tempat dengan instans Amazon CodeDeploy EC2 yang terdaftar dengan penyeimbang beban Elastic Load Balancing, lakukan hal berikut:

1. Unduh sampel untuk jenis penyeimbang beban yang ingin Anda gunakan untuk penerapan di tempat:
   + [Classic Load Balancer](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb)
   + [Application Load Balancer [atau Network Load](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb-v2) Balancer (skrip yang sama dapat digunakan untuk kedua jenis)](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb-v2)

1. Pastikan setiap instans Amazon EC2 target Anda telah diinstal. AWS CLI 

1. Pastikan setiap instans Amazon EC2 target Anda memiliki profil instans IAM yang dilampirkan dengan, setidaknya, izin elasticloadbalancing: \$1 dan autoscaling: \$1.

1. Sertakan dalam direktori kode sumber aplikasi Anda skrip peristiwa siklus hidup penerapan (`register_with_elb.sh`,, `deregister_from_elb.sh` dan). `common_functions.sh`

1. Dalam `appspec.yml` untuk revisi aplikasi, berikan instruksi CodeDeploy untuk menjalankan `register_with_elb.sh` skrip selama **ApplicationStart**acara dan `deregister_from_elb.sh` skrip selama **ApplicationStop**acara berlangsung.

1. Jika instans merupakan bagian dari grup Amazon EC2 Auto Scaling, Anda dapat melewati langkah ini.

   Dalam `common_functions.sh` naskah:
   + Jika Anda menggunakan [Classic Load Balancer](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb), tentukan nama penyeimbang beban Elastic Load Balancing `ELB_LIST=""` di, dan buat perubahan apa pun yang Anda perlukan pada pengaturan penerapan lain dalam file.
   + Jika Anda menggunakan [Application Load Balancer [atau Network Load](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb-v2)](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb-v2) Balancer, tentukan nama nama grup target Elastic Load Balancing, dan buat perubahan apa pun yang Anda perlukan pada pengaturan penyebaran lain `TARGET_GROUP_LIST=""` dalam file.

1. Bundel kode sumber aplikasi Anda, skrip peristiwa siklus hidup penerapan`appspec.yml`, dan penerapan ke dalam revisi aplikasi, lalu unggah revisi tersebut. Terapkan revisi ke instans Amazon EC2. Selama penerapan, skrip peristiwa siklus hidup penerapan akan membatalkan pendaftaran instans Amazon EC2 dengan penyeimbang beban, menunggu koneksi terkuras, dan kemudian mendaftarkan ulang instans Amazon EC2 dengan penyeimbang beban setelah penerapan selesai.