

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

# Melakukan deployment layanan Amazon ECS dengan mengganti tugas
<a name="deployment-type-ecs"></a>

Saat Anda membuat layanan yang menggunakan tipe penerapan *rolling update* (`ECS`), penjadwal layanan Amazon ECS menggantikan tugas yang sedang berjalan dengan tugas baru. Jumlah tugas yang ditambahkan atau dihapus Amazon ECS dari layanan selama pembaruan bergulir dikendalikan oleh konfigurasi penyebaran layanan. 

Amazon ECS menggunakan parameter berikut untuk menentukan jumlah tugas:
+ `minimumHealthyPercent`Ini mewakili batas bawah pada jumlah tugas yang harus berjalan dan sehat untuk layanan selama penerapan bergulir atau ketika instance kontainer terkuras, sebagai persen dari jumlah tugas yang diinginkan untuk layanan. Nilai ini dibulatkan ke atas. Sebagai contoh, jika persentase minimum yang sehat adalah `50` dan jumlah tugas yang diinginkan adalah empat, maka penjadwal dapat menghentikan dua tugas yang sudah ada sebelum memulai dua tugas baru. Demikian juga, jika persentase minimum yang sehat adalah 75% dan jumlah tugas yang diinginkan adalah dua, maka penjadwal tidak dapat menghentikan tugas apa pun karena nilai yang dihasilkan juga dua.
+ `maximumPercent`Ini mewakili batas atas jumlah tugas yang harus dijalankan untuk layanan selama penerapan bergulir atau ketika instance kontainer terkuras, sebagai persen dari jumlah tugas yang diinginkan untuk layanan. Nilai ini dibulatkan ke bawah. Misalnya jika persentase maksimum adalah `200` dan jumlah tugas yang diinginkan adalah empat, maka penjadwal dapat memulai empat tugas baru sebelum menghentikan empat tugas yang ada. Demikian juga, jika persentase maksimum adalah `125` dan jumlah tugas yang diinginkan adalah tiga, maka penjadwal tidak dapat memulai tugas apa pun karena nilai yang dihasilkan juga tiga.

Selama penerapan bergulir, ketika tugas menjadi tidak sehat, Amazon ECS menggantikannya untuk menjaga layanan Anda `minimumHealthyPercent` dan melindungi ketersediaan. Tugas yang tidak sehat diganti menggunakan revisi layanan yang sama dengan yang mereka miliki. Ini memastikan bahwa penggantian tugas yang tidak sehat dalam revisi sumber independen dari kegagalan tugas dalam revisi target. Saat `maximumPercent` pengaturan memungkinkan, penjadwal meluncurkan tugas pengganti sebelum menghentikan tugas yang tidak sehat. Jika `maximumPercent` parameter membatasi penjadwal untuk memulai tugas penggantian terlebih dahulu, penjadwal menghentikan satu tugas yang tidak sehat pada satu waktu untuk membebaskan kapasitas sebelum meluncurkan tugas pengganti.

**penting**  
Saat menetapkan persen sehat minimum atau persen maksimum, Anda harus memastikan bahwa penjadwal dapat menghentikan atau memulai setidaknya satu tugas saat penerapan dimulai. Jika layanan Anda memiliki deployment yang macet akibat konfigurasi deployment yang tidak valid, maka pesan kejadian layanan akan dikirimkan. Untuk informasi selengkapnya, lihat [service (*service-name*) tidak dapat menghentikan atau memulai tugas selama penerapan karena konfigurasi penerapan layanan. Perbarui nilai minimumHealthyPercent atau MaximumPercent dan coba lagi.](service-event-messages-list.md#service-event-messages-7).

Penerapan bergulir memiliki 2 metode yang menyediakan cara untuk mengidentifikasi dengan cepat kapan penerapan layanan gagal:
+ [Cara pemutus sirkuit deployment Amazon ECS mendeteksi kegagalan](deployment-circuit-breaker.md)
+ [Bagaimana CloudWatch alarm mendeteksi kegagalan penerapan Amazon ECS](deployment-alarm-failure.md)

Metode ini dapat digunakan secara terpisah atau bersama-sama. Ketika kedua metode digunakan, penerapan disetel ke gagal segera setelah kriteria kegagalan untuk salah satu metode kegagalan terpenuhi.

Gunakan panduan berikut untuk membantu menentukan metode mana yang akan digunakan:
+ Pemutus sirkuit - Gunakan metode ini saat Anda ingin menghentikan penerapan saat tugas tidak dapat dimulai.
+ CloudWatch alarm - Gunakan metode ini ketika Anda ingin menghentikan penyebaran berdasarkan metrik aplikasi.

Kedua metode mendukung pengguliran kembali ke revisi layanan sebelumnya.

## Penerjemahan image kontainer
<a name="deployment-container-image-stability"></a>

Secara default, Amazon ECS menyelesaikan tag gambar kontainer yang ditentukan dalam definisi tugas ke intisari gambar kontainer. Jika Anda membuat layanan yang menjalankan dan mempertahankan satu tugas, tugas tersebut akan digunakan untuk membuat intisari gambar untuk kontainer dalam tugas tersebut. Jika Anda membuat layanan yang menjalankan dan memelihara beberapa tugas, tugas pertama yang dimulai oleh penjadwal layanan selama penerapan akan digunakan untuk membuat intisari gambar untuk kontainer dalam tugas.

Jika tiga atau lebih upaya untuk membuat intisari gambar kontainer gagal, penerapan berlanjut tanpa resolusi intisari gambar. Jika pemutus sirkuit penyebaran diaktifkan, penerapan juga gagal dan diputar kembali.

Setelah intisari gambar kontainer dibuat, Amazon ECS menggunakan intisari untuk memulai tugas lain yang diinginkan, dan untuk pembaruan layanan di masa mendatang. Ini mengarah ke semua tugas dalam layanan yang selalu menjalankan gambar kontainer yang identik, menghasilkan konsistensi versi untuk perangkat lunak Anda.

Anda dapat mengonfigurasi perilaku ini untuk setiap kontainer dalam tugas Anda dengan menggunakan `versionConsistency` parameter dalam definisi penampung. Untuk informasi selengkapnya, lihat [versionConsistency](task_definition_parameters.md#ContainerDefinition-versionconsistency).

**catatan**  
Amazon ECS Agent versi lebih rendah dari `1.31.0` tidak mendukung resolusi intisari gambar. Versi agen `1.31.0` untuk `1.69.0` mendukung resolusi intisari gambar hanya untuk gambar yang didorong ke repositori Amazon ECR. Versi agen `1.70.0` atau yang lebih tinggi mendukung resolusi intisari gambar untuk semua gambar. 
Versi platform Fargate Linux minimum untuk resolusi intisari gambar adalah. `1.3.0` Versi platform Fargate Windows minimum untuk resolusi intisari gambar adalah. `1.0.0`
Amazon ECS tidak menangkap intisari kontainer sespan yang dikelola oleh Amazon ECS, seperti GuardDuty agen keamanan Amazon atau proxy Service Connect.
Untuk mengurangi potensi latensi yang terkait dengan resolusi gambar kontainer dalam layanan dengan beberapa tugas, jalankan versi agen Amazon ECS `1.83.0` atau yang lebih tinggi pada instans kontainer EC2. Untuk menghindari potensi latensi, tentukan intisari gambar kontainer dalam definisi tugas Anda.
Jika Anda membuat layanan dengan jumlah tugas nol yang diinginkan, Amazon ECS tidak dapat membuat intisari kontainer hingga Anda memicu penerapan layanan lain dengan jumlah tugas yang diinginkan lebih besar dari nol.
Untuk membuat intisari gambar yang diperbarui, Anda dapat memaksa penerapan baru. Intisari yang diperbarui akan digunakan untuk memulai tugas baru dan tidak akan memengaruhi tugas yang sudah berjalan. Untuk informasi selengkapnya tentang pemaksaan penerapan baru, lihat [forceNewDeployment](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html#ECS-UpdateService-request-forceNewDeployment)di referensi *Amazon ECS API.*
Saat menggunakan penyedia kapasitas EC2, jika kapasitas tidak cukup untuk memulai tugas selama penerapan awal, konsistensi versi perangkat lunak mungkin gagal. Untuk memastikan konsistensi versi dipertahankan bahkan ketika kapasitas terbatas, setel secara eksplisit `versionConsistency: "enabled"` dalam konfigurasi kontainer definisi tugas Anda daripada mengandalkan perilaku default. Hal ini menyebabkan Amazon ECS menunggu hingga kapasitas tersedia sebelum melanjutkan penyebaran.

# Praktik terbaik untuk parameter layanan Amazon ECS
<a name="service-options"></a>

Untuk memastikan tidak ada downtime aplikasi, proses penerapan adalah sebagai berikut:

1. Mulai wadah aplikasi baru sambil menjaga kontainer yang ada tetap berjalan.

1. Periksa apakah wadah baru itu sehat.

1. Hentikan wadah lama.

 Bergantung pada konfigurasi penerapan Anda dan jumlah ruang kosong yang tidak dipesan di klaster Anda, mungkin diperlukan beberapa putaran untuk menyelesaikannya, ganti semua tugas lama dengan tugas baru. 

Ada dua opsi konfigurasi layanan yang dapat Anda gunakan untuk mengubah nomor:
+ `minimumHealthyPercent`: 100% (default)

  Batas bawah pada jumlah tugas untuk layanan Anda yang harus tetap dalam `RUNNING` status selama penerapan. Ini adalah persentase dari yang `desiredCount` dibulatkan ke bilangan bulat terdekat. Parameter ini memungkinkan Anda untuk menyebarkan tanpa menggunakan kapasitas cluster tambahan.
+ `maximumPercent`: 200% (default)

   Batas atas jumlah tugas untuk layanan Anda yang diizinkan di `RUNNING` atau `PENDING` status selama penerapan. Ini adalah persentase dari yang `desiredCount` dibulatkan ke bawah ke bilangan bulat terdekat.

**Contoh: Opsi konfigurasi default**

Pertimbangkan layanan berikut yang memiliki enam tugas, digunakan dalam cluster yang memiliki ruang untuk total delapan tugas. Opsi konfigurasi layanan default tidak memungkinkan penerapan berada di bawah 100% dari enam tugas yang diinginkan.

Proses penyebaran adalah sebagai berikut:

1. Tujuannya adalah untuk mengganti enam tugas.

1. Penjadwal memulai dua tugas baru karena pengaturan default mengharuskan ada enam tugas yang berjalan.

   Sekarang ada enam tugas yang ada dan dua tugas baru.

1. Penjadwal menghentikan dua tugas yang ada.

   Sekarang ada empat tugas yang ada dan dua yang baru.

1. Penjadwal memulai dua tugas baru tambahan.

   Sekarang ada empat tugas yang ada dan empat tugas baru.

1. Penjadwal menutup dua tugas yang ada.

   Sekarang ada dua tugas yang ada dan empat yang baru.

1. Penjadwal memulai dua tugas baru tambahan.

   Sekarang ada dua tugas yang ada dan enam tugas baru

1. Penjadwal menutup dua tugas terakhir yang ada.

   Sekarang ada enam tugas baru.

Dalam contoh di atas, jika Anda menggunakan nilai default untuk opsi, ada 2,5 menit menunggu untuk setiap tugas baru yang dimulai. Selain itu, penyeimbang beban mungkin harus menunggu 5 menit agar tugas lama berhenti. 

**Contoh: Modifikasi `minimumHealthyPercent`**

Anda dapat mempercepat penerapan dengan menyetel `minimumHealthyPercent` nilainya menjadi 50%.

Pertimbangkan layanan berikut yang memiliki enam tugas, digunakan dalam cluster yang memiliki ruang untuk total delapan tugas. Proses penyebaran adalah sebagai berikut:

1. Tujuannya adalah untuk mengganti enam tugas.

1. Penjadwal menghentikan tiga tugas yang ada. 

   Masih ada tiga tugas yang berjalan yang memenuhi `minimumHealthyPercent` nilai.

1. Penjadwal memulai lima tugas baru.

   Ada tiga tugas tugas yang ada dan lima tugas baru.

1. Penjadwal menghentikan tiga tugas yang tersisa.

   Ada lima tugas baru

1. Penjadwal memulai tugas baru terakhir.

   Ada enam tugas baru.

**Contoh: Memodifikasi ruang kosong cluster**

Anda juga dapat menambahkan ruang kosong tambahan sehingga Anda dapat menjalankan tugas tambahan. 

Pertimbangkan layanan berikut yang memiliki enam tugas, digunakan dalam cluster yang memiliki ruang untuk total sepuluh tugas. Proses penyebaran adalah sebagai berikut:

1. Tujuannya adalah untuk mengganti tugas yang ada.

1. Penjadwal menghentikan tiga tugas yang ada,

   Ada tiga tugas yang ada.

1. Penjadwal memulai enam tugas baru.

   Ada tugas yang ada dan enam tugas baru

1. Penjadwal menghentikan tiga tugas yang ada.

   Ada enam tugas baru.

**Rekomendasi**

Gunakan nilai berikut untuk opsi konfigurasi layanan saat tugas Anda menganggur selama beberapa waktu dan tidak memiliki tingkat pemanfaatan yang tinggi.
+ `minimumHealthyPercent`: 50%
+ `maximumPercent`: 200% 

# Membuat penyebaran pembaruan bergulir Amazon ECS
<a name="create-service-console-v2"></a>

Buat layanan untuk menjalankan dan mempertahankan sejumlah contoh tertentu dari definisi tugas secara bersamaan dalam sebuah cluster. Jika salah satu tugas Anda gagal atau berhenti, penjadwal layanan Amazon ECS meluncurkan contoh lain dari definisi tugas Anda untuk menggantikannya. Ini membantu mempertahankan jumlah tugas yang Anda inginkan dalam layanan.

Tentukan parameter konfigurasi berikut sebelum Anda membuat layanan:
+ Ada dua opsi komputasi yang mendistribusikan tugas Anda.
  + **Strategi penyedia kapasitas** menyebabkan Amazon ECS mendistribusikan tugas Anda di satu atau di beberapa penyedia kapasitas. 

    Jika ingin menjalankan beban kerja di Instans Terkelola Amazon ECS, Anda harus menggunakan opsi strategi penyedia Kapasitas.
  + **Jenis peluncuran** menyebabkan Amazon ECS meluncurkan tugas kami secara langsung di Fargate atau pada instans EC2 yang terdaftar di kluster Anda.

    Jika ingin menjalankan beban kerja di Instans Terkelola Amazon ECS, Anda harus menggunakan opsi strategi penyedia Kapasitas.
+ Penentuan tugas yang menggunakan mode atau layanan jaringan `awsvpc` yang dikonfigurasi untuk menggunakan penyeimbang beban harus memiliki konfigurasi jaringan. Secara default, konsol memilih VPC Amazon default bersama dengan semua subnet dan grup keamanan default dalam VPC Amazon default. 
+ Strategi penempatan, Strategi penempatan tugas default mendistribusikan tugas secara merata di seluruh Availability Zone. 

  Kami menyarankan Anda menggunakan penyeimbangan kembali Availability Zone untuk membantu memastikan ketersediaan yang tinggi untuk layanan Anda. Untuk informasi selengkapnya, lihat [Menyeimbangkan Layanan Amazon ECS di Seluruh Zona Ketersediaan](service-rebalancing.md).
+ Saat Anda menggunakan **Jenis Peluncuran** untuk penyebaran layanan Anda, secara default layanan dimulai di subnet di VPC klaster Anda.
+ Untuk **strategi penyedia kapasitas**, konsol memilih opsi komputasi secara default. Berikut dijelaskan tentang urutan yang digunakan konsol untuk memilih default:
  + Jika klaster Anda memiliki strategi penyedia kapasitas default yang ditentukan, klaster akan dipilih.
  + Jika klaster Anda tidak memiliki strategi penyedia kapasitas default yang ditentukan tetapi Anda memiliki penyedia kapasitas Fargate yang ditambahkan ke klaster, strategi penyedia kapasitas khusus yang menggunakan penyedia `FARGATE` kapasitas dipilih.
  + Jika klaster Anda tidak memiliki strategi penyedia kapasitas default yang ditentukan tetapi Anda memiliki satu atau beberapa penyedia kapasitas grup Auto Scaling yang ditambahkan ke cluster, opsi **Use custom (Advanced)** akan dipilih dan Anda perlu menentukan strategi secara manual.
  + Jika klaster Anda tidak memiliki strategi penyedia kapasitas default yang ditentukan dan tidak ada penyedia kapasitas yang ditambahkan ke cluster, jenis peluncuran Fargate akan dipilih.
+ Opsi default deteksi kegagalan penerapan default adalah menggunakan opsi **pemutus sirkuit penyebaran Amazon ECS** dengan opsi **Rollback on** failure.

  Untuk informasi selengkapnya, lihat [Cara pemutus sirkuit deployment Amazon ECS mendeteksi kegagalan](deployment-circuit-breaker.md).
+ Putuskan apakah Anda ingin Amazon ECS menambah atau mengurangi jumlah tugas yang diinginkan dalam layanan Anda secara otomatis. Untuk informasi lihat,[Menskalakan layanan Amazon ECS secara otomatis](service-auto-scaling.md).
+ Jika Anda memerlukan aplikasi untuk terhubung ke aplikasi lain yang berjalan di Amazon ECS, tentukan opsi yang sesuai dengan arsitektur Anda. Untuk informasi selengkapnya, lihat [Interkoneksi layanan Amazon ECS](interconnecting-services.md). 
+ Saat Anda membuat layanan yang menggunakan pemutus sirkuit Amazon ECS, Amazon ECS membuat penyebaran layanan dan revisi layanan. Sumber daya ini memungkinkan Anda untuk melihat informasi terperinci tentang riwayat layanan. Untuk informasi selengkapnya, lihat [Melihat riwayat layanan menggunakan deployment layanan Amazon ECS](service-deployment.md).

  Untuk informasi tentang cara membuat layanan menggunakan AWS CLI, lihat [https://docs.aws.amazon.com/cli/latest/reference/ecs/create-service.html](https://docs.aws.amazon.com/cli/latest/reference/ecs/create-service.html)di *AWS Command Line Interface Referensi*.

  Untuk informasi tentang cara membuat layanan menggunakan AWS CloudFormation, lihat [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html)di *Panduan AWS CloudFormation Pengguna*.

## Buat layanan dengan opsi default
<a name="create-default-service"></a>

Anda dapat menggunakan konsol untuk membuat dan menyebarkan layanan dengan cepat. Layanan ini memiliki konfigurasi berikut:
+ Menyebarkan di VPC dan subnet yang terkait dengan cluster Anda
+ Menyebarkan satu tugas
+ Menggunakan penerapan bergulir
+ Menggunakan strategi penyedia kapasitas dengan penyedia kapasitas default Anda
+ Menggunakan pemutus sirkuit penyebaran untuk mendeteksi kegagalan dan menetapkan opsi untuk secara otomatis memutar kembali penerapan pada kegagalan

Untuk menerapkan layanan menggunakan parameter default ikuti langkah-langkah ini.

**Untuk membuat layanan (konsol Amazon ECS)**

1. Buka konsol di [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Di halaman navigasi, pilih **Cluster**.

1. Pada halaman **Clusters**, pilih cluster untuk membuat layanan di.

1. Dari tab **Layanan**, pilih **Buat**.

   Halaman **Create Service** akan muncul.

1. Di bawah **rincian Layanan**, lakukan hal berikut:

   1. Untuk **definisi Tugas**, masukkan keluarga definisi tugas dan revisi yang akan digunakan.

   1. Untuk **nama Layanan**, masukkan nama untuk layanan Anda.

1. **Untuk menggunakan ECS Exec untuk men-debug layanan, di bawah **konfigurasi Pemecahan Masalah, pilih Aktifkan** ECS Exec.**

1. Di bawah **konfigurasi Deployment**, lakukan hal berikut:

   1. Untuk **tugas yang diinginkan**, masukkan jumlah tugas untuk diluncurkan dan dipelihara dalam layanan.

1. (Opsional) Untuk membantu mengidentifikasi layanan dan tugas Anda, perluas bagian **Tag**, lalu konfigurasikan tag Anda.

   Agar Amazon ECS secara otomatis menandai semua tugas yang baru diluncurkan dengan nama cluster dan tag definisi tugas, pilih **Aktifkan tag terkelola Amazon ECS**, lalu pilih Definisi **tugas**.

   **Agar Amazon ECS secara otomatis menandai semua tugas yang baru diluncurkan dengan nama cluster dan tag layanan, pilih **Aktifkan tag terkelola Amazon ECS**, lalu pilih Layanan.**

   Menambah atau menghapus tanda.
   + [Tambahkan tag] Pilih **Tambah tag**, lalu lakukan hal berikut:
     + Untuk **Kunci**, masukkan nama kunci.
     + Untuk **Nilai**, masukkan nilai kunci.
   + [Menghapus tanda] Di samping tanda, pilih **Hapus tanda**.

## Buat layanan menggunakan parameter yang ditentukan
<a name="create-custom-service"></a>

Untuk membuat layanan dengan menggunakan parameter yang ditentukan, ikuti langkah-langkah ini.

**Untuk membuat layanan (konsol Amazon ECS)**

1. Buka konsol di [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Tentukan sumber daya dari tempat Anda meluncurkan layanan.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/create-service-console-v2.html)

   Halaman **Create Service** akan muncul.

1. Di bawah rincian Layanan, lakukan hal berikut:

   1. Untuk **definisi Tugas**, masukkan definisi tugas yang akan digunakan. Kemudian, untuk **Revisi**, pilih revisi yang akan digunakan.

   1. Untuk **nama Layanan**, masukkan nama untuk layanan Anda.

1. Untuk **klaster yang ada**, pilih cluster.

   Pilih **Buat klaster** untuk menjalankan tugas di klaster baru

1. Pilih bagaimana tugas Anda didistribusikan di seluruh infrastruktur klaster Anda. Di bawah **Konfigurasi komputasi**, pilih opsi Anda.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/create-service-console-v2.html)

1. **Untuk menggunakan ECS Exec untuk men-debug layanan, di bawah **konfigurasi Pemecahan Masalah, pilih Aktifkan** ECS Exec.**

1. Di bawah **konfigurasi Deployment**, lakukan hal berikut:

   1. Untuk **jenis Layanan**, pilih strategi penjadwalan layanan.
      + **Agar penjadwal menerapkan tepat satu tugas pada setiap instance kontainer aktif yang memenuhi semua batasan penempatan tugas, pilih Daemon.**
      + Untuk menempatkan penjadwal dan mempertahankan jumlah tugas yang diinginkan di cluster Anda, pilih **Replika**.

   1. Jika Anda memilih **Replika**, untuk **tugas yang diinginkan**, masukkan jumlah tugas yang akan diluncurkan dan dipelihara dalam layanan.

   1. **Jika Anda memilih **Replika**, agar Amazon ECS memantau distribusi tugas di seluruh Availability Zone, dan mendistribusikannya kembali ketika ada ketidakseimbangan, di bawah penyeimbangan kembali layanan Availability Zone, pilih **Availability Zone service rebalancing**.**

   1. Untuk **Health check masa tenggang**, masukkan jumlah waktu (dalam detik) yang memasukkan jumlah waktu (dalam detik) bahwa penjadwal layanan mengabaikan Elastic Load Balancing yang tidak sehat, VPC Lattice, dan pemeriksaan kesehatan kontainer setelah tugas pertama kali dimulai. Jika Anda tidak menentukan nilai periode tunggu pemeriksaan kondisi, nilai default 0 akan digunakan.

   1. Tentukan jenis penerapan untuk layanan Anda. Perluas **opsi Deployment**, lalu tentukan parameter berikut.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/create-service-console-v2.html)

   1. Untuk mengonfigurasi cara Amazon ECS mendeteksi dan menangani kegagalan penerapan, perluas **deteksi kegagalan Deployment**, lalu pilih opsi Anda. 

      1. Untuk menghentikan penerapan saat tugas tidak dapat dimulai, pilih **Gunakan pemutus sirkuit penyebaran Amazon ECS**.

         **Agar perangkat lunak secara otomatis memutar kembali penerapan ke status penerapan yang terakhir selesai saat pemutus sirkuit penyebaran mengatur penerapan ke status gagal, pilih Rollback on failure.**

      1. Untuk menghentikan penerapan berdasarkan metrik aplikasi, pilih **Gunakan CloudWatch alarm.** Kemudian, dari **nama CloudWatch alarm**, pilih alarm. Untuk membuat alarm baru, buka CloudWatch konsol.

         Agar perangkat lunak secara otomatis memutar kembali penerapan ke status penerapan yang terakhir selesai saat CloudWatch alarm menyetel penerapan ke status gagal, pilih **Rollback on** failure.

1. Jika definisi tugas Anda menggunakan mode `awsvpc` jaringan, Anda dapat menentukan konfigurasi jaringan kustom memperluas **Jaringan**, dan kemudian melakukan hal berikut:

   1. Untuk **VPC**, pilih VPC yang akan digunakan.

   1. Untuk **Subnet**, pilih satu atau beberapa subnet di VPC yang dipertimbangkan oleh penjadwal tugas saat menempatkan tugas Anda.

   1. Untuk **Grup keamanan**, Anda dapat memilih grup keamanan yang sudah ada atau menciptakan grup keamanan baru. Untuk menggunakan grup keamanan yang sudah ada, pilih grup keamanan dan lanjutkan ke langkah selanjutnya. Untuk membuat grup keamanan baru, pilih **Buat grup keamanan baru**. Anda harus menentukan nama grup keamanan, deskripsi, dan kemudian tambahkan satu atau beberapa aturan masuk untuk grup keamanan.

   1. Untuk **IP Publik**, pilih apakah akan menetapkan alamat IP publik secara otomatis ke antarmuka jaringan elastis (ENI) tugas.

      AWS Fargate tugas dapat diberikan alamat IP publik ketika dijalankan di subnet publik sehingga mereka memiliki rute ke internet. Tugas EC2 tidak dapat diberikan IP publik menggunakan bidang ini. Untuk informasi selengkapnya, lihat [opsi jaringan tugas Amazon ECS untuk Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-task-networking.html) [dan Alokasikan antarmuka jaringan untuk tugas Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking-awsvpc.html).

1. (Opsional) Untuk menghubungkan layanan Anda menggunakan Service Connect, perluas **Service Connect**, lalu tentukan yang berikut ini:

   1.  Pilih **Aktifkan Service Connect**.

   1. Di bawah **konfigurasi Service Connect**, tentukan mode klien.
      + Jika layanan Anda menjalankan aplikasi klien jaringan yang hanya perlu terhubung ke layanan lain di namespace, pilih **sisi Klien** saja.
      + Jika layanan Anda menjalankan aplikasi jaringan atau layanan web dan perlu menyediakan titik akhir untuk layanan ini, dan terhubung ke layanan lain di namespace, pilih **Klien** dan server.

   1. Untuk menggunakan namespace yang bukan namespace cluster default, untuk Namespace, pilih **namespace layanan**. Ini bisa berupa namespace yang dibuat secara terpisah di ruang nama Anda Akun AWS atau Wilayah AWS di Region yang sama yang dibagikan dengan akun Anda menggunakan (). AWS Resource Access Manager AWS RAM*Untuk informasi selengkapnya tentang AWS Cloud Map ruang nama bersama, lihat [Berbagi AWS Cloud Map namespace lintas akun](https://docs.aws.amazon.com/cloud-map/latest/dg/sharing-namespaces.html) di Panduan Pengembang.AWS Cloud Map *

   1. (Opsional) Tentukan konfigurasi log. Pilih **Gunakan koleksi log**. Opsi default mengirimkan log kontainer ke CloudWatch Log. Opsi driver log lainnya dikonfigurasi menggunakan AWS FireLens. Untuk informasi selengkapnya, lihat [Kirim log Amazon ECS ke AWS layanan atau AWS Partner](using_firelens.md).

      Berikut ini menjelaskan setiap tujuan log kontainer secara lebih rinci.
      + **Amazon CloudWatch** — Konfigurasikan tugas untuk mengirim log kontainer ke CloudWatch Log. Opsi driver log default disediakan, yang membuat grup CloudWatch log atas nama Anda. Untuk menentukan nama grup log yang berbeda, ubah nilai opsi driver.
      + **Amazon Data Firehose** — Konfigurasikan tugas untuk mengirim log kontainer ke Firehose. Opsi driver log default disediakan, yang mengirim log ke aliran pengiriman Firehose. Untuk menentukan nama aliran pengiriman yang berbeda, ubah nilai opsi driver.
      + **Amazon Kinesis Data** Streams — Konfigurasikan tugas untuk mengirim log kontainer ke Kinesis Data Streams. Opsi driver log default disediakan, yang mengirim log ke aliran Kinesis Data Streams. Untuk menentukan nama aliran yang berbeda, ubah nilai opsi driver.
      + **Amazon OpenSearch Service** - Konfigurasikan tugas untuk mengirim log kontainer ke domain OpenSearch Layanan. Opsi driver log harus disediakan. 
      + **Amazon S3** — Konfigurasikan tugas untuk mengirim log kontainer ke bucket Amazon S3. Opsi driver log default disediakan, tetapi Anda harus menentukan nama bucket Amazon S3 yang valid.

   1. (Opsional) Untuk mengaktifkan log akses, ikuti langkah-langkah ini:

      1. Perluas **konfigurasi log Access**. Untuk **Format**, pilih **JSON** atau`TEXT`.

      1. Untuk menyertakan parameter kueri dalam log akses, pilih **Sertakan parameter kueri**.

1. (Opsional) Untuk menghubungkan layanan Anda menggunakan Service Discovery, perluas **penemuan Layanan**, lalu lakukan hal berikut.

   1. Pilih **Gunakan penemuan layanan**.

   1. Untuk menggunakan namespace baru, pilih **Buat namespace baru di bawah Konfigurasi namespace****, lalu berikan nama dan deskripsi namespace**. Untuk menggunakan namespace yang ada, **pilih Pilih namespace yang ada lalu pilih namespace** yang ingin Anda gunakan.

   1. Memberikan informasi layanan Service Discovery seperti nama dan deskripsi layanan.

   1. Agar Amazon ECS melakukan pemeriksaan kesehatan tingkat kontainer secara berkala, pilih Aktifkan propagasi kesehatan tugas **Amazon ECS.**

   1. Untuk **jenis rekaman DNS, pilih jenis** rekaman DNS yang akan dibuat untuk layanan Anda. Penemuan layanan Amazon ECS hanya mendukung catatan **A** dan **SRV**, tergantung pada mode jaringan yang ditentukan oleh definisi tugas Anda. Untuk informasi selengkapnya tentang jenis rekaman ini, lihat Jenis [Rekaman DNS yang Didukung](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) di *Panduan Pengembang Amazon Route 53*.
      + Jika definisi tugas yang ditentukan oleh tugas layanan Anda menggunakan mode `host` jaringan `bridge` atau, hanya jenis catatan **SRV** yang didukung. Pilih nama kontainer dan kombinasi port untuk dikaitkan dengan catatan.
      + Jika definisi tugas yang ditentukan oleh tugas layanan Anda menggunakan mode `awsvpc` jaringan, pilih jenis catatan **A** atau **SRV**. Jika Anda memilih **A**, lewati ke langkah berikutnya. Jika Anda memilih **SRV**, tentukan port tempat layanan dapat ditemukan atau nama kontainer dan kombinasi port untuk dikaitkan dengan catatan.

      Untuk **TTL**, masukkan waktu dalam hitungan detik berapa lama set rekaman di-cache oleh resolver DNS dan oleh browser web.

1. (Opsional) Untuk menghubungkan layanan Anda menggunakan VPC Lattice, xxpand **VPC** Lattice, lalu lakukan hal berikut:

   1. Pilih **Aktifkan Kisi VPC**

   1. Untuk **peran Infrastruktur**, pilih peran infrastruktur.

      Jika Anda belum membuat peran, pilih **Buat peran infrastruktur**.

   1. Di bawah **Grup Target** pilih grup target atau grup. Anda harus memilih setidaknya satu kelompok sasaran dan dapat memiliki maksimal lima. Pilih **Tambahkan grup target** untuk menambahkan grup target tambahan. Pilih **nama Port**, **Protokol**, dan **Port** untuk setiap grup target yang Anda pilih. 

      Untuk menghapus grup target, pilih **Hapus**.
**catatan**  
Jika Anda ingin menambahkan grup target yang ada, Anda perlu menggunakan AWS CLI. *Untuk petunjuk tentang cara menambahkan grup target menggunakan AWS CLI, lihat [daftar target di Referensi](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/register-targets.html). AWS Command Line Interface *
Meskipun layanan VPC Lattice dapat memiliki beberapa grup target, setiap grup target hanya dapat ditambahkan ke satu layanan.

   1. Untuk menyelesaikan konfigurasi VPC Lattice, dengan menyertakan grup target baru Anda dalam tindakan default listener atau dalam aturan layanan VPC Lattice yang ada di konsol VPC Lattice. Untuk informasi selengkapnya, lihat [Aturan pendengar untuk layanan Kisi VPC Anda](https://docs.aws.amazon.com/vpc-lattice/latest/ug/listener-rules.html).

1. (Opsional) Untuk mengonfigurasi penyeimbang beban untuk layanan Anda, perluas **Load balancing**.

   Pilih penyeimbang beban.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/create-service-console-v2.html)

1. (Opsional) Untuk mengonfigurasi Auto Scaling layanan, perluas Service **auto scaling**, lalu tentukan parameter berikut.Untuk menggunakan predicte auto scaling, yang melihat data beban masa lalu dari arus lalu lintas, konfigurasikan setelah Anda membuat layanan. Untuk informasi selengkapnya, lihat [Gunakan pola historis untuk menskalakan layanan Amazon ECS dengan penskalaan prediktif](predictive-auto-scaling.md).

   1. Untuk menggunakan penskalaan otomatis servis, pilih **Penskalaan otomatis layanan**.

   1. Untuk **Jumlah tugas minimum**, masukkan batas bawah jumlah tugas untuk penskalaan otomatis servis yang akan digunakan. Hitungan yang diinginkan tidak akan berada di bawah hitungan ini.

   1. Untuk **Jumlah tugas maksimum**, masukkan batas atas jumlah tugas untuk penskalaan otomatis servis yang akan digunakan. Hitungan yang diinginkan tidak akan melebihi hitungan ini.

   1. Pilih jenis kebijakan. Di bawah **Jenis kebijakan penskalaan**, pilih salah satu opsi berikut.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/create-service-console-v2.html)

1. (Opsional) Untuk menggunakan strategi penempatan tugas selain default, perluas **Penempatan Tugas**, lalu pilih dari opsi berikut.

    Untuk informasi selengkapnya, lihat [Cara Amazon ECS Menempatkan Tugas di Instans Kontainer](task-placement.md).
   + **Penyebaran Seimbang AZ** – Mendistribusikan tugas ke berbagai Zona Ketersediaan dan berbagai instans kontainer di Zona Ketersediaan.
   + **AZ Balanced BinPack** — Mendistribusikan tugas di seluruh Availability Zone dan di seluruh instans kontainer dengan memori yang paling sedikit tersedia.
   + **BinPack**— Mendistribusikan tugas berdasarkan jumlah CPU atau memori yang paling sedikit tersedia.
   + **Satu Tugas per Host** – Menempatkan maksimal satu tugas dari layanan pada setiap instans kontainer.
   + **Kustom** - Tentukan strategi penempatan tugas Anda sendiri. 

   Jika Anda memilih **Kustom**, tentukan algoritme untuk menempatkan tugas dan aturan yang dipertimbangkan selama penempatan tugas.
   + Di bawah **Strategi**, untuk **Jenis** dan **Bidang**, pilih algoritma dan entitas yang akan digunakan untuk algoritme.

     Anda dapat memasukkan maksimal 5 strategi.
   + Di bawah **Constraint**, untuk **Type** dan **Expression**, pilih aturan dan atribut untuk kendala.

     **Misalnya, untuk menyetel batasan untuk menempatkan tugas pada instance T2, untuk **Ekspresi**, masukkan atribut:ecs.instance-type =\$1 t2. **\$1.

     Anda dapat memasukkan maksimal 10 kendala.

1. Jika tugas Anda menggunakan volume data yang kompatibel dengan konfigurasi saat penerapan, Anda dapat mengonfigurasi volume dengan memperluas **Volume**.

   Nama volume dan jenis volume dikonfigurasi saat Anda membuat revisi definisi tugas dan tidak dapat diubah saat membuat layanan. Untuk memperbarui nama dan jenis volume, Anda harus membuat revisi definisi tugas baru dan membuat layanan dengan menggunakan revisi baru.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/create-service-console-v2.html)

1. **Untuk menggunakan ECS Exec untuk men-debug layanan, di bawah **konfigurasi Pemecahan Masalah, pilih Aktifkan** ECS Exec.**

1. (Opsional) Untuk membantu mengidentifikasi layanan dan tugas Anda, perluas bagian **Tag**, lalu konfigurasikan tag Anda.

   **Agar Amazon ECS secara otomatis menandai semua tugas yang baru diluncurkan dengan nama cluster dan tag definisi tugas, pilih **Aktifkan tag terkelola Amazon ECS**, lalu untuk **menyebarkan tag dari**, pilih Definisi tugas.**

   **Agar Amazon ECS secara otomatis menandai semua tugas yang baru diluncurkan dengan nama cluster dan tag layanan, pilih **Aktifkan tag terkelola Amazon ECS**, lalu untuk **menyebarkan tag dari**, pilih Layanan.**

   Menambah atau menghapus tanda.
   + [Tambahkan tag] Pilih **Tambah tag**, lalu lakukan hal berikut:
     + Untuk **Kunci**, masukkan nama kunci.
     + Untuk **Nilai**, masukkan nilai kunci.
   + [Menghapus tanda] Di samping tanda, pilih **Hapus tanda**.

1. Pilih **Create** (Buat).

## Langkah selanjutnya
<a name="create-service-next-steps"></a>

Berikut ini adalah tindakan tambahan setelah Anda membuat layanan.
+ Konfigurasikan penskalaan otomatis predicte, yang melihat data pemuatan sebelumnya dari arus lalu lintas. Untuk informasi selengkapnya, lihat [Gunakan pola historis untuk menskalakan layanan Amazon ECS dengan penskalaan prediktif](predictive-auto-scaling.md).
+ Lacak penyebaran Anda dan lihat riwayat layanan Anda untuk layanan yang merupakan pemutus sirkuit Amazon ECS. Untuk informasi selengkapnya, lihat [Melihat riwayat layanan menggunakan deployment layanan Amazon ECS](service-deployment.md).