

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

# Merancang Aplikasi Anda untuk Amazon ECS
<a name="application_architecture"></a>

Anda merancang aplikasi Anda dengan membuat definisi tugas untuk aplikasi Anda. Definisi tugas berisi parameter yang menentukan informasi tentang aplikasi, termasuk:
+ Kapasitas untuk menggunakan, yang menentukan infrastruktur tempat tugas Anda di-host.

  Saat Anda menggunakan penyedia kapasitas EC2, Anda juga memilih jenis instans. Saat menggunakan penyedia kapasitas Instans Terkelola Amazon ECS, Anda dapat memberikan persyaratan instans untuk Amazon ECS untuk mengelola kapasitas komputasi. Untuk beberapa jenis contoh, seperti GPU, Anda perlu mengatur parameter tertentu. Untuk informasi selengkapnya, lihat [Kasus penggunaan definisi tugas Amazon ECS](use-cases.md).
+ Gambar kontainer, yang menyimpan kode aplikasi Anda dan semua dependensi yang diperlukan kode aplikasi Anda untuk dijalankan.
+ Mode jaringan yang digunakan untuk wadah dalam tugas Anda.

  Mode jaringan menentukan bagaimana tugas Anda berkomunikasi melalui jaringan.

  Untuk tugas yang berjalan pada instans EC2 dan Instans Terkelola Amazon ECS, ada beberapa opsi, tetapi kami menyarankan Anda menggunakan mode jaringan. `awsvpc` Mode `awsvpc` jaringan menyederhanakan jaringan kontainer dengan memberi Anda lebih banyak kontrol atas bagaimana aplikasi Anda berkomunikasi satu sama lain dan layanan lain di dalam Anda VPCs. 

  Untuk tugas yang berjalan di Fargate, Anda harus menggunakan mode `awsvpc` jaringan.
+ Konfigurasi logging yang akan digunakan untuk tugas Anda.
+ Setiap volume data yang digunakan dengan wadah dalam tugas.

Untuk daftar lengkap parameter definisi tugas, lihat[Parameter definisi tugas Amazon ECS untuk Fargate](task_definition_parameters.md).

Gunakan panduan berikut saat membuat definisi tugas:
+ Gunakan setiap keluarga definisi tugas hanya untuk satu tujuan bisnis.

  Jika Anda mengelompokkan beberapa jenis wadah aplikasi bersama-sama dalam definisi tugas yang sama, Anda tidak dapat menskalakan kontainer tersebut secara independen. Misalnya, situs web dan API biasanya memerlukan pola penskalaan yang berbeda. Saat lalu lintas meningkat, Anda mungkin memerlukan jumlah kontainer web yang berbeda dari kontainer API. Jika kedua kontainer ini digunakan dalam definisi tugas yang sama, setiap tugas menjalankan jumlah kontainer web dan kontainer API yang sama.
+ Cocokkan setiap versi aplikasi dengan revisi definisi tugas dalam keluarga definisi tugas.

  Dalam keluarga definisi tugas, setiap revisi definisi tugas mewakili point-in-time snapshot dari pengaturan untuk gambar kontainer tertentu. Ini mirip dengan bagaimana container adalah snapshot dari semua komponen yang diperlukan untuk menjalankan versi tertentu dari kode aplikasi Anda.

  Buat one-to-one pemetaan antara versi kode aplikasi, tag gambar kontainer, dan revisi definisi tugas. Proses rilis tipikal melibatkan git commit yang diubah menjadi image container yang ditandai dengan git commit SHA. Kemudian, tag gambar kontainer itu mendapatkan revisi definisi tugas Amazon ECS sendiri. Terakhir, layanan Amazon ECS diperbarui untuk menerapkan revisi definisi tugas baru.
+ Gunakan peran IAM yang berbeda untuk setiap keluarga definisi tugas.

  Tentukan setiap definisi tugas dengan peran IAM-nya sendiri. Terapkan praktik ini bersama dengan menyediakan setiap komponen bisnis keluarga definisi tugasnya sendiri. Dengan menerapkan kedua praktik terbaik ini, Anda dapat membatasi seberapa banyak akses yang dimiliki setiap layanan ke sumber daya di AWS akun Anda. Misalnya, Anda dapat memberikan akses layanan otentikasi untuk terhubung ke database kata sandi Anda. Pada saat yang sama, Anda dapat memastikan bahwa hanya layanan pesanan Anda yang memiliki akses ke informasi pembayaran kartu kredit.

# Praktik Terbaik untuk Ukuran Tugas Amazon ECS
<a name="capacity-tasksize"></a>

 Ukuran wadah dan tugas Anda sangat penting untuk penskalaan dan perencanaan kapasitas. Di Amazon ECS, CPU dan memori adalah dua metrik sumber daya yang digunakan untuk kapasitas. CPU diukur dalam satuan 1/1024 dari vCPU penuh (di mana 1024 unit sama dengan 1 vCPU utuh). Memori diukur dalam mebibytes. Dalam definisi tugas, Anda dapat mengonfigurasi reservasi dan batasan sumber daya.

Saat mengonfigurasi reservasi, Anda menetapkan jumlah minimum sumber daya yang dibutuhkan tugas. Tugas Anda menerima setidaknya jumlah sumber daya yang diminta. Aplikasi Anda mungkin dapat menggunakan lebih banyak CPU atau memori daripada reservasi yang Anda deklarasikan. Namun, ini tunduk pada batasan apa pun yang juga Anda nyatakan. Menggunakan lebih dari jumlah reservasi dikenal sebagai bursting. Di Amazon ECS, reservasi dijamin. Misalnya, jika Anda menggunakan instans Amazon EC2 untuk menyediakan kapasitas, Amazon ECS tidak menempatkan tugas pada instans yang reservasi tidak dapat dipenuhi.

Batas adalah jumlah maksimum unit CPU atau memori yang dapat digunakan oleh wadah atau tugas Anda. Setiap upaya untuk menggunakan lebih banyak CPU lebih dari batas ini menghasilkan pelambatan. Setiap upaya untuk menggunakan lebih banyak memori menghasilkan penampung Anda dihentikan.

Memilih nilai-nilai ini bisa menjadi tantangan. Ini karena nilai-nilai yang paling cocok untuk aplikasi Anda sangat bergantung pada kebutuhan sumber daya aplikasi Anda. Pengujian beban aplikasi Anda adalah kunci keberhasilan perencanaan kebutuhan sumber daya dan lebih memahami persyaratan aplikasi Anda.

## Aplikasi tanpa kewarganegaraan
<a name="capacity-tasksize-stateless"></a>

Untuk aplikasi stateless yang menskalakan secara horizontal, seperti aplikasi di belakang penyeimbang beban, sebaiknya Anda terlebih dahulu menentukan jumlah memori yang dikonsumsi aplikasi Anda saat melayani permintaan. Untuk melakukan ini, Anda dapat menggunakan alat tradisional seperti `ps` atau`top`, atau solusi pemantauan seperti CloudWatch Wawasan Kontainer.

Saat menentukan reservasi CPU, pertimbangkan bagaimana Anda ingin menskalakan aplikasi Anda untuk memenuhi persyaratan bisnis Anda. Anda dapat menggunakan reservasi CPU yang lebih kecil, seperti 256 unit CPU (atau 1/4 vCPU), untuk meningkatkan skala dengan cara halus yang meminimalkan biaya. Tapi, mereka mungkin tidak berskala cukup cepat untuk memenuhi lonjakan permintaan yang signifikan. Anda dapat menggunakan reservasi CPU yang lebih besar untuk skala masuk dan keluar lebih cepat dan karenanya mencocokkan lonjakan permintaan lebih cepat. Namun, pemesanan CPU yang lebih besar lebih mahal.

## Aplikasi lainnya
<a name="capacity-tasksize-other"></a>

Untuk aplikasi yang tidak menskalakan secara horizontal, seperti pekerja tunggal atau server database, kapasitas dan biaya yang tersedia mewakili pertimbangan Anda yang paling penting. Anda harus memilih jumlah memori dan CPU berdasarkan pengujian beban yang menunjukkan bahwa Anda perlu melayani lalu lintas untuk memenuhi tujuan tingkat layanan Anda. Amazon ECS memastikan bahwa aplikasi ditempatkan pada host yang memiliki kapasitas yang memadai.

# Jaringan tugas Amazon ECS untuk Instans Terkelola Amazon ECS
<a name="managed-instance-networking"></a>

Perilaku jaringan tugas Amazon ECS yang berjalan di Instans Terkelola Amazon ECS ditentukan oleh *mode jaringan* yang ditentukan dalam definisi tugas. Anda harus menentukan mode jaringan dalam definisi tugas. Anda tidak akan dapat menjalankan tugas di Instans Terkelola Amazon ECS menggunakan definisi tugas yang tidak menentukan mode jaringan. Instans Terkelola Amazon ECS mendukung mode jaringan berikut, memastikan kompatibilitas mundur untuk memigrasi beban kerja dari Fargate atau Amazon ECS di Amazon EC2:


| Mode jaringan | Deskripsi | 
| --- | --- | 
|  `awsvpc`  |  Setiap tugas menerima elastic network interface (ENI) dan alamat IPv4 pribadi. Ini menyediakan properti jaringan yang sama dengan instans Amazon EC2 dan kompatibel dengan tugas Fargate tradisional. Menggunakan trunking ENI untuk kepadatan tugas tinggi.  | 
|  `host`  |  Tugas berbagi namespace jaringan host secara langsung. Jaringan kontainer terkait dengan instance host yang mendasarinya.  | 

## Menggunakan VPC dalam IPv6 mode -only
<a name="managed-instances-networking-ipv6-only"></a>

Dalam konfigurasi IPv6 -only, tugas Amazon ECS Anda berkomunikasi secara eksklusif. IPv6 Untuk mengatur VPCs dan subnet untuk konfigurasi IPv6 -only, Anda harus menambahkan blok IPv6 CIDR ke VPC dan membuat subnet yang hanya menyertakan blok CIDR. IPv6 Untuk informasi selengkapnya, lihat [ IPv6 Menambahkan dukungan untuk VPC Anda](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-add.html) dan [Membuat subnet di Panduan](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html) Pengguna Amazon *VPC*. Anda juga harus memperbarui tabel rute dengan IPv6 target dan mengonfigurasi grup keamanan dengan IPv6 aturan. Untuk informasi selengkapnya, lihat [Mengonfigurasi tabel rute](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) dan [Mengonfigurasi aturan grup keamanan](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-group-rules.html) di *Panduan Pengguna Amazon VPC*.

Pertimbangan berikut berlaku untuk instans Mac:
+ Anda dapat memperbarui layanan Amazon ECS IPv4 -only atau dualstack ke IPv6 konfigurasi -only dengan memperbarui layanan secara langsung untuk IPv6 menggunakan subnet -only atau dengan membuat layanan IPv6 paralel -only dan menggunakan penerapan biru-hijau Amazon ECS untuk mengalihkan lalu lintas ke layanan baru. Untuk informasi selengkapnya tentang penerapan biru-hijau Amazon ECS, lihat. [Penerapan Amazon ECS blue/green](deployment-type-blue-green.md)
+ Layanan Amazon ECS IPv6 khusus harus menggunakan penyeimbang beban dualstack dengan grup target. IPv6 Jika Anda memigrasikan layanan Amazon ECS yang ada di belakang Application Load Balancer atau Network Load Balancer, Anda dapat membuat penyeimbang beban dualstack baru dan mengalihkan lalu lintas dari penyeimbang beban lama, atau memperbarui jenis alamat IP penyeimbang beban yang ada.

   Untuk informasi selengkapnya tentang Network Load Balancer, lihat [Membuat Network Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) Balancer [dan Memperbarui jenis alamat IP untuk Network Load Balancer Anda di *Panduan Pengguna* untuk Network Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-ip-address-type.html) Balancer. Untuk informasi selengkapnya tentang Application Load Balancer, lihat [Membuat Application Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) Balancer [dan Memperbarui jenis alamat IP untuk Application Load Balancer Anda di *Panduan Pengguna* untuk Application Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-ip-address-type.html) Balancers.
+ Untuk tugas Amazon ECS dalam konfigurasi IPv6 -only untuk berkomunikasi dengan titik akhir IPv4 -only, Anda dapat mengatur DNS64 dan NAT64 untuk terjemahan alamat jaringan dari ke. IPv6 IPv4 Untuk informasi selengkapnya, lihat [DNS64 dan NAT64](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-nat64-dns64.html) di *Panduan Pengguna Amazon VPC*.
+ Beban kerja Amazon ECS dalam konfigurasi IPv6 -only harus menggunakan titik akhir URI image dualstack Amazon ECR saat menarik gambar dari Amazon ECR. Untuk informasi selengkapnya, lihat [Memulai dengan membuat permintaan IPv6 di](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr-requests.html#ipv6-access-getting-started) *Panduan Pengguna Amazon Elastic Container Registry*.
**catatan**  
Amazon ECR tidak mendukung titik akhir VPC antarmuka dualstack yang dapat digunakan tugas dalam konfigurasi -only. IPv6 Untuk informasi selengkapnya, lihat [Memulai dengan membuat permintaan IPv6 di](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr-requests.html#ipv6-access-getting-started) *Panduan Pengguna Amazon Elastic Container Registry*.
+ Amazon ECS Exec tidak didukung dalam konfigurasi IPv6 -only.

# Alokasikan antarmuka jaringan untuk tugas di Instans Terkelola Amazon ECS
<a name="managed-instances-awsvpc-mode"></a>

 Menggunakan mode `awsvpc` jaringan di Amazon ECS Managed Instances menyederhanakan jaringan kontainer karena Anda memiliki kontrol lebih besar atas bagaimana aplikasi Anda berkomunikasi satu sama lain dan layanan lain di dalam Anda. VPCs Mode `awsvpc` jaringan juga memberikan keamanan yang lebih besar untuk wadah Anda dengan memungkinkan Anda menggunakan grup keamanan dan alat pemantauan jaringan pada tingkat yang lebih terperinci dalam tugas Anda.

Secara default, setiap instans Amazon ECS Managed Instances memiliki trunk Elastic Network Interface (ENI) yang terpasang selama peluncuran sebagai ENI utama saat tipe instans mendukung trunking. Untuk informasi selengkapnya tentang jenis instans yang mendukung trunking ENI, lihat [Instans yang didukung untuk meningkatkan antarmuka jaringan kontainer Amazon ECS.](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/eni-trunking-supported-instance-types.html)

**catatan**  
Ketika jenis instance yang dipilih tidak mendukung trunk ENIs, instance akan diluncurkan dengan ENI biasa.

Setiap tugas yang berjalan pada instance menerima ENI sendiri yang melekat pada trunk ENI, dengan alamat IP pribadi utama. Jika VPC Anda dikonfigurasi untuk mode dual-stack dan Anda menggunakan subnet dengan blok IPv6 CIDR, ENI juga menerima alamat. IPv6 Saat menggunakan subnet publik, Anda dapat menetapkan alamat IP publik secara opsional ke ENI utama Instans Terkelola Amazon ECS dengan mengaktifkan pengalamatan IPv4 publik untuk subnet. Untuk informasi selengkapnya, lihat [Memodifikasi atribut pengalamatan IP subnet Anda di Panduan](https://docs.aws.amazon.com//vpc/latest/userguide/subnet-public-ip.html) Pengguna Amazon *VPC*. Sebuah tugas hanya dapat memiliki satu ENI yang terkait dengannya pada suatu waktu. 

 Wadah yang termasuk dalam tugas yang sama juga dapat berkomunikasi melalui `localhost` antarmuka. Untuk informasi selengkapnya tentang VPCs dan subnet, lihat [Cara kerja Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html) di Panduan Pengguna *Amazon VPC*

Operasi berikut menggunakan ENI primer yang dilampirkan pada instance:
+ **Unduhan gambar** - Gambar kontainer diunduh dari Amazon ECR melalui ENI utama.
+ **Secrets retrieval** - Rahasia Secrets Manager dan kredensyal lainnya diambil melalui ENI utama.
+ **Unggahan log** - Log diunggah ke CloudWatch melalui ENI utama.
+ **Unduhan file lingkungan** - File lingkungan diunduh melalui ENI utama.

Lalu lintas aplikasi mengalir melalui tugas ENI.

Karena setiap tugas mendapatkan ENI sendiri, Anda dapat menggunakan fitur jaringan seperti VPC Flow Logs, yang dapat Anda gunakan untuk memantau lalu lintas ke dan dari tugas Anda. Untuk informasi selengkapnya, lihat [Log Alur VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) di *Panduan Pengguna Amazon VPC*.

Anda juga bisa memanfaatkannya AWS PrivateLink. Anda dapat mengonfigurasi titik akhir antarmuka VPC sehingga Anda dapat mengakses Amazon ECS APIs melalui alamat IP pribadi. AWS PrivateLink membatasi semua lalu lintas jaringan antara VPC Anda dan Amazon ECS ke jaringan Amazon. Anda tidak memerlukan sebuah gateway internet, perangkat NAT, atau gateway privat virtual. Untuk informasi selengkapnya, lihat [Titik akhir AWS PrivateLink VPC antarmuka Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html) ().

Mode `awsvpc` jaringan juga memungkinkan Anda memanfaatkan Amazon VPC Traffic Mirroring untuk keamanan dan pemantauan lalu lintas jaringan saat menggunakan jenis instans yang tidak memiliki bagasi terpasang. ENIs Untuk informasi selengkapnya, lihat [Apa itu Pencerminan Lalu Lintas](https://docs.aws.amazon.com/vpc/latest/mirroring/what-is-traffic-mirroring.html)? di Panduan *Pencerminan Lalu Lintas VPC Amazon*.

## Pertimbangan untuk mode `awsvpc`
<a name="managed-instances-awsvpc-considerations"></a>
+ Tugas memerlukan peran terkait layanan Amazon ECS untuk manajemen ENI. Peran ini dibuat secara otomatis saat Anda membuat klaster atau layanan.
+ Tugas ENIs dikelola oleh Amazon ECS dan tidak dapat dilepas atau dimodifikasi secara manual.
+ Menetapkan alamat IP publik ke tugas yang digunakan ENI `assignPublicIp` saat menjalankan tugas mandiri (`RunTask`) atau membuat atau memperbarui layanan (`CreateService`/`UpdateService`) tidak didukung.
+ Saat mengonfigurasi `awsvpc` jaringan di tingkat tugas, Anda harus menggunakan VPC yang sama dengan yang Anda tentukan sebagai bagian dari templat peluncuran penyedia kapasitas Instans Terkelola Amazon ECS. Anda dapat menggunakan subnet dan grup keamanan yang berbeda dari yang ditentukan dalam template peluncuran.
+ Untuk tugas mode `awsvpc` jaringan, gunakan tipe `ip` target saat mengonfigurasi grup target penyeimbang beban. Amazon ECS secara otomatis mengelola pendaftaran grup target untuk mode jaringan yang didukung.

## Menggunakan VPC dalam mode tumpukan dobel
<a name="managed-instance-networking-vpc-dual-stack"></a>

Saat menggunakan VPC dalam mode dual-stack, tugas Anda dapat berkomunikasi melalui, atau IPv4, atau IPv6 keduanya. IPv4 dan IPv6 alamat independen satu sama lain. Oleh karena itu Anda harus mengonfigurasi perutean dan keamanan di VPC Anda secara terpisah IPv4 untuk dan. IPv6 *Untuk informasi selengkapnya tentang cara mengonfigurasi VPC Anda untuk mode tumpukan ganda, lihat [Memigrasi ke dalam](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) Panduan Pengguna VPC IPv6 Amazon.*

Jika Anda mengonfigurasi VPC Anda dengan gateway internet atau gateway internet khusus keluar, Anda dapat menggunakan VPC Anda dalam mode dual-stack. Dengan melakukan ini, tugas-tugas yang diberi IPv6 alamat dapat mengakses internet melalui gateway internet atau gateway internet khusus egress-. Gateway NAT bersifat opsional. *Untuk informasi selengkapnya, lihat [gateway Internet dan gateway](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) internet khusus [eGress di Panduan Pengguna Amazon](https://docs.aws.amazon.com/vpc/latest/userguide/egress-only-internet-gateway.html) VPC.*

Tugas Amazon ECS diberikan IPv6 alamat jika kondisi berikut terpenuhi:
+ Instans Instans Terkelola Amazon ECS yang menghosting tugas menggunakan versi `1.45.0` atau yang lebih baru dari agen penampung. Untuk informasi tentang cara memeriksa versi agen yang digunakan instans Anda, dan memperbaruinya jika diperlukan, lihat[Memperbarui agen kontainer Amazon ECS](ecs-agent-update.md).
+ Pengaturan akun `dualStackIPv6` diaktifkan. Untuk informasi selengkapnya, lihat [Akses fitur Amazon ECS dengan pengaturan akun](ecs-account-settings.md).
+ Tugas Anda adalah menggunakan mode jaringan `awsvpc`.
+ VPC dan subnet Anda dikonfigurasi untuk. IPv6 Konfigurasi mencakup antarmuka jaringan yang dibuat di subnet yang ditentukan. *Untuk informasi selengkapnya tentang cara mengonfigurasi VPC Anda untuk mode dual-stack, lihat [Memigrasi ke IPv6 dan Memodifikasi atribut IPv6 pengalamatan untuk](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) [subnet Anda di](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#subnet-ipv6) Panduan Pengguna Amazon VPC.*

# Mode jaringan host
<a name="managed-instances-host-modes"></a>

Dalam `host` mode, tugas berbagi namespace jaringan host secara langsung. Konfigurasi jaringan container terkait dengan instans host Instans Terkelola Amazon ECS yang mendasari yang Anda tentukan menggunakan `networkConfiguration` parameter saat membuat penyedia kapasitas Instans Terkelola Amazon ECS. ``

Ada kelemahan signifikan untuk menggunakan mode jaringan ini. Anda tidak dapat menjalankan lebih dari satu instantiasi tugas pada setiap host. Ini karena hanya tugas pertama yang dapat mengikat ke port yang diperlukan pada instans Amazon EC2. Juga tidak ada cara untuk memetakan ulang port kontainer saat menggunakan mode `host` jaringan. Misalnya, jika aplikasi perlu mendengarkan nomor port tertentu, Anda tidak dapat memetakan ulang nomor port secara langsung. Sebagai gantinya, Anda harus mengelola konflik port apa pun dengan mengubah konfigurasi aplikasi.

Ada juga implikasi keamanan saat menggunakan mode `host` jaringan. Mode ini memungkinkan kontainer untuk meniru host, dan memungkinkan kontainer untuk terhubung ke layanan jaringan loopback pribadi pada host.

Gunakan mode host hanya ketika Anda memerlukan akses langsung ke jaringan host atau saat memigrasi aplikasi yang memerlukan akses jaringan tingkat host.

# Opsi Jaringan Tugas Amazon ECS untuk EC2
<a name="task-networking"></a>

Perilaku jaringan tugas Amazon ECS yang di-host di instans Amazon EC2 bergantung pada mode *jaringan yang* ditentukan dalam definisi tugas. Kami menyarankan Anda menggunakan mode `awsvpc` jaringan kecuali Anda memiliki kebutuhan khusus untuk menggunakan mode jaringan yang berbeda.

Berikut ini adalah mode jaringan yang tersedia.


| Mode jaringan | Wadah Linux di EC2 | Wadah Windows di EC2 | Deskripsi | 
| --- | --- | --- | --- | 
|  `awsvpc`  |  Ya  |  Ya  |  Tugas ini dialokasikan elastic network interface (ENI) sendiri dan alamat IPv4 atau IPv6 pribadi utama. Ini memberi tugas properti jaringan yang sama dengan instans Amazon EC2.  | 
|  `bridge`  |  Ya  |  Tidak  |  Tugas ini menggunakan jaringan virtual bawaan Docker di Linux, yang berjalan di dalam setiap instans Amazon EC2 yang menghosting tugas tersebut. Jaringan virtual bawaan di Linux menggunakan driver jaringan `bridge` Docker. Ini adalah mode jaringan default di Linux jika mode jaringan tidak ditentukan dalam definisi tugas.  | 
|  `host`  |  Ya  |  Tidak  |  Tugas menggunakan jaringan host yang melewati jaringan virtual bawaan Docker dengan memetakan port kontainer langsung ke ENI dari instans Amazon EC2 yang menjadi tuan rumah tugas. Pemetaan port dinamis tidak dapat digunakan dalam mode jaringan ini. Wadah dalam definisi tugas yang menggunakan mode ini harus menentukan `hostPort` nomor tertentu. Nomor port pada host tidak dapat digunakan oleh banyak tugas. Akibatnya, Anda tidak dapat menjalankan beberapa tugas dengan definisi tugas yang sama pada satu instans Amazon EC2.  | 
|  `none`  |  Ya  |  Tidak  |  Tugas tidak memiliki konektivitas jaringan eksternal.  | 
|  `default`  |  Tidak  |  Ya  |  Tugas ini menggunakan jaringan virtual bawaan Docker di Windows, yang berjalan di dalam setiap instans Amazon EC2 yang menghosting tugas tersebut. Jaringan virtual bawaan pada Windows menggunakan driver jaringan `nat` Docker. Ini adalah mode jaringan default di Windows jika mode jaringan tidak ditentukan dalam definisi tugas.  | 

Untuk informasi selengkapnya tentang Docker jaringan di Linux, lihat [Ikhtisar jaringan](https://docs.docker.com/engine/network/) di *DockerDokumentasi*.

Untuk informasi selengkapnya tentang Docker jaringan di Windows, lihat [Jaringan kontainer Windows](https://learn.microsoft.com/en-us/virtualization/windowscontainers/container-networking/architecture) di Microsoft *Container di Dokumentasi Windows*.

## Menggunakan VPC dalam IPv6 mode -only
<a name="networking-ipv6-only"></a>

Dalam konfigurasi IPv6 -only, tugas Amazon ECS Anda berkomunikasi secara eksklusif. IPv6 Untuk mengatur VPCs dan subnet untuk konfigurasi IPv6 -only, Anda harus menambahkan blok IPv6 CIDR ke VPC dan membuat subnet baru yang hanya menyertakan blok CIDR. IPv6 Untuk informasi selengkapnya, lihat [ IPv6 Menambahkan dukungan untuk VPC Anda](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-add.html) dan [Membuat subnet di Panduan](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html) Pengguna Amazon *VPC*.

Anda juga harus memperbarui tabel rute dengan IPv6 target dan mengonfigurasi grup keamanan dengan IPv6 aturan. Untuk informasi selengkapnya, lihat [Mengonfigurasi tabel rute](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) dan [Mengonfigurasi aturan grup keamanan](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-group-rules.html) di *Panduan Pengguna Amazon VPC*.

Pertimbangan berikut berlaku untuk instans Mac:
+ Anda dapat memperbarui layanan Amazon ECS IPv4 -only atau dualstack ke IPv6 konfigurasi -only dengan memperbarui layanan secara langsung untuk IPv6 menggunakan subnet -only atau dengan membuat layanan IPv6 paralel -only dan menggunakan penerapan biru-hijau Amazon ECS untuk mengalihkan lalu lintas ke layanan baru. Untuk informasi selengkapnya tentang penerapan biru-hijau Amazon ECS, lihat. [Penerapan Amazon ECS blue/green](deployment-type-blue-green.md)
+ Layanan Amazon ECS IPv6 khusus harus menggunakan penyeimbang beban dualstack dengan grup target. IPv6 Jika Anda memigrasikan layanan Amazon ECS yang ada di belakang Application Load Balancer atau Network Load Balancer, Anda dapat membuat penyeimbang beban dualstack baru dan mengalihkan lalu lintas dari penyeimbang beban lama, atau memperbarui jenis alamat IP penyeimbang beban yang ada.

  Untuk informasi selengkapnya tentang Network Load Balancer, lihat [Membuat Network Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) Balancer [dan Memperbarui jenis alamat IP untuk Network Load Balancer Anda di *Panduan Pengguna* untuk Network Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-ip-address-type.html) Balancer. Untuk informasi selengkapnya tentang Application Load Balancer, lihat [Membuat Application Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) Balancer [dan Memperbarui jenis alamat IP untuk Application Load Balancer Anda di *Panduan Pengguna* untuk Application Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-ip-address-type.html) Balancers.
+ IPv6-hanya konfigurasi tidak didukung padaWindows. Anda harus menggunakan Linux Amazon ECS yang dioptimalkan AMIs untuk menjalankan tugas dalam konfigurasi IPv6 -only. Untuk informasi selengkapnya tentang Linux yang dioptimalkan Amazon ECS AMIs, lihat. [Linux Amazon ECS yang dioptimalkan AMIs](ecs-optimized_AMI.md)
+ Saat Anda meluncurkan instance container untuk menjalankan tugas dalam konfigurasi IPv6 -only, Anda harus menetapkan IPv6 alamat utama untuk instance dengan menggunakan parameter `--enable-primary-ipv6` EC2.
**catatan**  
Tanpa IPv6 alamat utama, tugas yang berjalan pada instance kontainer dalam mode jaringan host atau jembatan akan gagal didaftarkan dengan penyeimbang beban atau dengan. AWS Cloud Map

  *Untuk informasi selengkapnya tentang `--enable-primary-ipv6` untuk menjalankan instans Amazon EC2, lihat [run-instance](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) di Referensi Perintah.AWS CLI *

  Untuk informasi selengkapnya tentang meluncurkan instance kontainer menggunakan Konsol Manajemen AWS, lihat[Meluncurkan instans penampung Amazon ECS Linux](launch_container_instance.md).
+ Secara default, agen penampung Amazon ECS akan mencoba mendeteksi kompatibilitas instans kontainer untuk konfigurasi IPv6 -only dengan melihat default IPv4 dan IPv6 rute instance. Untuk mengganti perilaku ini, Anda dapat mengatur ` ECS_INSTANCE_IP_COMPATIBILITY` parameter ke `ipv4` atau `ipv6` dalam `/etc/ecs/ecs.config` file instance.
+ Tugas harus menggunakan versi `1.99.1` atau yang lebih baru dari agen kontainer. Untuk informasi tentang cara memeriksa versi agen yang digunakan instans Anda dan memperbaruinya jika diperlukan, lihat[Memperbarui agen kontainer Amazon ECS](ecs-agent-update.md).
+ Untuk tugas Amazon ECS dalam konfigurasi IPv6 -only untuk berkomunikasi dengan titik akhir IPv4 -only, Anda dapat mengatur DNS64 dan NAT64 untuk terjemahan alamat jaringan dari ke. IPv6 IPv4 Untuk informasi selengkapnya, lihat [DNS64 dan NAT64](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-nat64-dns64.html) di *Panduan Pengguna Amazon VPC*.
+ Beban kerja Amazon ECS dalam konfigurasi IPv6 -only harus menggunakan titik akhir URI image dualstack Amazon ECR saat menarik gambar dari Amazon ECR. Untuk informasi selengkapnya, lihat [Memulai dengan membuat permintaan IPv6 di](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr-requests.html#ipv6-access-getting-started) *Panduan Pengguna Amazon Elastic Container Registry*.
**catatan**  
Amazon ECR tidak mendukung titik akhir VPC antarmuka dualstack yang dapat digunakan tugas dalam konfigurasi -only. IPv6 Untuk informasi selengkapnya, lihat [Memulai dengan membuat permintaan IPv6 di](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr-requests.html#ipv6-access-getting-started) *Panduan Pengguna Amazon Elastic Container Registry*.
+ Amazon ECS Exec tidak didukung dalam konfigurasi IPv6 -only.

### Wilayah AWS yang mendukung mode IPv6 -only untuk Amazon ECS
<a name="networking-ipv6-only-regions"></a>

Anda dapat menjalankan tugas dalam konfigurasi IPv6 -only di AWS wilayah berikut yang tersedia di Amazon ECS:
+ AS Timur (Ohio)
+ AS Timur (Virginia Utara)
+ AS Barat (California Utara)
+ AS Barat (Oregon)
+ Afrika (Cape Town)
+ Asia Pasifik (Hong Kong)
+ Asia Pasifik (Hyderabad)
+ Asia Pasifik (Jakarta)
+ Asia Pasifik (Melbourne)
+ Asia Pasifik (Mumbai)
+ Asia Pasifik (Osaka)
+ Asia Pasifik (Seoul)
+ Asia Pasifik (Singapura)
+ Asia Pasifik (Sydney)
+ Asia Pasifik (Tokyo)
+ (Canada (Central)
+ Kanada Barat (Calgary)
+ China (Beijing)
+ Tiongkok (Ningxia)
+ Eropa (Frankfurt)
+ Eropa (London)
+ Eropa (Milan)
+ Eropa (Paris)
+ Eropa (Spanyol)
+ Israel (Tel Aviv)
+ Timur Tengah (Bahrain)
+ Timur Tengah (UEA)
+ Amerika Selatan (Sao Paulo)
+ AWS GovCloud (AS-Timur)
+ AWS GovCloud (AS-Barat)

# Alokasikan antarmuka jaringan untuk tugas Amazon ECS
<a name="task-networking-awsvpc"></a>

Fitur jaringan tugas yang disediakan oleh mode `awsvpc` jaringan memberikan tugas Amazon ECS properti jaringan yang sama dengan instans Amazon EC2. Menggunakan mode `awsvpc` jaringan menyederhanakan jaringan kontainer, karena Anda memiliki kontrol lebih besar atas bagaimana aplikasi Anda berkomunikasi satu sama lain dan layanan lain di dalam Anda VPCs. Mode `awsvpc` jaringan juga memberikan keamanan yang lebih besar untuk wadah Anda dengan memungkinkan Anda menggunakan grup keamanan dan alat pemantauan jaringan pada tingkat yang lebih terperinci dalam tugas Anda. Anda juga dapat menggunakan fitur jaringan Amazon EC2 lainnya seperti VPC Flow Logs untuk memantau lalu lintas ke dan dari tugas Anda. Selain itu, kontainer yang memiliki tugas yang sama dapat berkomunikasi melalui antarmuka `localhost`.

Task elastic network interface (ENI) adalah fitur Amazon ECS yang dikelola sepenuhnya. Amazon ECS membuat ENI dan menempelkannya ke instans Amazon EC2 host dengan grup keamanan yang ditentukan. Tugas mengirim dan menerima lalu lintas jaringan melalui ENI dengan cara yang sama seperti instans Amazon EC2 lakukan dengan antarmuka jaringan utama mereka. Setiap tugas ENI diberi IPv4 alamat pribadi secara default. Jika VPC Anda diaktifkan untuk mode dual-stack dan Anda menggunakan subnet dengan blok IPv6 CIDR, tugas ENI juga akan menerima alamat. IPv6 Setiap tugas hanya dapat memiliki satu ENI. 

ENI ini terlihat di konsol Amazon EC2 untuk akun Anda. Akun Anda tidak dapat melepaskan atau memodifikasi. ENIs Hal ini untuk mencegah penghapusan ENI disengaja yang berkaitan dengan tugas yang sedang berjalan. Anda dapat melihat informasi lampiran ENI untuk tugas di konsol Amazon ECS atau dengan operasi [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html)API. Ketika tugas berhenti atau jika layanan menurunkan skala, tugas ENI terlepas dan dihapus.

Saat Anda membutuhkan peningkatan kepadatan ENI, gunakan pengaturan `awsvpcTrunking` akun. Amazon ECS juga membuat dan melampirkan antarmuka jaringan “trunk” untuk instance container Anda. Jaringan trunk sepenuhnya dikelola oleh Amazon ECS. Trunk ENI akan dihapus saat Anda menghentikan atau membatalkan pendaftaran instance container Anda dari klaster Amazon ECS. Untuk informasi selengkapnya tentang pengaturan `awsvpcTrunking` akun, lihat[Prasyarat](container-instance-eni.md#eni-trunking-launching).

Anda menentukan `awsvpc` dalam `networkMode` parameter definisi tugas. Untuk informasi selengkapnya, lihat [Mode jaringan](task_definition_parameters.md#network_mode). 

Kemudian, ketika Anda menjalankan tugas atau membuat layanan, gunakan `networkConfiguration` parameter yang menyertakan satu atau beberapa subnet untuk menempatkan tugas Anda dan satu atau lebih grup keamanan untuk dilampirkan ke ENI. Untuk informasi selengkapnya, lihat [Konfigurasi jaringan](service_definition_parameters.md#sd-networkconfiguration). Tugas ditempatkan pada instans Amazon EC2 yang kompatibel di Availability Zone yang sama dengan subnet tersebut, dan grup keamanan yang ditentukan dikaitkan dengan ENI yang disediakan untuk tugas tersebut.

## Pertimbangan Linux
<a name="linux"></a>

 Pertimbangkan hal berikut saat menggunakan sistem operasi Linux.
+ Jika Anda menggunakan instance p5.48xlarge dalam `awsvpc` mode, Anda tidak dapat menjalankan lebih dari 1 tugas pada instance tersebut.
+ Tugas dan layanan yang menggunakan mode `awsvpc` jaringan memerlukan peran terkait layanan Amazon ECS untuk memberi Amazon ECS izin untuk melakukan panggilan ke layanan lain AWS atas nama Anda. Peran ini dibuat untuk Anda secara otomatis saat membuat klaster atau jika Anda membuat atau memperbarui layanan, di Konsol Manajemen AWS. Untuk informasi selengkapnya, lihat [Menggunakan peran terkait layanan untuk Amazon ECS](using-service-linked-roles.md). Anda juga dapat membuat peran terkait layanan dengan perintah berikut: AWS CLI 

  ```
  aws iam [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) --aws-service-name ecs.amazonaws.com
  ```
+ Instans Amazon EC2 Linux Anda memerlukan versi `1.15.0` atau yang lebih baru dari agen penampung untuk menjalankan tugas yang menggunakan mode `awsvpc` jaringan. Jika Anda menggunakan AMI Amazon ECS yang dioptimalkan, instans Anda memerlukan setidaknya `1.15.0-4` versi `ecs-init` paket juga.
+ Amazon ECS mengisi nama host tugas dengan nama host DNS (internal) yang disediakan Amazon saat opsi dan `enableDnsHostnames` opsi `enableDnsSupport` diaktifkan di VPC Anda. Jika opsi ini tidak diaktifkan, nama host DNS tugas disetel ke nama host acak. *Untuk informasi selengkapnya tentang pengaturan DNS untuk VPC, [lihat Menggunakan DNS dengan VPC Anda di Panduan Pengguna Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html).*
+ Setiap tugas Amazon ECS yang menggunakan mode `awsvpc` jaringan menerima elastic network interface (ENI) sendiri, yang dilampirkan ke instans Amazon EC2 yang menghostingnya. Ada kuota default untuk jumlah antarmuka jaringan yang dapat dilampirkan ke instans Amazon EC2 Linux. Antarmuka jaringan utama dihitung sebagai satu terhadap kuota itu. Misalnya, secara default, sebuah `c5.large` instance mungkin hanya memiliki hingga tiga ENIs yang dapat dilampirkan padanya. Antarmuka jaringan utama untuk instance dihitung sebagai satu. Anda dapat melampirkan dua tambahan ENIs ke instance. Karena setiap tugas yang menggunakan mode `awsvpc` jaringan memerlukan ENI, Anda biasanya hanya dapat menjalankan dua tugas tersebut pada jenis instance ini. Untuk informasi selengkapnya tentang batas ENI default untuk setiap jenis instans, lihat [alamat IP per antarmuka jaringan per jenis instans](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) di *Panduan Pengguna Amazon EC2*.
+ Amazon ECS mendukung peluncuran instans Amazon EC2 Linux yang menggunakan tipe instans yang didukung dengan peningkatan kepadatan ENI. Saat Anda memilih setelan `awsvpcTrunking` akun dan mendaftarkan instans Amazon EC2 Linux yang menggunakan jenis instans ini ke klaster Anda, instans ini memiliki kuota ENI yang lebih tinggi. Menggunakan instans ini dengan kuota yang lebih tinggi ini berarti Anda dapat menempatkan lebih banyak tugas di setiap instans Amazon EC2 Linux. Untuk menggunakan peningkatan kepadatan ENI dengan fitur trunking, instans Amazon EC2 Anda harus menggunakan agen penampung `1.28.1` versi atau yang lebih baru. Jika Anda menggunakan AMI Amazon ECS yang dioptimalkan, instans Anda juga memerlukan setidaknya `1.28.1-2` versi paket. `ecs-init` Untuk informasi lebih lanjut tentang penyertaan pada pengaturan akun `awsvpcTrunking`, lihat [Akses fitur Amazon ECS dengan pengaturan akun](ecs-account-settings.md). Untuk informasi lebih lanjut tentang trunking ENI, lihat. [Meningkatkan antarmuka jaringan instans kontainer Amazon ECS Linux](container-instance-eni.md)
+ Saat menghosting tugas yang menggunakan mode `awsvpc` jaringan di instans Amazon EC2 Linux, tugas Anda ENIs tidak diberikan alamat IP publik. Untuk mengakses internet, tugas harus diluncurkan di subnet pribadi yang dikonfigurasi untuk menggunakan gateway NAT. Untuk informasi lebih lanjut, lihat [Gateway NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) dalam *Panduan Pengguna Amazon VPC*. Akses jaringan masuk harus dari dalam VPC yang menggunakan alamat IP pribadi atau dirutekan melalui penyeimbang beban dari dalam VPC. Tugas yang diluncurkan dalam subnet publik tidak memiliki akses ke internet.
+ Amazon ECS hanya mengenali ENI yang dilampirkan ke instans Amazon EC2 Linux Anda. Jika Anda ENIs melampirkan instans secara manual, Amazon ECS mungkin mencoba menambahkan tugas ke instans yang tidak memiliki cukup adaptor jaringan. Hal ini dapat mengakibatkan waktu tugas habis dan pindah ke status deprovisioning dan kemudian status berhenti. Kami menyarankan Anda untuk tidak ENIs melampirkan instans Anda secara manual.
+ Instans Amazon EC2 Linux harus terdaftar dengan `ecs.capability.task-eni` kemampuan yang harus dipertimbangkan untuk penempatan tugas dengan mode jaringan. `awsvpc` Instans yang menjalankan versi `1.15.0-4` atau yang lebih baru `ecs-init` terdaftar dengan atribut ini secara otomatis.
+ ENI yang dibuat dan dilampirkan ke instans Amazon EC2 Linux Anda tidak dapat dilepaskan secara manual atau dimodifikasi oleh akun Anda. Hal ini untuk mencegah menghapus ENI disengaja yang berhubungan dengan tugas yang sedang berjalan. Untuk melepaskan tugas, hentikan tugas. ENIs 
+ Ada batas 16 subnet dan 5 grup keamanan yang dapat ditentukan dalam `awsVpcConfiguration` saat menjalankan tugas atau membuat layanan yang menggunakan mode jaringan `awsvpc`. Untuk informasi selengkapnya, lihat [AwsVpcConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_AwsVpcConfiguration.html)di *Referensi API Amazon Elastic Container Service*.
+ Saat tugas dimulai dengan mode `awsvpc` jaringan, agen penampung Amazon ECS membuat `pause` wadah tambahan untuk setiap tugas sebelum memulai kontainer dalam definisi tugas. Kemudian mengkonfigurasi namespace jaringan `pause` wadah dengan menjalankan plugin CNI. [amazon-ecs-cni-plugins ](https://github.com/aws/amazon-ecs-cni-plugins) Agen kemudian memulai sisa kontainer dalam tugas sehingga mereka berbagi tumpukan jaringan kontainer `pause`. Ini berarti bahwa semua kontainer dalam tugas yang dialamatkan oleh alamat IP dari ENI, dan mereka dapat berkomunikasi satu sama lain melalui antarmuka `localhost`.
+ Layanan dengan tugas yang menggunakan mode `awsvpc` jaringan hanya mendukung Application Load Balancer dan Network Load Balancer. Saat Anda membuat grup target apa pun untuk layanan ini, Anda harus memilih `ip` sebagai jenis target. Jangan gunakan `instance`. Ini karena tugas yang menggunakan mode `awsvpc` jaringan dikaitkan dengan ENI, bukan dengan instans Amazon EC2 Linux. Untuk informasi selengkapnya, lihat [Menggunakan penyeimbangan beban untuk mendistribusikan lalu lintas layanan Amazon ECS](service-load-balancing.md).
+ Jika VPC Anda diperbarui untuk mengubah set opsi DHCP yang digunakannya, Anda tidak dapat menerapkan perubahan ini ke tugas yang ada. Mulai tugas baru dengan perubahan ini diterapkan padanya, verifikasi bahwa mereka berfungsi dengan benar, dan kemudian hentikan tugas yang ada untuk mengubah konfigurasi jaringan ini dengan aman.

## Pertimbangan Windows
<a name="windows"></a>

 Berikut ini adalah pertimbangan ketika Anda menggunakan sistem operasi Windows:
+ Instans kontainer menggunakan Amazon ECS yang dioptimalkan Windows Server 2016 AMI tidak dapat meng-host tugas yang menggunakan mode `awsvpc` jaringan. Jika Anda memiliki klaster yang berisi Amazon ECS yang dioptimalkan Windows Server 2016 AMIs dan Windows AMIs yang mendukung mode `awsvpc` jaringan, tugas yang menggunakan mode `awsvpc` jaringan tidak diluncurkan pada instance Windows 2016 Server. Sebaliknya, mereka diluncurkan pada instance yang mendukung mode `awsvpc` jaringan.
+ Instans Windows Amazon EC2 Anda memerlukan versi `1.57.1` atau yang lebih baru dari agen penampung untuk menggunakan CloudWatch metrik untuk wadah Windows yang menggunakan mode jaringan. `awsvpc`
+ Tugas dan layanan yang menggunakan mode `awsvpc` jaringan memerlukan peran terkait layanan Amazon ECS untuk memberi Amazon ECS izin untuk melakukan panggilan ke layanan lain AWS atas nama Anda. Peran ini dibuat untuk Anda secara otomatis ketika Anda membuat klaster, atau jika Anda membuat atau memperbarui layanan di Konsol Manajemen AWS. Untuk informasi selengkapnya, lihat [Menggunakan peran terkait layanan untuk Amazon ECS](using-service-linked-roles.md). Anda juga dapat membuat peran terkait layanan dengan perintah berikut AWS CLI .

  ```
  aws iam [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) --aws-service-name ecs.amazonaws.com
  ```
+ Instans Windows Amazon EC2 Anda memerlukan versi `1.54.0` atau yang lebih baru dari agen penampung untuk menjalankan tugas yang menggunakan mode `awsvpc` jaringan. Saat Anda mem-bootstrap instance, Anda harus mengonfigurasi opsi yang diperlukan untuk mode `awsvpc` jaringan. Untuk informasi selengkapnya, lihat [Bootstrapping instans penampung Amazon ECS Windows untuk meneruskan data](bootstrap_windows_container_instance.md).
+ Amazon ECS mengisi nama host tugas dengan nama host DNS (internal) yang disediakan Amazon saat `enableDnsSupport` opsi `enableDnsHostnames` dan opsi diaktifkan di VPC Anda. Jika opsi ini tidak diaktifkan, nama host DNS tugas adalah nama host acak. *Untuk informasi selengkapnya tentang pengaturan DNS untuk VPC, [lihat Menggunakan DNS dengan VPC Anda di Panduan Pengguna Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html).*
+ Setiap tugas Amazon ECS yang menggunakan mode `awsvpc` jaringan menerima elastic network interface (ENI) sendiri, yang dilampirkan ke instans Amazon EC2 Windows yang menghostingnya. Ada kuota default untuk jumlah antarmuka jaringan yang dapat dilampirkan ke instans Windows Amazon EC2. Antarmuka jaringan utama dihitung sebagai satu terhadap kuota ini. Misalnya, secara default sebuah `c5.large` instance mungkin hanya memiliki hingga tiga yang ENIs melekat padanya. Antarmuka jaringan utama untuk instance dihitung sebagai salah satunya. Anda dapat melampirkan dua tambahan ENIs ke instance. Karena setiap tugas menggunakan mode jaringan `awsvpc` memerlukan ENI, Anda biasanya hanya dapat menjalankan dua tugas tersebut pada Tipe instans ini. Untuk informasi selengkapnya tentang batas ENI default untuk setiap jenis instans, lihat [alamat IP per antarmuka jaringan per jenis instans](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/using-eni.html#AvailableIpPerENI) di *Panduan Pengguna Amazon EC2*.
+ Saat menghosting tugas yang menggunakan mode `awsvpc` jaringan di instans Amazon EC2 Windows, tugas Anda ENIs tidak diberikan alamat IP publik. Untuk mengakses internet, luncurkan tugas di subnet pribadi yang dikonfigurasi untuk menggunakan gateway NAT. Untuk informasi lebih lanjut, lihat [Gateway NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) dalam *Panduan Pengguna Amazon VPC*. Akses jaringan masuk harus dari dalam VPC yang menggunakan alamat IP pribadi atau dirutekan melalui penyeimbang beban dari dalam VPC. Tugas yang diluncurkan dalam subnet publik tidak memiliki akses ke internet.
+ Amazon ECS hanya mengenali ENI yang telah dilampirkan ke instans Amazon EC2 Windows Anda. Jika Anda ENIs melampirkan instans secara manual, Amazon ECS mungkin mencoba menambahkan tugas ke instans yang tidak memiliki cukup adaptor jaringan. Hal ini dapat mengakibatkan waktu tugas habis dan pindah ke status deprovisioning dan kemudian status berhenti. Kami menyarankan Anda untuk tidak ENIs melampirkan instans Anda secara manual.
+ Instans Windows Amazon EC2 harus terdaftar dengan `ecs.capability.task-eni` kemampuan yang harus dipertimbangkan untuk penempatan tugas dengan mode jaringan. `awsvpc` 
+  Anda tidak dapat memodifikasi atau melepaskan ENI secara manual yang dibuat dan dilampirkan ke instans Windows Amazon EC2 Anda. Ini untuk mencegah Anda secara tidak sengaja menghapus ENI yang terkait dengan tugas yang sedang berjalan. Untuk melepaskan tugas, hentikan tugas. ENIs
+  Anda hanya dapat menentukan hingga 16 subnet dan 5 grup keamanan `awsVpcConfiguration` ketika Anda menjalankan tugas atau membuat layanan yang menggunakan mode `awsvpc` jaringan. Untuk informasi selengkapnya, lihat [AwsVpcConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_AwsVpcConfiguration.html)di *Referensi API Amazon Elastic Container Service*.
+ Saat tugas dimulai dengan mode `awsvpc` jaringan, agen penampung Amazon ECS membuat `pause` wadah tambahan untuk setiap tugas sebelum memulai kontainer dalam definisi tugas. Kemudian mengkonfigurasi namespace jaringan `pause` wadah dengan menjalankan plugin CNI. [amazon-ecs-cni-plugins ](https://github.com/aws/amazon-ecs-cni-plugins) Agen kemudian memulai sisa kontainer dalam tugas sehingga mereka berbagi tumpukan jaringan kontainer `pause`. Ini berarti bahwa semua kontainer dalam tugas yang dialamatkan oleh alamat IP dari ENI, dan mereka dapat berkomunikasi satu sama lain melalui antarmuka `localhost`.
+ Layanan dengan tugas yang menggunakan mode `awsvpc` jaringan hanya mendukung Application Load Balancer dan Network Load Balancer. Saat Anda membuat grup target apa pun untuk layanan ini, Anda harus memilih `ip` sebagai jenis target, bukan`instance`. Ini karena tugas yang menggunakan mode `awsvpc` jaringan dikaitkan dengan ENI, bukan dengan instans Windows Amazon EC2. Untuk informasi selengkapnya, lihat [Menggunakan penyeimbangan beban untuk mendistribusikan lalu lintas layanan Amazon ECS](service-load-balancing.md).
+ Jika VPC Anda diperbarui untuk mengubah set opsi DHCP yang digunakannya, Anda tidak dapat menerapkan perubahan ini ke tugas yang ada. Mulai tugas baru dengan perubahan ini diterapkan padanya, verifikasi bahwa mereka berfungsi dengan benar, dan kemudian hentikan tugas yang ada untuk mengubah konfigurasi jaringan ini dengan aman.
+ Berikut ini tidak didukung saat Anda menggunakan mode `awsvpc` jaringan dalam konfigurasi Windows EC2:
  + Konfigurasikan tumpukan dobel
  + IPv6
  + ENI trunking

## Menggunakan VPC dalam mode tumpukan dobel
<a name="task-networking-vpc-dual-stack"></a>

Saat menggunakan VPC dalam mode dual-stack, tugas Anda dapat berkomunikasi melalui, atau IPv4, atau IPv6 keduanya. IPv4 dan IPv6 alamat independen satu sama lain. Oleh karena itu Anda harus mengonfigurasi perutean dan keamanan di VPC Anda secara terpisah IPv4 untuk dan. IPv6 *Untuk informasi selengkapnya tentang cara mengonfigurasi VPC Anda untuk mode tumpukan ganda, lihat [Memigrasi ke dalam](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) Panduan Pengguna VPC IPv6 Amazon.*

Jika Anda mengonfigurasi VPC Anda dengan gateway internet atau gateway internet khusus keluar, Anda dapat menggunakan VPC Anda dalam mode dual-stack. Dengan melakukan ini, tugas-tugas yang diberi IPv6 alamat dapat mengakses internet melalui gateway internet atau gateway internet khusus egress-. Gateway NAT bersifat opsional. *Untuk informasi selengkapnya, lihat [gateway Internet dan gateway](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) internet khusus [eGress di Panduan Pengguna Amazon](https://docs.aws.amazon.com/vpc/latest/userguide/egress-only-internet-gateway.html) VPC.*

Tugas Amazon ECS diberikan IPv6 alamat jika kondisi berikut terpenuhi:
+ Instans Amazon EC2 Linux yang menghosting tugas menggunakan versi `1.45.0` atau yang lebih baru dari agen penampung. Untuk informasi tentang cara memeriksa versi agen yang digunakan instans Anda, dan memperbaruinya jika diperlukan, lihat[Memperbarui agen kontainer Amazon ECS](ecs-agent-update.md).
+ Pengaturan akun `dualStackIPv6` diaktifkan. Untuk informasi selengkapnya, lihat [Akses fitur Amazon ECS dengan pengaturan akun](ecs-account-settings.md).
+ Tugas Anda adalah menggunakan mode jaringan `awsvpc`.
+ VPC dan subnet Anda dikonfigurasi untuk. IPv6 Konfigurasi mencakup antarmuka jaringan yang dibuat di subnet yang ditentukan. *Untuk informasi selengkapnya tentang cara mengonfigurasi VPC Anda untuk mode dual-stack, lihat [Memigrasi ke IPv6 dan Memodifikasi atribut IPv6 pengalamatan untuk](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) [subnet Anda di](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#subnet-ipv6) Panduan Pengguna Amazon VPC.*

# Petakan port kontainer Amazon ECS ke antarmuka jaringan instans EC2
<a name="networking-networkmode-host"></a>

Mode `host` jaringan hanya didukung untuk tugas Amazon ECS yang dihosting di instans Amazon EC2. Ini tidak didukung saat menggunakan Amazon ECS di Fargate.

Mode `host` jaringan adalah mode jaringan paling dasar yang didukung di Amazon ECS. Menggunakan mode host, jaringan kontainer terikat langsung ke host yang mendasari yang menjalankan wadah.

![\[Diagram yang menunjukkan arsitektur jaringan dengan kontainer menggunakan mode jaringan host.\]](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/images/networkmode-host.png)


Asumsikan bahwa Anda menjalankan kontainer Node.js dengan aplikasi Express yang mendengarkan pada port yang `3000` mirip dengan yang diilustrasikan dalam diagram sebelumnya. Ketika mode `host` jaringan digunakan, kontainer menerima lalu lintas pada port 3000 menggunakan alamat IP dari instans Amazon EC2 host yang mendasarinya. Kami tidak menyarankan menggunakan mode ini.

Ada kelemahan signifikan untuk menggunakan mode jaringan ini. Anda tidak dapat menjalankan lebih dari satu instantiasi tugas pada setiap host. Ini karena hanya tugas pertama yang dapat mengikat ke port yang diperlukan pada instans Amazon EC2. Juga tidak ada cara untuk memetakan ulang port kontainer saat menggunakan mode `host` jaringan. Misalnya, jika aplikasi perlu mendengarkan nomor port tertentu, Anda tidak dapat memetakan ulang nomor port secara langsung. Sebagai gantinya, Anda harus mengelola konflik port apa pun dengan mengubah konfigurasi aplikasi.

Ada juga implikasi keamanan saat menggunakan mode `host` jaringan. Mode ini memungkinkan kontainer untuk meniru host, dan memungkinkan kontainer untuk terhubung ke layanan jaringan loopback pribadi pada host.

# Gunakan Docker jaringan virtual untuk tugas-tugas Amazon ECS Linux
<a name="networking-networkmode-bridge"></a>

Mode `bridge` jaringan hanya didukung untuk tugas Amazon ECS yang dihosting di instans Amazon EC2.

Dengan `bridge` mode, Anda menggunakan jembatan jaringan virtual untuk membuat lapisan antara host dan jaringan wadah. Dengan cara ini, Anda dapat membuat pemetaan port yang memetakan ulang port host ke port kontainer. Pemetaan dapat berupa statis atau dinamis.

![\[Diagram yang menunjukkan arsitektur jaringan menggunakan mode jaringan jembatan dengan pemetaan port statis.\]](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/images/networkmode-bridge.png)


Dengan pemetaan port statis, Anda dapat secara eksplisit menentukan port host mana yang ingin Anda petakan ke port kontainer. Menggunakan contoh di atas, port `80` pada host sedang dipetakan ke port `3000` pada container. Untuk berkomunikasi dengan aplikasi kontainer, Anda mengirim lalu lintas ke port `80` ke alamat IP instans Amazon EC2. Dari perspektif aplikasi kontainer, ia melihat lalu lintas masuk di port. `3000`

Jika Anda hanya ingin mengubah port lalu lintas, maka pemetaan port statis cocok. Namun, ini masih memiliki kelemahan yang sama dengan menggunakan mode `host` jaringan. Anda tidak dapat menjalankan lebih dari satu instantiasi tugas pada setiap host. Ini karena pemetaan port statis hanya memungkinkan satu kontainer untuk dipetakan ke port 80.

Untuk mengatasi masalah ini, pertimbangkan untuk menggunakan mode `bridge` jaringan dengan pemetaan port dinamis seperti yang ditunjukkan pada diagram berikut.

![\[Diagram yang menunjukkan arsitektur jaringan menggunakan mode jaringan jembatan dengan pemetaan port dinamis.\]](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/images/networkmode-bridge-dynamic.png)


Dengan tidak menentukan port host dalam pemetaan port, Anda dapat Docker memilih port acak yang tidak digunakan dari rentang port sementara dan menetapkannya sebagai port host publik untuk wadah. Misalnya, aplikasi Node.js yang mendengarkan pada port `3000` pada kontainer mungkin diberi port nomor tinggi acak seperti `47760` pada host Amazon EC2. Melakukan ini berarti Anda dapat menjalankan beberapa salinan wadah itu di host. Selain itu, setiap kontainer dapat diberi port sendiri di host. Setiap salinan kontainer menerima lalu lintas di pelabuhan`3000`. Namun, klien yang mengirim lalu lintas ke kontainer ini menggunakan port host yang ditetapkan secara acak.

Amazon ECS membantu Anda melacak port yang ditetapkan secara acak untuk setiap tugas. Hal ini dilakukan dengan secara otomatis memperbarui kelompok target load balancer dan penemuan AWS Cloud Map layanan untuk memiliki daftar alamat IP tugas dan port. Ini membuatnya lebih mudah untuk menggunakan layanan yang beroperasi menggunakan `bridge` mode dengan port dinamis.

Namun, salah satu kelemahan menggunakan mode `bridge` jaringan adalah sulit untuk mengunci komunikasi layanan ke layanan. Karena layanan mungkin ditetapkan ke port acak dan tidak terpakai, maka perlu untuk membuka rentang port yang luas antar host. Namun, tidak mudah untuk membuat aturan khusus sehingga layanan tertentu hanya dapat berkomunikasi dengan satu layanan spesifik lainnya. Layanan tidak memiliki port khusus untuk digunakan untuk aturan jaringan grup keamanan.

## Mengkonfigurasi mode jaringan jembatan untuk beban kerja IPv6 -only
<a name="networking-networkmode-bridge-ipv6-only"></a>

Untuk mengonfigurasi `bridge` mode komunikasi IPv6, Anda harus memperbarui pengaturan Docker daemon. Perbarui `/etc/docker/daemon.json` dengan yang berikut ini:

```
{
  "ipv6": true,
  "fixed-cidr-v6": "2001:db8:1::/64",
  "ip6tables": true,
  "experimental": true
}
```

Setelah memperbarui pengaturan Docker daemon, Anda harus memulai ulang daemon.

**catatan**  
Saat Anda memperbarui dan memulai ulang daemon, Docker aktifkan IPv6 penerusan pada instance, yang dapat mengakibatkan hilangnya rute default pada instance yang menggunakan Amazon Linux 2 AMI. Untuk menghindari hal ini, gunakan perintah berikut untuk menambahkan rute default melalui IPv6 gateway subnet.  

```
ip route add default via FE80:EC2::1 dev eth0 metric 100
```

# Opsi jaringan tugas Amazon ECS untuk Fargate
<a name="fargate-task-networking"></a>

Secara default, setiap tugas Amazon ECS di Fargate disediakan elastic network interface (ENI) dengan alamat IP pribadi utama. Saat menggunakan subnet publik, Anda dapat secara opsional menetapkan alamat IP publik ke ENI tugas. Jika VPC Anda dikonfigurasi untuk mode dual-stack dan Anda menggunakan subnet dengan blok IPv6 CIDR, ENI tugas Anda juga menerima alamat. IPv6 Sebuah tugas hanya dapat memiliki satu ENI yang terkait dengannya pada suatu waktu. Wadah yang termasuk dalam tugas yang sama juga dapat berkomunikasi melalui `localhost` antarmuka. Untuk informasi selengkapnya tentang VPCs dan subnet, lihat [Cara kerja Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html) di Panduan Pengguna *Amazon VPC*.

Untuk tugas di Fargate untuk menarik gambar kontainer, tugas harus memiliki rute ke internet. Berikut ini menjelaskan bagaimana Anda dapat memverifikasi bahwa tugas Anda memiliki rute ke internet.
+ Saat menggunakan subnet publik, Anda dapat menetapkan alamat IP publik ke ENI tugas.
+ Saat menggunakan subnet privat, subnet bisa memiliki lampiran gateway NAT.
+ Saat menggunakan gambar kontainer yang di-host di Amazon ECR, Anda dapat mengonfigurasi Amazon ECR untuk menggunakan titik akhir VPC antarmuka dan penarikan gambar terjadi di atas alamat pribadi tugas. IPv4 Untuk informasi selengkapnya, lihat [Antarmuka Amazon ECR VPC endpoint AWS PrivateLink()](https://docs.aws.amazon.com/AmazonECR/latest/userguide/vpc-endpoints.html) di Panduan Pengguna *Amazon Elastic Container Registry*.

Karena setiap tugas mendapatkan ENI sendiri, Anda dapat menggunakan fitur jaringan seperti VPC Flow Logs, yang dapat Anda gunakan untuk memantau lalu lintas ke dan dari tugas Anda. Untuk informasi selengkapnya, lihat [Log Alur VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) di *Panduan Pengguna Amazon VPC*.

Anda juga bisa memanfaatkannya AWS PrivateLink. Anda dapat mengonfigurasi titik akhir antarmuka VPC sehingga Anda dapat mengakses Amazon ECS APIs melalui alamat IP pribadi. AWS PrivateLink membatasi semua lalu lintas jaringan antara VPC Anda dan Amazon ECS ke jaringan Amazon. Anda tidak memerlukan sebuah gateway internet, perangkat NAT, atau gateway privat virtual. Untuk informasi selengkapnya, lihat [Titik akhir AWS PrivateLink VPC antarmuka Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html) ().

Untuk contoh cara menggunakan `NetworkConfiguration` sumber daya CloudFormation, lihat[CloudFormation contoh template untuk Amazon ECS](working-with-templates.md).

 ENIs Yang dibuat sepenuhnya dikelola oleh AWS Fargate. Selain itu, ada kebijakan IAM terkait yang digunakan untuk memberikan izin untuk Fargate. Untuk tugas yang menggunakan versi platform Fargate `1.4.0` atau yang lebih baru, tugas menerima ENI tunggal (disebut sebagai tugas ENI) dan semua lalu lintas jaringan mengalir melalui ENI tersebut dalam VPC Anda. Lalu lintas ini direkam dalam log aliran VPC Anda. Untuk tugas yang menggunakan versi platform Fargate `1.3.0` dan sebelumnya, selain tugas ENI, tugas juga menerima ENI milik Fargate terpisah, yang digunakan untuk beberapa lalu lintas jaringan yang tidak terlihat di log aliran VPC. Tabel berikut menjelaskan perilaku lalu lintas jaringan dan kebijakan IAM yang diperlukan untuk setiap versi platform.


|  Tindakan  |  Arus lalu lintas dengan versi platform Linux `1.3.0` dan sebelumnya  |  Arus lalu lintas dengan versi platform Linux `1.4.0`  |  Arus lalu lintas dengan versi platform Windows `1.0.0`  |  Izin IAM  | 
| --- | --- | --- | --- | --- | 
|  Mengambil kredensyal login Amazon ECR  |  Fargate dimiliki ENI  |  ENI tugas  |  ENI tugas  |  Peran IAM eksekusi tugas  | 
|  Tarikan citra  |  ENI tugas  |  ENI tugas  |  ENI tugas  |  Peran IAM eksekusi tugas  | 
|  Mengirim log melalui driver log  |  ENI tugas  |  ENI tugas  |  ENI tugas  |  Peran IAM eksekusi tugas  | 
|  Mengirim log melalui FireLens Amazon ECS  |  ENI tugas  |  ENI tugas  |  ENI tugas  |  Peran IAM tugas  | 
|  Mengambil rahasia dari Secrets Manager atau Systems Manager  |  Fargate dimiliki ENI  |  ENI tugas  |  ENI tugas  |  Peran IAM eksekusi tugas  | 
|  Lalu lintas sistem file Amazon EFS  |  Tidak tersedia  |  ENI tugas  |  ENI tugas  |  Peran IAM tugas  | 
|  Lalu lintas aplikasi  |  ENI tugas  |  ENI tugas  |  ENI tugas  |  Peran IAM tugas  | 

## Pertimbangan-pertimbangan
<a name="fargate-task-networking-considerations"></a>

Pertimbangkan hal berikut saat menggunakan jaringan tugas.
+ Peran terkait layanan Amazon ECS diperlukan untuk memberi Amazon ECS izin untuk melakukan panggilan ke layanan lain AWS atas nama Anda. Peran ini dibuat untuk Anda ketika Anda membuat klaster atau jika Anda membuat atau memperbarui layanan di Konsol Manajemen AWS. Untuk informasi selengkapnya, lihat [Menggunakan peran terkait layanan untuk Amazon ECS](using-service-linked-roles.md). Anda juga dapat membuat peran terkait layanan menggunakan perintah berikut AWS CLI .

  ```
  aws iam [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) --aws-service-name ecs.amazonaws.com
  ```
+ Amazon ECS mengisi nama host tugas dengan nama host DNS yang disediakan Amazon saat `enableDnsSupport` opsi `enableDnsHostnames` dan opsi diaktifkan di VPC Anda. Jika opsi ini tidak diaktifkan, nama host DNS tugas disetel ke nama host acak. *Untuk informasi selengkapnya tentang pengaturan DNS untuk VPC, [lihat Menggunakan DNS dengan VPC Anda di Panduan Pengguna Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html).*
+ Anda hanya dapat menentukan hingga 16 subnet dan 5 grup keamanan untuk`awsVpcConfiguration`. Untuk informasi selengkapnya, lihat [AwsVpcConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_AwsVpcConfiguration.html)di *Referensi API Amazon Elastic Container Service*.
+ Anda tidak dapat secara manual melepaskan atau memodifikasi ENIs yang dibuat dan dilampirkan oleh Fargate. Ini untuk mencegah penghapusan ENI yang tidak disengaja yang terkait dengan tugas yang sedang berjalan. Untuk melepaskan tugas, hentikan tugas. ENIs 
+ Jika subnet VPC diperbarui untuk mengubah set opsi DHCP yang digunakannya, Anda juga tidak dapat menerapkan perubahan ini ke tugas yang ada yang menggunakan VPC. Mulai tugas baru, yang akan menerima pengaturan baru untuk bermigrasi dengan lancar saat menguji perubahan baru dan kemudian menghentikan yang lama, jika tidak diperlukan rollback.
+ Berikut ini berlaku untuk tugas yang dijalankan pada versi platform Fargate `1.4.0` atau yang lebih baru untuk Linux atau `1.0.0` untuk Windows. Tugas yang diluncurkan dalam subnet dual-stack menerima IPv4 alamat dan alamat. IPv6 Tugas yang diluncurkan di subnet IPv6 -only hanya menerima alamat. IPv6
+ Untuk tugas yang menggunakan versi platform `1.4.0` atau yang lebih baru untuk Linux atau `1.0.0` Windows, tugas ENIs mendukung bingkai jumbo. Antarmuka jaringan dikonfigurasi dengan unit transmisi maksimum (MTU), yang merupakan ukuran muatan terbesar yang muat dalam satu frame. Semakin besar MTU, semakin banyak muatan aplikasi yang termuat dalam satu frame, yang mengurangi overhead per frame dan meningkatkan efisiensi. Mendukung bingkai jumbo mengurangi overhead saat jalur jaringan antara tugas Anda dan tujuan mendukung bingkai jumbo.
+ Layanan dengan tugas yang menggunakan Fargate hanya mendukung Application Load Balancer dan Network Load Balancer. Classic Load Balancer tidak didukung. Saat Anda membuat grup target apa pun, Anda harus memilih `ip` sebagai jenis target, bukan`instance`. Untuk informasi selengkapnya, lihat [Menggunakan penyeimbangan beban untuk mendistribusikan lalu lintas layanan Amazon ECS](service-load-balancing.md).

## Menggunakan VPC dalam mode tumpukan dobel
<a name="fargate-task-networking-vpc-dual-stack"></a>

Saat menggunakan VPC dalam mode dual-stack, tugas Anda dapat berkomunikasi melalui IPv4 atau, atau IPv6 keduanya. IPv4 dan IPv6 alamat independen satu sama lain dan Anda harus mengonfigurasi perutean dan keamanan di VPC Anda secara terpisah IPv4 untuk dan. IPv6 Untuk informasi selengkapnya tentang mengonfigurasi VPC Anda untuk mode tumpukan ganda, [lihat Memigrasi ke IPv6 dalam Panduan Pengguna](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) VPC *Amazon*.

Jika kondisi berikut terpenuhi, tugas Amazon ECS di Fargate diberi IPv6 alamat:
+ Setelan `dualStackIPv6` akun Amazon ECS Anda diaktifkan (`enabled`) untuk prinsipal IAM yang meluncurkan tugas Anda di Wilayah tempat Anda meluncurkan tugas. Pengaturan ini hanya dapat dimodifikasi menggunakan API atau AWS CLI. Anda memiliki opsi untuk mengaktifkan pengaturan ini untuk prinsipal IAM tertentu di akun Anda atau untuk seluruh akun Anda dengan menetapkan pengaturan default akun Anda. Untuk informasi selengkapnya, lihat [Akses fitur Amazon ECS dengan pengaturan akun](ecs-account-settings.md).
+ VPC dan subnet Anda diaktifkan untuk. IPv6 *Untuk informasi selengkapnya tentang cara mengonfigurasi VPC Anda untuk mode tumpukan ganda, lihat [Memigrasi ke dalam](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) Panduan Pengguna VPC IPv6 Amazon.*
+ Subnet Anda diaktifkan untuk alamat penetapan otomatis IPv6 . Untuk informasi selengkapnya tentang cara mengonfigurasi subnet, lihat [Memodifikasi atribut IPv6 pengalamatan untuk subnet Anda di Panduan](https://docs.aws.amazon.com/vpc/latest/userguide/modify-subnets.html) Pengguna Amazon *VPC*.
+ Tugas atau layanan menggunakan versi platform Fargate `1.4.0` atau yang lebih baru untuk Linux.

Untuk tugas Amazon ECS di Fargate yang berjalan di VPC dalam mode dual-stack, untuk berkomunikasi dengan layanan ketergantungan yang digunakan dalam proses peluncuran tugas seperti ECR, SSM SecretManager dan, tabel rute subnet publik membutuhkan rute (0.0.0.0/0) ke gateway internet dan tabel rute subnet pribadi IPv4 membutuhkan rute (0.0.0.0/0) ke gateway NAT. IPv4 Untuk informasi selengkapnya, lihat [gateway Internet dan gateway](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) [NAT di Panduan Pengguna](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) *Amazon* VPC. 

Untuk contoh cara mengonfigurasi VPC dual-stack, lihat Contoh konfigurasi VPC [dual-stack](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-example.html). 

## Menggunakan VPC dalam IPv6 mode -only
<a name="fargate-task-networking-vpc-ipv6-only"></a>

Dalam konfigurasi IPv6 -only, tugas Amazon ECS Anda berkomunikasi secara eksklusif. IPv6 Untuk mengatur VPCs dan subnet untuk konfigurasi IPv6 -only, Anda harus menambahkan blok IPv6 CIDR ke VPC dan membuat subnet yang hanya menyertakan blok CIDR. IPv6 Untuk informasi selengkapnya, lihat [ IPv6 Menambahkan dukungan untuk VPC Anda](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-add.html) dan [Membuat subnet di Panduan](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html) Pengguna Amazon *VPC*. Anda juga harus memperbarui tabel rute dengan IPv6 target dan mengonfigurasi grup keamanan dengan IPv6 aturan. Untuk informasi selengkapnya, lihat [Mengonfigurasi tabel rute](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) dan [Mengonfigurasi aturan grup keamanan](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-group-rules.html) di *Panduan Pengguna Amazon VPC*.

Pertimbangan berikut berlaku untuk instans Mac:
+ Anda dapat memperbarui layanan Amazon ECS IPv4 -only atau dualstack ke IPv6 konfigurasi -only dengan memperbarui layanan secara langsung untuk IPv6 menggunakan subnet -only atau dengan membuat layanan IPv6 paralel -only dan menggunakan penerapan biru-hijau Amazon ECS untuk mengalihkan lalu lintas ke layanan baru. Untuk informasi selengkapnya tentang penerapan biru-hijau Amazon ECS, lihat. [Penerapan Amazon ECS blue/green](deployment-type-blue-green.md)
+ Layanan Amazon ECS IPv6 khusus harus menggunakan penyeimbang beban dualstack dengan grup target. IPv6 Jika Anda memigrasikan layanan Amazon ECS yang ada di belakang Application Load Balancer atau Network Load Balancer, Anda dapat membuat penyeimbang beban dualstack baru dan mengalihkan lalu lintas dari penyeimbang beban lama, atau memperbarui jenis alamat IP penyeimbang beban yang ada.

   Untuk informasi selengkapnya tentang Network Load Balancer, lihat [Membuat Network Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) Balancer [dan Memperbarui jenis alamat IP untuk Network Load Balancer Anda di *Panduan Pengguna* untuk Network Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-ip-address-type.html) Balancer. Untuk informasi selengkapnya tentang Application Load Balancer, lihat [Membuat Application Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) Balancer [dan Memperbarui jenis alamat IP untuk Application Load Balancer Anda di *Panduan Pengguna* untuk Application Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-ip-address-type.html) Balancers.
+ IPv6-hanya konfigurasi tidak didukung padaWindows.
+ Untuk tugas Amazon ECS dalam konfigurasi IPv6 -only untuk berkomunikasi dengan titik akhir IPv4 -only, Anda dapat mengatur DNS64 dan NAT64 untuk terjemahan alamat jaringan dari ke. IPv6 IPv4 Untuk informasi selengkapnya, lihat [DNS64 dan NAT64](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-nat64-dns64.html) di *Panduan Pengguna Amazon VPC*.
+ IPv6Konfigurasi -only didukung pada `1.4.0` versi platform Fargate atau yang lebih baru.
+ Beban kerja Amazon ECS dalam konfigurasi IPv6 -only harus menggunakan titik akhir URI image dualstack Amazon ECR saat menarik gambar dari Amazon ECR. Untuk informasi selengkapnya, lihat [Memulai dengan membuat permintaan IPv6 di](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr-requests.html#ipv6-access-getting-started) *Panduan Pengguna Amazon Elastic Container Registry*.
**catatan**  
Amazon ECR tidak mendukung titik akhir VPC antarmuka dualstack yang dapat digunakan tugas dalam konfigurasi -only. IPv6 Untuk informasi selengkapnya, lihat [Memulai dengan membuat permintaan IPv6 di](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr-requests.html#ipv6-access-getting-started) *Panduan Pengguna Amazon Elastic Container Registry*.
+ Amazon ECS Exec tidak didukung dalam konfigurasi IPv6 -only.
+ Amazon CloudWatch tidak mendukung titik akhir FIPS dualstack yang dapat digunakan untuk memantau tugas Amazon ECS dalam konfigurasi IPv6 -only yang menggunakan kepatuhan FIPS-140. Untuk informasi lebih lanjut tentang FIPS-140, lihat. [AWS Fargate Standar Pemrosesan Informasi Federal (FIPS-140)](ecs-fips-compliance.md)

### Wilayah AWS yang mendukung mode IPv6 -only untuk Amazon ECS
<a name="fargate-task-networking-ipv6-only-regions"></a>

Anda dapat menjalankan tugas dalam konfigurasi IPv6 -only berikut ini Wilayah AWS yang tersedia di Amazon ECS:
+ AS Timur (Ohio)
+ AS Timur (Virginia Utara)
+ AS Barat (California Utara)
+ AS Barat (Oregon)
+ Afrika (Cape Town)
+ Asia Pasifik (Hong Kong)
+ Asia Pasifik (Hyderabad)
+ Asia Pasifik (Jakarta)
+ Asia Pasifik (Melbourne)
+ Asia Pasifik (Mumbai)
+ Asia Pasifik (Osaka)
+ Asia Pasifik (Seoul)
+ Asia Pasifik (Singapura)
+ Asia Pasifik (Sydney)
+ Asia Pasifik (Tokyo)
+ (Canada (Central)
+ Kanada Barat (Calgary)
+ China (Beijing)
+ Tiongkok (Ningxia)
+ Eropa (Frankfurt)
+ Eropa (London)
+ Eropa (Milan)
+ Eropa (Paris)
+ Eropa (Spanyol)
+ Israel (Tel Aviv)
+ Timur Tengah (Bahrain)
+ Timur Tengah (UEA)
+ Amerika Selatan (Sao Paulo)
+ AWS GovCloud (AS-Timur)
+ AWS GovCloud (AS-Barat)

# Opsi penyimpanan untuk tugas Amazon ECS
<a name="using_data_volumes"></a>

Amazon ECS memberi Anda opsi penyimpanan easy-to-use data yang fleksibel, hemat biaya, dan tergantung pada kebutuhan Anda. Amazon ECS mendukung opsi volume data berikut untuk kontainer:


| Volume data | Kapasitas yang didukung | Sistem operasi yang didukung | Kegigihan penyimpanan | Kasus penggunaan | 
| --- | --- | --- | --- | --- | 
| Amazon Elastic Block Store (Amazon EBS) | Fargate, Amazon EC2, Instans yang Dikelola Amazon ECS | Linux, Windows (hanya di Amazon EC2) | Dapat dipertahankan saat dilampirkan ke tugas mandiri. Ephemeral ketika dilampirkan pada tugas yang dikelola oleh layanan. | Volume Amazon EBS menyediakan penyimpanan blok yang hemat biaya, tahan lama, dan berkinerja tinggi untuk beban kerja kontainer intensif data. Kasus penggunaan umum termasuk beban kerja transaksional seperti database, desktop virtual dan volume root, dan beban kerja intensif throughput seperti pemrosesan log dan beban kerja ETL. Untuk informasi selengkapnya, lihat [Gunakan volume Amazon EBS dengan Amazon ECS](ebs-volumes.md). | 
| Amazon Elastic File System (Amazon EFS) | Fargate, Amazon EC2, Instans yang Dikelola Amazon ECS | Linux | Persisten | Volume Amazon EFS menyediakan penyimpanan file bersama yang sederhana, dapat diskalakan, dan persisten untuk digunakan dengan tugas Amazon ECS Anda yang tumbuh dan menyusut secara otomatis saat Anda menambahkan dan menghapus file. Volume Amazon EFS mendukung konkurensi dan berguna untuk aplikasi kontainer yang menskalakan secara horizontal dan membutuhkan fungsionalitas penyimpanan seperti latensi rendah, throughput tinggi, dan konsistensi. read-after-write Kasus penggunaan umum termasuk beban kerja seperti analisis data, pemrosesan media, manajemen konten, dan penayangan web. Untuk informasi selengkapnya, lihat [Gunakan volume Amazon EFS dengan Amazon ECS](efs-volumes.md). | 
| Amazon FSx untuk Server File Windows | Amazon EC2 | Windows | Persisten | FSx untuk Windows File Server volume menyediakan server file Windows yang dikelola sepenuhnya yang dapat Anda gunakan untuk menyediakan tugas Windows Anda yang memerlukan penyimpanan file persisten, didistribusikan, dibagikan, dan statis. Kasus penggunaan umum termasuk aplikasi.NET yang mungkin memerlukan folder lokal sebagai penyimpanan persisten untuk menyimpan output aplikasi. Amazon FSx untuk Windows File Server menawarkan folder lokal dalam wadah yang memungkinkan beberapa kontainer untuk membaca-tulis pada sistem file yang sama yang didukung oleh SMB Share. Untuk informasi selengkapnya, lihat [Gunakan FSx untuk volume Server File Windows dengan Amazon ECS](wfsx-volumes.md). | 
| Amazon FSx untuk NetApp ONTAP | Amazon EC2 | Linux | Persisten | Amazon FSx untuk volume NetApp ONTAP menyediakan sistem file NetApp ONTAP terkelola sepenuhnya yang dapat Anda gunakan untuk menyediakan tugas Linux Anda yang memerlukan penyimpanan file bersama yang persisten, berkinerja tinggi, dan kaya fitur. Amazon FSx untuk NetApp ONTAP mendukung protokol NFS dan SMB dan menyediakan fitur tingkat perusahaan seperti snapshot, kloning, dan deduplikasi data. Kasus penggunaan umum termasuk beban kerja komputasi berkinerja tinggi, repositori konten, dan aplikasi yang membutuhkan penyimpanan bersama yang sesuai dengan POSIX. Untuk informasi selengkapnya, lihat [Memasang Amazon FSx untuk sistem file NetApp ONTAP dari wadah Amazon ECS.](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/mount-ontap-ecs-containers.html) | 
| Volume Docker | Amazon EC2 | Windows, Linux | Persisten | Volume Docker adalah fitur runtime kontainer Docker yang memungkinkan kontainer menyimpan data dengan memasang direktori dari sistem file host. Driver volume Docker (juga disebut sebagai plugin) digunakan untuk mengintegrasikan volume kontainer dengan sistem penyimpanan eksternal. Volume Docker dapat dikelola oleh driver pihak ketiga atau oleh local driver bawaan. Kasus penggunaan umum untuk volume Docker termasuk menyediakan volume data persisten atau volume berbagi di lokasi yang berbeda pada kontainer yang berbeda pada instance kontainer yang sama. Untuk informasi selengkapnya, lihat [Gunakan volume Docker dengan Amazon ECS](docker-volumes.md). | 
| Pemasangan terikat | Fargate, Amazon EC2, Instans yang Dikelola Amazon ECS | Windows, Linux | Fana | Bind mount terdiri dari file atau direktori pada host, seperti instans Amazon EC2 AWS Fargate atau, yang dipasang ke wadah. Kasus penggunaan umum untuk pemasangan pengikat termasuk berbagi volume dari wadah sumber dengan wadah lain dalam tugas yang sama, atau memasang volume host atau volume kosong dalam satu atau lebih wadah. Untuk informasi selengkapnya, lihat [Gunakan bind mount dengan Amazon ECS](bind-mounts.md). | 

# Gunakan volume Amazon EBS dengan Amazon ECS
<a name="ebs-volumes"></a>

Volume Amazon Elastic Block Store (Amazon EBS) menyediakan penyimpanan blok berkinerja tinggi yang sangat tersedia, hemat biaya, tahan lama, dan berkinerja tinggi untuk beban kerja intensif data. Volume Amazon EBS dapat digunakan dengan tugas Amazon ECS untuk throughput tinggi dan aplikasi intensif transaksi. Untuk informasi selengkapnya tentang volume Amazon EBS, lihat [volume Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html) di Panduan Pengguna *Amazon EBS*.

Volume Amazon EBS yang dilampirkan ke tugas Amazon ECS dikelola oleh Amazon ECS atas nama Anda. Selama peluncuran tugas mandiri, Anda dapat memberikan konfigurasi yang akan digunakan untuk melampirkan satu volume EBS ke tugas. Selama pembuatan atau pembaruan layanan, Anda dapat memberikan konfigurasi yang akan digunakan untuk melampirkan satu volume EBS per tugas ke setiap tugas yang dikelola oleh layanan Amazon ECS. Anda dapat mengonfigurasi volume baru yang kosong untuk lampiran, atau Anda dapat menggunakan snapshot untuk memuat data dari volume yang ada.

**catatan**  
Bila Anda menggunakan snapshot untuk mengonfigurasi volume, Anda dapat menentukan`volumeInitializationRate`, dalam MIB/s, di mana data diambil dari snapshot untuk membuat volume yang sepenuhnya diinisialisasi dalam jumlah waktu yang dapat diprediksi. Untuk informasi selengkapnya tentang inisialisasi volume, lihat [Menginisialisasi volume Amazon EBS di Panduan](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) Pengguna *Amazon EBS*. Untuk informasi selengkapnya tentang mengonfigurasi volume Amazon EBS, lihat [Tunda konfigurasi volume untuk waktu peluncuran dalam definisi tugas Amazon ECS](specify-ebs-config.md) dan. [Tentukan konfigurasi volume Amazon EBS pada penerapan Amazon ECS](configure-ebs-volume.md)

Konfigurasi volume ditangguhkan untuk waktu peluncuran menggunakan `configuredAtLaunch` parameter dalam definisi tugas. Dengan menyediakan konfigurasi volume pada waktu peluncuran dan bukan dalam definisi tugas, Anda dapat membuat definisi tugas yang tidak dibatasi untuk tipe volume data tertentu atau pengaturan volume EBS tertentu. Anda kemudian dapat menggunakan kembali definisi tugas Anda di berbagai lingkungan runtime. Misalnya, Anda dapat memberikan lebih banyak throughput selama penerapan untuk beban kerja produksi Anda daripada lingkungan pra-prod Anda.

 Volume Amazon EBS yang dilampirkan ke tugas dapat dienkripsi dengan kunci AWS Key Management Service (AWS KMS) untuk melindungi data Anda. Untuk informasi selengkapnya, lihat [Enkripsi data yang disimpan dalam volume Amazon EBS yang dilampirkan ke tugas Amazon ECS](ebs-kms-encryption.md).

Untuk memantau kinerja volume, Anda juga dapat menggunakan CloudWatch metrik Amazon. Untuk informasi selengkapnya tentang metrik Amazon ECS untuk volume Amazon EBS, lihat dan metrik [Metrik Amazon ECS CloudWatch](available-metrics.md) [Amazon ECS Container](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics-ECS.html) Insights.

Melampirkan volume Amazon EBS ke tugas didukung di semua komersial dan China yang [Wilayah AWS](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html?icmpid=docs_homepage_addtlrcs#region)mendukung Amazon ECS.

## Sistem operasi dan kapasitas yang didukung
<a name="ebs-volumes-configuration"></a>

Tabel berikut menyediakan sistem operasi yang didukung dan konfigurasi kapasitas.


| Kapasitas | Linux  | Windows | 
| --- | --- | --- | 
| Fargate |  Volume Amazon EBS didukung pada versi platform 1.4.0 atau yang lebih baru (Linux). Untuk informasi selengkapnya, lihat [Versi platform Fargate untuk Amazon ECS](platform-fargate.md). | Tidak didukung | 
| EC2 | Volume Amazon EBS didukung untuk tugas yang dihosting pada instans Nitro berbasis dengan Amazon Machine Images () yang dioptimalkan Amazon ECS. AMIs Untuk informasi selengkapnya tentang jenis instans, lihat [Jenis instans](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) di Panduan Pengguna Amazon EC2. Volume Amazon EBS didukung pada `20231219` AMI yang dioptimalkan ECS atau versi lebih baru. Untuk informasi selengkapnya, lihat [Mengambil metadata AMI yang dioptimalkan Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/retrieve-ecs-optimized_AMI.html). | Tugas yang dihosting pada instans Nitro berbasis dengan Amazon Machine Images AMIs () yang dioptimalkan Amazon ECS. Untuk informasi selengkapnya tentang jenis instans, lihat [Jenis instans](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) di Panduan Pengguna Amazon EC2. Volume Amazon EBS didukung pada `20241017` AMI yang dioptimalkan ECS atau versi lebih baru. Untuk informasi selengkapnya, lihat [Mengambil metadata Windows AMI yang dioptimalkan Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/retrieve-ecs-optimized_windows_AMI.html). | 
| Instans Terkelola Amazon ECS | Volume Amazon EBS didukung untuk tugas yang dihosting di Instans Terkelola Amazon ECS di Linux. | Tidak didukung | 

## Pertimbangan-pertimbangan
<a name="ebs-volume-considerations"></a>

 Pertimbangkan hal berikut saat menggunakan volume Amazon EBS:
+ Anda tidak dapat mengonfigurasi volume Amazon EBS untuk lampiran ke tugas Fargate Amazon ECS `use1-az3` di Availability Zone.
+ Jenis volume Amazon EBS magnetik (`standard`) tidak didukung untuk tugas yang dihosting di Fargate. Untuk informasi selengkapnya tentang jenis volume Amazon EBS, lihat [Volume Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) di Panduan Pengguna *Amazon EC2*.
+ Peran IAM infrastruktur Amazon ECS diperlukan saat membuat layanan atau tugas mandiri yang mengonfigurasi volume saat penerapan. Anda dapat melampirkan kebijakan `AmazonECSInfrastructureRolePolicyForVolumes` IAM AWS terkelola ke peran, atau Anda dapat menggunakan kebijakan terkelola sebagai panduan untuk membuat dan melampirkan kebijakan Anda sendiri dengan izin yang memenuhi kebutuhan spesifik Anda. Untuk informasi selengkapnya, lihat [Peran IAM Infrastruktur Amazon ECS](infrastructure_IAM_role.md).
+ Anda dapat melampirkan paling banyak satu volume Amazon EBS ke setiap tugas Amazon ECS, dan itu harus berupa volume baru. Anda tidak dapat melampirkan volume Amazon EBS yang ada ke tugas. Namun, Anda dapat mengonfigurasi volume Amazon EBS baru saat penerapan menggunakan snapshot dari volume yang ada.
+ Untuk menggunakan volume Amazon EBS dengan layanan Amazon ECS, pengontrol penerapan harus. `ECS` Strategi rolling dan blue/green deployment didukung saat menggunakan pengontrol penerapan ini.
+ Agar wadah dalam tugas Anda dapat menulis ke volume Amazon EBS yang dipasang, penampung harus memiliki izin sistem file yang sesuai. Saat Anda menentukan pengguna non-root dalam definisi penampung, Amazon ECS secara otomatis mengonfigurasi volume dengan izin berbasis grup yang memungkinkan pengguna tertentu membaca dan menulis ke volume. Jika tidak ada pengguna yang ditentukan, wadah berjalan sebagai root dan memiliki akses penuh ke volume.
+ Amazon ECS secara otomatis menambahkan tag yang dipesan `AmazonECSCreated` dan `AmazonECSManaged` ke volume terlampir. Jika Anda menghapus tag ini dari volume, Amazon ECS tidak akan dapat mengelola volume atas nama Anda. Untuk informasi selengkapnya tentang menandai volume Amazon EBS, lihat [Menandai volume Amazon](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specify-ebs-config.html#ebs-volume-tagging) EBS. Untuk informasi selengkapnya tentang menandai sumber daya Amazon ECS, lihat [Menandai sumber daya Amazon ECS Anda](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html).
+ Penyediaan volume dari snapshot volume Amazon EBS yang berisi partisi tidak didukung.
+ Volume yang dilampirkan ke tugas yang dikelola oleh layanan tidak dipertahankan dan selalu dihapus setelah pemutusan tugas.
+ Anda tidak dapat mengonfigurasi volume Amazon EBS untuk lampiran ke tugas Amazon ECS yang sedang berjalan. AWS Outposts

# Perilaku pengguna non-root
<a name="ebs-non-root-behavior"></a>

Saat Anda menentukan pengguna non-root dalam definisi penampung, Amazon ECS secara otomatis mengonfigurasi volume Amazon EBS dengan izin berbasis grup yang memungkinkan pengguna tertentu membaca dan menulis ke volume. Volume dipasang dengan karakteristik sebagai berikut:
+ Volume dimiliki oleh pengguna root dan grup root.
+ Izin grup diatur untuk memungkinkan akses baca dan tulis.
+ Pengguna non-root ditambahkan ke grup yang sesuai untuk mengakses volume.

Ikuti praktik terbaik ini saat menggunakan volume Amazon EBS dengan wadah non-root:
+ Gunakan user IDs (UIDs) dan group IDs (GIDs) yang konsisten di seluruh gambar container Anda untuk memastikan izin yang konsisten.
+ Pra-buat direktori mount point di image container Anda dan atur kepemilikan dan izin yang sesuai.
+ Uji container Anda dengan volume Amazon EBS di lingkungan pengembangan untuk mengonfirmasi bahwa izin sistem file berfungsi seperti yang diharapkan.
+ Jika beberapa kontainer dalam tugas yang sama berbagi volume, pastikan mereka menggunakan kompatibel UIDs/GIDs atau memasang volume dengan ekspektasi akses yang konsisten.

# Tunda konfigurasi volume untuk waktu peluncuran dalam definisi tugas Amazon ECS
<a name="specify-ebs-config"></a>

Untuk mengonfigurasi volume Amazon EBS untuk lampiran ke tugas Anda, Anda harus menentukan konfigurasi titik pemasangan dalam definisi tugas dan memberi nama volume. Anda juga harus mengatur `configuredAtLaunch` ke `true` karena volume Amazon EBS tidak dapat dikonfigurasi untuk lampiran dalam definisi tugas. Sebagai gantinya, volume Amazon EBS dikonfigurasi untuk lampiran selama penerapan.

Untuk mendaftarkan definisi tugas dengan menggunakan AWS Command Line Interface (AWS CLI), simpan template sebagai file JSON, lalu berikan file sebagai input untuk `[register-task-definition](https://docs.aws.amazon.com/cli/latest/reference/ecs/register-task-definition.html)` perintah. 

Untuk membuat dan mendaftarkan definisi tugas menggunakan Konsol Manajemen AWS, lihat[Membuat definisi tugas Amazon ECS menggunakan konsol](create-task-definition.md).

Definisi tugas berikut menunjukkan sintaks untuk `mountPoints` dan `volumes` objek dalam definisi tugas. Untuk informasi selengkapnya tentang parameter definisi tugas, lihat[Parameter definisi tugas Amazon ECS untuk Fargate](task_definition_parameters.md). Untuk menggunakan contoh ini, ganti `user input placeholders`dengan informasi Anda sendiri.

## Linux
<a name="linux-example"></a>

```
{
    "family": "mytaskdef",
    "containerDefinitions": [
        {
            "name": "nginx",
            "image": "public.ecr.aws/nginx/nginx:latest",
            "networkMode": "awsvpc",
           "portMappings": [
                {
                    "name": "nginx-80-tcp",
                    "containerPort": 80,
                    "hostPort": 80,
                    "protocol": "tcp",
                    "appProtocol": "http"
                }
            ],
            "mountPoints": [
                {
                    "sourceVolume": "myEBSVolume",
                    "containerPath": "/mount/ebs",
                    "readOnly": true
                }
            ]
        }
    ],
    "volumes": [
        {
            "name": "myEBSVolume",
            "configuredAtLaunch": true
        }
    ],
    "requiresCompatibilities": [
        "FARGATE", "EC2"
    ],
    "cpu": "1024",
    "memory": "3072",
    "networkMode": "awsvpc"
}
```

## Windows
<a name="windows-example"></a>

```
{
    "family": "mytaskdef",
     "memory": "4096",
     "cpu": "2048",
    "family": "windows-simple-iis-2019-core",
    "executionRoleArn": "arn:aws:iam::012345678910:role/ecsTaskExecutionRole",
    "runtimePlatform": {"operatingSystemFamily": "WINDOWS_SERVER_2019_CORE"},
    "requiresCompatibilities": ["EC2"]
    "containerDefinitions": [
        {
             "command": ["New-Item -Path C:\\inetpub\\wwwroot\\index.html -Type file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p>'; C:\\ServiceMonitor.exe w3svc"],
            "entryPoint": [
                "powershell",
                "-Command"
            ],
            "essential": true,
            "cpu": 2048,
            "memory": 4096,
            "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019",
            "name": "sample_windows_app",
            "portMappings": [
                {
                    "hostPort": 443,
                    "containerPort": 80,
                    "protocol": "tcp"
                }
            ],
            "mountPoints": [
                {
                    "sourceVolume": "myEBSVolume",
                    "containerPath": "drive:\ebs",
                    "readOnly": true
                }
            ]
        }
    ],
    "volumes": [
        {
            "name": "myEBSVolume",
            "configuredAtLaunch": true
        }
    ],
    "requiresCompatibilities": [
        "FARGATE", "EC2"
    ],
    "cpu": "1024",
    "memory": "3072",
    "networkMode": "awsvpc"
}
```

`mountPoints`  
Tipe: Array objek  
Wajib: Tidak  
Titik pemasangan untuk volume data dalam penampung Anda. Parameter ini memetakan ke `Volumes` dalam create-container Docker API dan opsi `--volume` untuk docker run.  
Kontainer Windows dapat memasang seluruh direktori pada drive yang sama dengan `$env:ProgramData`. Kontainer Windows tidak dapat memasang direktori pada drive yang berbeda, dan titik pemasangan tidak dapat digunakan di seluruh drive. Anda harus menentukan titik pemasangan untuk melampirkan volume Amazon EBS langsung ke tugas Amazon ECS.    
`sourceVolume`  
Tipe: String  
Diperlukan: Ya, kapan `mountPoints` digunakan  
Nama volume yang akan dipasang.  
`containerPath`  
Tipe: String  
Diperlukan: Ya, kapan `mountPoints` digunakan  
Jalur dalam wadah tempat volume akan dipasang.  
`readOnly`  
Tipe: Boolean  
Wajib: Tidak  
Jika nilai ini adalah `true`, kontainer memiliki akses hanya-baca ke volume. Jika nilai ini adalah `false`, maka kontainer dapat menulis ke volume. Nilai default-nya adalah `false`.  
Untuk tugas yang berjalan pada instans EC2 yang menjalankan sistem operasi Windows, biarkan nilainya sebagai default. `false`

`name`  
Tipe: String  
Wajib: Tidak  
Nama volume. Hingga 255 huruf (huruf besar dan kecil), angka, tanda hubung (), dan garis bawah (`-`) diperbolehkan. `_` Nama ini direferensikan dalam `sourceVolume` parameter `mountPoints` objek definisi kontainer.

`configuredAtLaunch`  
Jenis: Boolean  
Wajib: Ya, saat Anda ingin menggunakan lampirkan volume EBS langsung ke tugas.  
Menentukan apakah volume dikonfigurasi saat peluncuran. Saat disetel ke`true`, Anda dapat mengonfigurasi volume saat menjalankan tugas mandiri, atau saat membuat atau memperbarui layanan. Saat disetel ke`false`, Anda tidak akan dapat memberikan konfigurasi volume lain dalam definisi tugas. Parameter ini harus disediakan dan diatur `true` untuk mengonfigurasi volume Amazon EBS untuk lampiran ke tugas.

# Enkripsi data yang disimpan dalam volume Amazon EBS yang dilampirkan ke tugas Amazon ECS
<a name="ebs-kms-encryption"></a>

Anda dapat menggunakan AWS Key Management Service (AWS KMS) untuk membuat dan mengelola kunci kriptografi yang melindungi data Anda. Volume Amazon EBS dienkripsi saat istirahat dengan menggunakan. AWS KMS keys Jenis data berikut dienkripsi:
+ Data disimpan saat istirahat pada volume
+ Disk I/O
+ Snapshot dibuat dari volume
+ Volume baru dibuat dari snapshot terenkripsi

Volume Amazon EBS yang dilampirkan ke tugas dapat dienkripsi dengan menggunakan default Kunci yang dikelola AWS dengan alias`alias/aws/ebs`, atau kunci terkelola pelanggan simetris yang ditentukan dalam konfigurasi volume. Default Kunci yang dikelola AWS unik untuk masing-masing Akun AWS per Wilayah AWS dan dibuat secara otomatis. *Untuk membuat kunci terkelola pelanggan simetris, ikuti langkah-langkah dalam [Membuat kunci KMS enkripsi simetris di Panduan Pengembang](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)AWS KMS .*

Anda dapat mengonfigurasi enkripsi Amazon EBS secara default sehingga semua volume baru yang dibuat dan dilampirkan ke tugas tertentu Wilayah AWS dienkripsi dengan menggunakan kunci KMS yang Anda tentukan untuk akun Anda. Untuk informasi selengkapnya tentang enkripsi dan enkripsi Amazon EBS secara default, lihat [enkripsi Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html) di Panduan Pengguna *Amazon EBS*.

## Perilaku Instans Terkelola Amazon ECS
<a name="managed-instances"></a>

Anda mengenkripsi volume Amazon EBS dengan mengaktifkan enkripsi, baik menggunakan enkripsi secara default atau dengan mengaktifkan enkripsi saat Anda membuat volume yang ingin Anda enkripsi. Untuk informasi tentang cara mengaktifkan enkripsi secara default (di tingkat akun, lihat [Enkripsi secara default di Panduan](https://docs.aws.amazon.com/ebs/latest/userguide/encryption-by-default.html) Pengguna *Amazon EBS*.

Anda dapat mengonfigurasi kombinasi tombol-tombol ini. Urutan prioritas kunci KMS adalah sebagai berikut:

1. Kunci KMS ditentukan dalam konfigurasi volume. Saat Anda menentukan kunci KMS dalam konfigurasi volume, kunci ini akan mengganti default Amazon EBS dan kunci KMS apa pun yang ditentukan di tingkat akun.

1. Kunci KMS ditentukan pada tingkat akun. Saat Anda menentukan kunci KMS untuk enkripsi tingkat klaster penyimpanan terkelola Amazon ECS, kunci tersebut akan mengganti enkripsi default Amazon EBS tetapi tidak mengganti kunci KMS apa pun yang ditentukan dalam konfigurasi volume.

1. Enkripsi default Amazon EBS. Enkripsi default berlaku bila Anda tidak menentukan kunci KMS tingkat akun atau kunci dalam konfigurasi volume. Jika Anda mengaktifkan enkripsi Amazon EBS secara default, default adalah kunci KMS yang Anda tentukan untuk enkripsi secara default. Jika tidak, defaultnya adalah Kunci yang dikelola AWS dengan alias`alias/aws/ebs`.
**catatan**  
Jika Anda menyetel `encrypted` ke `false` dalam konfigurasi volume, tentukan tidak ada kunci KMS tingkat akun, dan aktifkan enkripsi Amazon EBS secara default, volume akan tetap dienkripsi dengan kunci yang ditentukan untuk enkripsi Amazon EBS secara default.

## Perilaku Instans Terkelola ECS Non-Amazon
<a name="non-managed-instances"></a>

Anda juga dapat mengatur enkripsi tingkat klaster Amazon ECS untuk penyimpanan terkelola Amazon ECS saat membuat atau memperbarui klaster. Enkripsi tingkat cluster berlaku pada tingkat tugas dan dapat digunakan untuk mengenkripsi volume Amazon EBS yang dilampirkan ke setiap tugas yang berjalan di klaster tertentu dengan menggunakan kunci KMS yang ditentukan. Untuk informasi selengkapnya tentang mengonfigurasi enkripsi di tingkat klaster untuk setiap tugas, lihat [ManagedStorageConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ManagedStorageConfiguration.html)di referensi *Amazon ECS API*.

Anda dapat mengonfigurasi kombinasi tombol-tombol ini. Urutan prioritas kunci KMS adalah sebagai berikut:

1. Kunci KMS ditentukan dalam konfigurasi volume. Saat Anda menentukan kunci KMS dalam konfigurasi volume, kunci ini akan mengganti default Amazon EBS dan kunci KMS apa pun yang ditentukan pada tingkat cluster.

1. Kunci KMS ditentukan pada tingkat cluster. Saat Anda menentukan kunci KMS untuk enkripsi tingkat klaster penyimpanan terkelola Amazon ECS, kunci tersebut akan mengganti enkripsi default Amazon EBS tetapi tidak mengganti kunci KMS apa pun yang ditentukan dalam konfigurasi volume.

1. Enkripsi default Amazon EBS. Enkripsi default berlaku ketika Anda tidak menentukan kunci KMS tingkat cluster atau kunci dalam konfigurasi volume. Jika Anda mengaktifkan enkripsi Amazon EBS secara default, default adalah kunci KMS yang Anda tentukan untuk enkripsi secara default. Jika tidak, defaultnya adalah Kunci yang dikelola AWS dengan alias`alias/aws/ebs`.
**catatan**  
Jika Anda menyetel `encrypted` ke `false` dalam konfigurasi volume, tentukan tidak ada kunci KMS tingkat cluster, dan aktifkan enkripsi Amazon EBS secara default, volume akan tetap dienkripsi dengan kunci yang ditentukan untuk enkripsi Amazon EBS secara default.

## Kebijakan kunci KMS yang dikelola pelanggan
<a name="ebs-kms-encryption-policy"></a>

Untuk mengenkripsi volume EBS yang dilampirkan ke tugas Anda dengan menggunakan kunci yang dikelola pelanggan, Anda harus mengonfigurasi kebijakan kunci KMS untuk memastikan bahwa peran IAM yang Anda gunakan untuk konfigurasi volume memiliki izin yang diperlukan untuk menggunakan kunci tersebut. Kebijakan utama harus menyertakan `kms:CreateGrant` dan `kms:GenerateDataKey*` izin. `kms:ReEncryptFrom`Izin `kms:ReEncryptTo` dan diperlukan untuk mengenkripsi volume yang dibuat menggunakan snapshot. Jika Anda ingin mengkonfigurasi dan mengenkripsi hanya volume baru yang kosong untuk lampiran, Anda dapat mengecualikan `kms:ReEncryptTo` dan `kms:ReEncryptFrom` izin. 

Cuplikan JSON berikut menunjukkan pernyataan kebijakan utama yang dapat Anda lampirkan ke kebijakan kunci KMS Anda. Menggunakan pernyataan ini akan memberikan akses bagi Amazon ECS untuk menggunakan kunci untuk mengenkripsi volume EBS. Untuk menggunakan contoh pernyataan kebijakan, ganti `user input placeholders` dengan informasi Anda sendiri. Seperti biasa, hanya konfigurasikan izin yang Anda butuhkan.

```
{
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" },
      "Action": "kms:DescribeKey",
      "Resource":"*"
    },
    {
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" },
      "Action": [
      "kms:GenerateDataKey*",
      "kms:ReEncryptTo",
      "kms:ReEncryptFrom"
      ],
      "Resource":"*",
      "Condition": {
        "StringEquals": {
          "kms:CallerAccount": "aws_account_id",
          "kms:ViaService": "ec2.region.amazonaws.com"
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": "aws:ebs:id"
        }
      }
    },
    {
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" },
      "Action": "kms:CreateGrant",
      "Resource":"*",
      "Condition": {
        "StringEquals": {
          "kms:CallerAccount": "aws_account_id",
          "kms:ViaService": "ec2.region.amazonaws.com"
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": "aws:ebs:id"
        },
        "Bool": {
          "kms:GrantIsForAWSResource": true
        }
      }
    }
```

Untuk informasi selengkapnya tentang kebijakan dan izin utama, lihat [Kebijakan kunci AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) dan [AWS KMS izin di Panduan AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) *Pengembang*. Untuk mengatasi masalah lampiran volume EBS yang terkait dengan izin kunci, lihat. [Memecahkan masalah lampiran volume Amazon EBS ke tugas Amazon ECS](troubleshoot-ebs-volumes.md)

# Tentukan konfigurasi volume Amazon EBS pada penerapan Amazon ECS
<a name="configure-ebs-volume"></a>

Setelah mendaftarkan definisi tugas dengan `configuredAtLaunch` parameter yang disetel ke`true`, Anda dapat mengonfigurasi volume Amazon EBS saat penerapan saat menjalankan tugas mandiri, atau saat membuat atau memperbarui layanan. Untuk informasi selengkapnya tentang menunda konfigurasi volume ke waktu peluncuran menggunakan `configuredAtLaunch` parameter, lihat. [Tunda konfigurasi volume untuk waktu peluncuran dalam definisi tugas Amazon ECS](specify-ebs-config.md)

Untuk mengonfigurasi volume, Anda dapat menggunakan Amazon ECS APIs, atau Anda dapat meneruskan file JSON sebagai input untuk perintah berikut: AWS CLI 
+ `[run-task](https://docs.aws.amazon.com/cli/latest/reference/ecs/run-task.html)`untuk menjalankan tugas ECS mandiri.
+ `[start-task](https://docs.aws.amazon.com/cli/latest/reference/ecs/start-task.html)`untuk menjalankan tugas ECS mandiri dalam instance kontainer tertentu. Perintah ini tidak berlaku untuk tugas Fargate.
+ `[create-service](https://docs.aws.amazon.com/cli/latest/reference/ecs/create-service.html)`untuk membuat layanan ECS baru.
+ `[update-service](https://docs.aws.amazon.com/cli/latest/reference/ecs/update-service.html)`untuk memperbarui layanan yang ada.

**catatan**  
Agar wadah dalam tugas Anda dapat menulis ke volume Amazon EBS yang dipasang, penampung harus memiliki izin sistem file yang sesuai. Saat Anda menentukan pengguna non-root dalam definisi penampung, Amazon ECS secara otomatis mengonfigurasi volume dengan izin berbasis grup yang memungkinkan pengguna tertentu membaca dan menulis ke volume. Jika tidak ada pengguna yang ditentukan, wadah berjalan sebagai root dan memiliki akses penuh ke volume.

 Anda juga dapat mengonfigurasi volume Amazon EBS dengan menggunakan file. Konsol Manajemen AWS Lihat informasi selengkapnya di [Menjalankan aplikasi sebagai tugas Amazon ECS](standalone-task-create.md), [Membuat penyebaran pembaruan bergulir Amazon ECS](create-service-console-v2.md), dan [Memperbarui layanan Amazon ECS](update-service-console-v2.md).

Cuplikan JSON berikut menunjukkan semua parameter volume Amazon EBS yang dapat dikonfigurasi saat penerapan. Untuk menggunakan parameter ini untuk konfigurasi volume, ganti `user input placeholders` dengan informasi Anda sendiri. Untuk informasi selengkapnya tentang parameter ini, lihat [Konfigurasi volume](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service_definition_parameters.html#sd-volumeConfigurations).

```
"volumeConfigurations": [
        {
            "name": "ebs-volume", 
            "managedEBSVolume": {
                "encrypted": true, 
                "kmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", 
                "volumeType": "gp3", 
                "sizeInGiB": 10, 
                "snapshotId": "snap-12345", 
                "volumeInitializationRate":100,
                "iops": 3000, 
                "throughput": 125, 
                "tagSpecifications": [
                    {
                        "resourceType": "volume", 
                        "tags": [
                            {
                                "key": "key1", 
                                "value": "value1"
                            }
                        ], 
                        "propagateTags": "NONE"
                    }
                ], 
                "roleArn": "arn:aws:iam::1111222333:role/ecsInfrastructureRole", 
                 "terminationPolicy": {
                    "deleteOnTermination": true//can't be configured for service-managed tasks, always true 
                },
                "filesystemType": "ext4"
            }
        }
    ]
```

**penting**  
Pastikan bahwa yang `volumeName` Anda tentukan dalam konfigurasi sama dengan yang `volumeName` Anda tentukan dalam definisi tugas Anda.

Untuk informasi tentang memeriksa status lampiran volume, lihat[Memecahkan masalah lampiran volume Amazon EBS ke tugas Amazon ECS](troubleshoot-ebs-volumes.md). Untuk informasi tentang peran infrastruktur Amazon ECS AWS Identity and Access Management (IAM) yang diperlukan untuk lampiran volume EBS, lihat. [Peran IAM Infrastruktur Amazon ECS](infrastructure_IAM_role.md)

Berikut ini adalah contoh cuplikan JSON yang menunjukkan konfigurasi volume Amazon EBS. Contoh-contoh ini dapat digunakan dengan menyimpan cuplikan dalam file JSON dan meneruskan file sebagai parameter (menggunakan `--cli-input-json file://filename` parameter) untuk perintah. AWS CLI Ganti `user input placeholders` dengan informasi Anda sendiri.

## Konfigurasikan volume untuk tugas mandiri
<a name="ebs-run-task"></a>

Cuplikan berikut menunjukkan sintaks untuk mengonfigurasi volume Amazon EBS untuk lampiran ke tugas mandiri. Cuplikan JSON berikut menunjukkan sintaks untuk mengkonfigurasi`volumeType`,,, `sizeInGiB` dan pengaturan. `encrypted` `kmsKeyId` Konfigurasi yang ditentukan dalam file JSON digunakan untuk membuat dan melampirkan volume EBS ke tugas mandiri.

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "volumeConfigurations": [
        {
            "name": "datadir",
            "managedEBSVolume": {
                "volumeType": "gp3",
                "sizeInGiB": 100,
                "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole",
                "encrypted": true,
                "kmsKeyId": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
            }
        }
   ]
}
```

## Konfigurasikan volume pada pembuatan layanan
<a name="ebs-create-service"></a>

Cuplikan berikut menunjukkan sintaks untuk mengonfigurasi volume Amazon EBS untuk lampiran ke tugas yang dikelola oleh layanan. Volume bersumber dari snapshot yang ditentukan menggunakan `snapshotId` parameter pada tingkat 200 MiB/s. Konfigurasi yang ditentukan dalam file JSON digunakan untuk membuat dan melampirkan volume EBS ke setiap tugas yang dikelola oleh layanan.

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "serviceName": "mysvc",
   "desiredCount": 2,
   "volumeConfigurations": [
        {
            "name": "myEbsVolume",
            "managedEBSVolume": {
              "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole",
              "snapshotId": "snap-12345",
              "volumeInitializationRate": 200
            }
        }
   ]
}
```

## Konfigurasikan volume pada pembaruan layanan
<a name="ebs-update-service"></a>

Cuplikan JSON berikut menunjukkan sintaks untuk memperbarui layanan yang sebelumnya tidak memiliki volume Amazon EBS yang dikonfigurasi untuk lampiran ke tugas. Anda harus memberikan ARN dari revisi definisi tugas dengan `configuredAtLaunch` set to. `true` Cuplikan JSON berikut menunjukkan sintaks untuk mengkonfigurasi`volumeType`,,, dan `sizeInGiB``throughput`, dan pengaturan. `iops` `filesystemType` Konfigurasi ini digunakan untuk membuat dan melampirkan volume EBS ke setiap tugas yang dikelola oleh layanan.

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "service": "mysvc",
   "desiredCount": 2,
   "volumeConfigurations": [
        {
            "name": "myEbsVolume",
            "managedEBSVolume": {
              "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole",
               "volumeType": "gp3",
                "sizeInGiB": 100,
                 "iops": 3000, 
                "throughput": 125, 
                "filesystemType": "ext4"
            }
        }
   ]
}
```

### Konfigurasikan layanan agar tidak lagi menggunakan volume Amazon EBS
<a name="ebs-service-disable-ebs"></a>

Cuplikan JSON berikut menunjukkan sintaks untuk memperbarui layanan agar tidak lagi menggunakan volume Amazon EBS. Anda harus memberikan ARN definisi tugas dengan `configuredAtLaunch` set to`false`, atau definisi tugas tanpa parameter. `configuredAtLaunch` Anda juga harus menyediakan `volumeConfigurations` objek kosong.

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "service": "mysvc",
   "desiredCount": 2,
   "volumeConfigurations": []
}
```

## Kebijakan penghentian untuk volume Amazon EBS
<a name="ebs-volume-termination-policy"></a>

Saat tugas Amazon ECS dihentikan, Amazon ECS menggunakan `deleteOnTermination` nilainya untuk menentukan apakah volume Amazon EBS yang terkait dengan tugas yang dihentikan harus dihapus. Secara default, volume EBS yang dilampirkan ke tugas dihapus saat tugas dihentikan. Untuk tugas mandiri, Anda dapat mengubah setelan ini untuk mempertahankan volume saat penghentian tugas.

**catatan**  
Volume yang dilampirkan ke tugas yang dikelola oleh layanan tidak dipertahankan dan selalu dihapus pada saat pemutusan tugas.

## Tandai volume Amazon EBS
<a name="ebs-volume-tagging"></a>

Anda dapat menandai volume Amazon EBS dengan menggunakan `tagSpecifications` objek. Menggunakan objek, Anda dapat memberikan tag Anda sendiri dan mengatur propagasi tag dari definisi tugas atau layanan, tergantung pada apakah volume dilampirkan ke tugas mandiri atau tugas dalam layanan. Jumlah maksimum tag yang dapat dilampirkan ke volume adalah 50.

**penting**  
Amazon ECS secara otomatis melampirkan tag yang dikhususkan untuk `AmazonECSCreated` dan `AmazonECSManaged` ke volume Amazon EBS. Ini berarti Anda dapat mengontrol lampiran maksimal 48 tag tambahan ke volume. Tag tambahan ini dapat berupa tag yang ditentukan pengguna, dikelola ECS, atau disebarkan.

Jika Anda ingin menambahkan tag Amazon ECS yang dikelola ke volume Anda, Anda harus menyetel `enableECSManagedTags` ke `true` dalam`UpdateService`,`CreateService`, `RunTask` atau `StartTask` panggilan. Jika Anda mengaktifkan tag yang dikelola Amazon ECS, Amazon ECS akan menandai volume secara otomatis dengan informasi kluster dan layanan (`aws:ecs:clusterName`dan). `aws:ecs:serviceName` Untuk informasi selengkapnya tentang menandai sumber daya Amazon ECS, lihat [Menandai sumber daya Amazon ECS Anda](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html).

Cuplikan JSON berikut menunjukkan sintaks untuk menandai setiap volume Amazon EBS yang dilampirkan ke setiap tugas dalam layanan dengan tag yang ditentukan pengguna. Untuk menggunakan contoh ini untuk membuat layanan, ganti `user input placeholders` dengan informasi Anda sendiri.

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "serviceName": "mysvc",
   "desiredCount": 2,
   "enableECSManagedTags": true,
   "volumeConfigurations": [
        {
            "name": "datadir",
            "managedEBSVolume": {
                "volumeType": "gp3",
                "sizeInGiB": 100,
                 "tagSpecifications": [
                    {
                        "resourceType": "volume", 
                        "tags": [
                            {
                                "key": "key1", 
                                "value": "value1"
                            }
                        ], 
                        "propagateTags": "NONE"
                    }
                ],
                "roleArn":"arn:aws:iam:1111222333:role/ecsInfrastructureRole",
                "encrypted": true,
                "kmsKeyId": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
            }
        }
   ]
}
```

**penting**  
Anda harus menentukan jenis `volume` sumber daya untuk menandai volume Amazon EBS.

# Kinerja volume Amazon EBS untuk tugas sesuai permintaan Fargate
<a name="ebs-fargate-performance-limits"></a>

Volume Amazon EBS dasar IOPS dan throughput yang tersedia untuk tugas sesuai permintaan Fargate bergantung pada total unit CPU yang Anda minta untuk tugas tersebut. Jika Anda meminta 0,25, 0,5, atau 1 unit CPU virtual (vCPU) untuk tugas Fargate Anda, kami sarankan Anda mengonfigurasi volume SSD Tujuan Umum `gp2` (`gp3`atau) atau volume Hard Disk Drive (HDD) (atau). `st1` `sc1` Jika Anda meminta lebih dari 1 vCPU untuk tugas Fargate Anda, batas kinerja dasar berikut berlaku untuk volume Amazon EBS yang dilampirkan ke tugas. Anda mungkin untuk sementara mendapatkan kinerja EBS yang lebih tinggi daripada batas berikut. Namun, kami menyarankan Anda merencanakan beban kerja Anda berdasarkan batas-batas ini.


| Unit CPU diminta (dalam vCPUs) | Dasar Amazon EBS IOPS (16 KiB I/O) | Throughput Amazon EBS Dasar (dalam, MiBps 128 KiB I/O) | Bandwidth dasar (dalam Mbps) | 
| --- | --- | --- | --- | 
| 2 | 3.000 | 75 | 360 | 
| 4 | 5.000 | 120 | 1.150 | 
| 8 | 10.000 | 250 | 2.300 | 
| 16 | 15.000 | 500 | 4,500 | 

**catatan**  
 Saat Anda mengonfigurasi volume Amazon EBS untuk lampiran ke tugas Fargate, batas kinerja Amazon EBS untuk tugas Fargate dibagi antara penyimpanan sementara tugas dan volume terlampir.

# Kinerja volume Amazon EBS untuk tugas EC2
<a name="ebs-fargate-performance-limits-ec2"></a>

Amazon EBS menyediakan jenis volume, yang berbeda dalam karakteristik kinerja dan harga, sehingga Anda dapat menyesuaikan kinerja penyimpanan dan biaya dengan kebutuhan aplikasi Anda. Untuk informasi tentang performa, termasuk IOPS per volume dan throughput per volume, lihat [Jenis volume Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) di Panduan Pengguna *Amazon Elastic Block Store*.

# Kinerja volume Amazon EBS untuk tugas Instans Terkelola Amazon ECS
<a name="ebs-managed-instances-performance"></a>

Amazon EBS menyediakan jenis volume, yang berbeda dalam karakteristik kinerja dan harga, sehingga Anda dapat menyesuaikan kinerja penyimpanan dan biaya dengan kebutuhan aplikasi Anda. Untuk informasi tentang performa, termasuk IOPS per volume dan throughput per volume, lihat [Jenis volume Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) di Panduan Pengguna *Amazon Elastic Block Store*.

# Memecahkan masalah lampiran volume Amazon EBS ke tugas Amazon ECS
<a name="troubleshoot-ebs-volumes"></a>

Anda mungkin perlu memecahkan masalah atau memverifikasi lampiran volume Amazon EBS ke tugas Amazon ECS.

## Periksa status lampiran volume
<a name="troubleshoot-ebs-volumes-location"></a>

Anda dapat menggunakan Konsol Manajemen AWS untuk melihat status lampiran volume Amazon EBS ke tugas Amazon ECS. Jika tugas dimulai dan lampiran gagal, Anda juga akan melihat alasan status yang dapat Anda gunakan untuk memecahkan masalah. Volume yang dibuat akan dihapus dan tugas akan dihentikan. Untuk informasi selengkapnya tentang alasan status, lihat[Alasan status untuk lampiran volume Amazon EBS ke tugas Amazon ECS](troubleshoot-ebs-volumes-scenarios.md).

**Untuk melihat status lampiran volume dan alasan status menggunakan konsol**

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

1. Pada halaman **Clusters**, pilih klaster tempat tugas Anda berjalan. Halaman detail cluster muncul.

1. Pada halaman detail cluster, pilih tab **Tugas**.

1. Pilih tugas yang ingin Anda lihat status lampiran volume. Anda mungkin perlu menggunakan **Filter status yang diinginkan** dan memilih **Berhenti** jika tugas yang ingin Anda periksa telah berhenti.

1. Pada halaman detail tugas, pilih tab **Volume**. Anda akan dapat melihat status lampiran volume Amazon EBS di bawah **status Lampiran**. Jika volume gagal dilampirkan ke tugas, Anda dapat memilih status di bawah **Status lampiran** untuk menampilkan penyebab kegagalan.

Anda juga dapat melihat status lampiran volume tugas dan alasan status terkait dengan menggunakan [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html)API.

## Kegagalan layanan dan tugas
<a name="service-task-failures"></a>

Anda mungkin mengalami kegagalan layanan atau tugas yang tidak spesifik untuk volume Amazon EBS yang dapat memengaruhi lampiran volume. Untuk informasi selengkapnya, silakan lihat
+ [Pesan acara layanan](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-event-messages.html)
+ [Menghentikan kode kesalahan tugas](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/stopped-task-error-codes.html)
+ [Alasan kegagalan API](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html)

# Kontainer tidak dapat menulis ke volume Amazon EBS
<a name="troubleshoot-non-root-container"></a>

Pengguna non-root tanpa izin yang tepat  
Saat Anda menentukan pengguna non-root dalam definisi penampung Anda, Amazon ECS secara otomatis mengonfigurasi volume dengan izin berbasis grup untuk mengizinkan akses tulis. Namun, jika Anda masih mengalami masalah izin:  
+ Verifikasi bahwa `user` parameter ditentukan dengan benar dalam definisi kontainer Anda menggunakan format `uid:gid` (misalnya,`1001:1001`).
+ Pastikan image container Anda tidak mengganti izin pengguna setelah volume dipasang.
+ Periksa apakah aplikasi Anda berjalan dengan ID pengguna yang diharapkan dengan memeriksa log container atau menggunakan Amazon ECS Exec untuk memeriksa container yang sedang berjalan.

Root pengguna dengan masalah izin  
Jika tidak ada pengguna yang ditentukan dalam definisi penampung Anda, penampung berjalan sebagai root dan harus memiliki akses penuh ke volume. Jika Anda mengalami masalah:  
+ Verifikasi bahwa volume terpasang dengan benar dengan memeriksa titik pemasangan di dalam wadah.
+ Pastikan volume tidak dikonfigurasi sebagai hanya-baca dalam konfigurasi titik pemasangan Anda.

Tugas multi-kontainer dengan pengguna yang berbeda  
Dalam tugas dengan beberapa kontainer yang berjalan sebagai pengguna yang berbeda, Amazon ECS secara otomatis mengelola izin grup untuk memungkinkan semua pengguna tertentu menulis ke volume. Jika wadah tidak dapat menulis:  
+ Verifikasi bahwa semua kontainer yang memerlukan akses tulis memiliki `user` parameter yang dikonfigurasi dengan benar.
+ Periksa apakah volume dipasang di semua wadah yang membutuhkan akses ke sana.

Untuk informasi selengkapnya tentang mengonfigurasi pengguna dalam definisi penampung, lihat [Parameter definisi tugas Amazon ECS untuk Fargate](https://docs.aws.amazon.com/./task_definition_parameters.html). 

# Alasan status untuk lampiran volume Amazon EBS ke tugas Amazon ECS
<a name="troubleshoot-ebs-volumes-scenarios"></a>

Gunakan referensi berikut untuk memperbaiki masalah yang mungkin Anda temui dalam bentuk alasan status Konsol Manajemen AWS saat Anda mengonfigurasi volume Amazon EBS untuk lampiran ke tugas Amazon ECS. Untuk informasi selengkapnya tentang menemukan alasan status ini di konsol, lihat[Periksa status lampiran volume](troubleshoot-ebs-volumes.md#troubleshoot-ebs-volumes-location).

ECS tidak dapat mengasumsikan Peran Infrastruktur ECS yang dikonfigurasi 'arn:aws:iam: ::role/ '. *111122223333* *ecsInfrastructureRole* Harap verifikasi bahwa peran yang dilewati memiliki hubungan kepercayaan yang tepat dengan Amazon ECS  
Alasan status ini muncul dalam skenario berikut.  
+  Anda memberikan peran IAM tanpa kebijakan kepercayaan yang diperlukan. Amazon ECS tidak dapat mengakses peran IAM infrastruktur Amazon ECS yang Anda berikan jika peran tersebut tidak memiliki kebijakan kepercayaan yang diperlukan. Tugas itu bisa macet di `DEPROVISIONING` negara bagian. Untuk informasi lebih lanjut tentang kebijakan kepercayaan yang diperlukan, lihat[Peran IAM Infrastruktur Amazon ECS](infrastructure_IAM_role.md).
+ Pengguna IAM Anda tidak memiliki izin untuk meneruskan peran infrastruktur Amazon ECS ke Amazon ECS. Tugas itu bisa macet di `DEPROVISIONING` negara bagian. Untuk menghindari masalah ini, Anda dapat melampirkan `PassRole` izin ke pengguna Anda. Untuk informasi selengkapnya, lihat [Peran IAM Infrastruktur Amazon ECS](infrastructure_IAM_role.md).
+ Peran IAM Anda tidak memiliki izin yang diperlukan untuk lampiran volume Amazon EBS. Tugas itu bisa macet di `DEPROVISIONING` negara bagian. Untuk informasi selengkapnya tentang izin khusus yang diperlukan untuk melampirkan volume Amazon EBS ke tugas, lihat. [Peran IAM Infrastruktur Amazon ECS](infrastructure_IAM_role.md)
Anda juga dapat melihat pesan kesalahan ini karena penundaan dalam propagasi peran. Jika mencoba kembali menggunakan peran setelah menunggu beberapa menit tidak memperbaiki masalah, Anda mungkin telah salah mengonfigurasi kebijakan kepercayaan untuk peran tersebut.

ECS gagal mengatur volume EBS. Ditemui IdempotentParameterMismatch “; “Token klien yang Anda berikan dikaitkan dengan sumber daya yang sudah dihapus. Silakan gunakan token klien yang berbeda.”  
Skenario AWS KMS utama berikut dapat menyebabkan `IdempotentParameterMismatch` pesan muncul:  
+ Anda menentukan kunci KMS ARN, ID, atau alias yang tidak valid. Dalam skenario ini, tugas mungkin tampak berhasil diluncurkan, tetapi tugas akhirnya gagal karena AWS mengautentikasi kunci KMS secara asinkron. Untuk informasi selengkapnya, lihat [enkripsi Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html) di Panduan *Pengguna Amazon EC2*.
+ Anda memberikan kunci terkelola pelanggan yang tidak memiliki izin yang memungkinkan peran IAM infrastruktur Amazon ECS menggunakan kunci untuk enkripsi. Untuk menghindari masalah izin kebijakan kunci, lihat contoh kebijakan AWS KMS kunci dalam [enkripsi data untuk volume Amazon EBS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html#ebs-kms-encryption).
Anda dapat mengatur Amazon EventBridge untuk mengirim peristiwa volume Amazon EBS dan peristiwa perubahan status tugas Amazon ECS ke target, seperti grup Amazon CloudWatch . Anda kemudian dapat menggunakan peristiwa ini untuk mengidentifikasi masalah terkait kunci yang dikelola pelanggan tertentu yang memengaruhi lampiran volume. Untuk informasi selengkapnya, silakan lihat  
+  [Bagaimana saya bisa membuat grup CloudWatch log untuk digunakan sebagai target EventBridge aturan?](https://repost.aws/knowledge-center/cloudwatch-log-group-eventbridge) di AWS re:post.
+ [Acara perubahan status tugas](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html#ecs_task_events).
+ [ EventBridge Acara Amazon untuk Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-cloud-watch-events.html) di *Panduan Pengguna Amazon EBS*.

Waktu ECS habis saat mengonfigurasi lampiran volume EBS ke Tugas Anda.  
Skenario format sistem file berikut menghasilkan pesan ini.  
+ Format sistem file yang Anda tentukan selama konfigurasi tidak kompatibel dengan [sistem operasi tugas](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RuntimePlatform.html).
+ Anda mengonfigurasi volume Amazon EBS yang akan dibuat dari snapshot, dan format sistem file snapshot tidak kompatibel dengan sistem operasi tugas. Untuk volume yang dibuat dari snapshot, Anda harus menentukan tipe sistem file yang sama yang digunakan volume saat snapshot dibuat.
Anda dapat menggunakan log agen penampung Amazon ECS untuk memecahkan masalah pesan ini untuk tugas EC2. Untuk informasi selengkapnya, lihat [lokasi file log Amazon ECS dan pengumpul](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/logs.html) [log Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-logs-collector.html).

# Gunakan volume Amazon EFS dengan Amazon ECS
<a name="efs-volumes"></a>

Amazon Elastic File System (Amazon EFS) menyediakan penyimpanan file yang sederhana dan dapat diskalakan untuk digunakan dengan tugas Amazon ECS Anda. Kapasitas penyimpanan Amazon EFS bersifat elastis. Hal ini bertumbuh dan menyusut secara otomatis seiring Anda menambahkan dan menghapus file. Aplikasi Anda dapat memiliki penyimpanan yang mereka butuhkan dan kapan mereka membutuhkannya.

Anda dapat menggunakan sistem file Amazon EFS dengan Amazon ECS untuk mengekspor data sistem file di seluruh armada instans kontainer Anda. Dengan begitu, tugas Anda memiliki akses ke penyimpanan tetap yang sama, terlepas dari instans tempat mereka mendarat. Definisi tugas Anda harus mereferensikan pemasangan volume pada instance container untuk menggunakan sistem file.

Untuk tutorial, lihat [Mengonfigurasi sistem file Amazon EFS untuk Amazon ECS menggunakan konsol](tutorial-efs-volumes.md).

## Pertimbangan-pertimbangan
<a name="efs-volume-considerations"></a>

 Pertimbangkan hal berikut saat menggunakan volume Amazon EFS:
+ Untuk tugas yang berjalan di EC2, dukungan sistem file Amazon EFS ditambahkan sebagai pratinjau publik dengan versi AMI Amazon ECS yang dioptimalkan dengan agen penampung `20191212` versi 1.35.0. Namun, dukungan sistem file Amazon EFS memasuki ketersediaan umum dengan versi AMI Amazon ECS yang dioptimalkan `20200319` dengan agen kontainer versi 1.38.0, yang berisi jalur akses Amazon EFS dan fitur otorisasi IAM. Kami menyarankan Anda menggunakan versi AMI Amazon ECS yang dioptimalkan `20200319` atau yang lebih baru untuk menggunakan fitur-fitur ini. Untuk informasi selengkapnya, lihat [Linux Amazon ECS yang dioptimalkan AMIs](ecs-optimized_AMI.md).
**catatan**  
Jika Anda membuat AMI sendiri, Anda harus menggunakan agen kontainer 1.38.0 atau yang lebih baru, `ecs-init` versi 1.38.0-1 atau yang lebih baru, dan jalankan perintah berikut di instans Amazon EC2 Anda untuk mengaktifkan plugin volume Amazon ECS. Perintah akan tergantung pada apakah Anda menggunakan Amazon Linux 2 atau Amazon Linux sebagai citra dasar Anda.  
Amazon Linux 2  

  ```
  yum install amazon-efs-utils
  systemctl enable --now amazon-ecs-volume-plugin
  ```
Amazon Linux  

  ```
  yum install amazon-efs-utils
  sudo shutdown -r now
  ```
+ Untuk tugas yang di-host di Fargate, sistem file Amazon EFS didukung pada platform versi 1.4.0 atau yang lebih baru (Linux). Untuk informasi selengkapnya, lihat [Versi platform Fargate untuk Amazon ECS](platform-fargate.md).
+ Saat menggunakan volume Amazon EFS untuk tugas yang di-host di Fargate, Fargate membuat wadah pengawas yang bertanggung jawab untuk mengelola volume Amazon EFS. Wadah supervisor menggunakan sejumlah kecil memori tugas dan CPU. Kontainer pengawas akan terlihat saat dilakukan kueri titik akhir metadata tugas versi 4. Selain itu, ini terlihat di CloudWatch Container Insights sebagai nama `aws-fargate-supervisor` kontainer. Untuk informasi lebih lanjut saat menggunakan EC2, lihat[Titik akhir metadata tugas Amazon ECS versi 4](task-metadata-endpoint-v4.md). Untuk informasi lebih lanjut saat menggunakan Fargate, lihat. [Titik akhir metadata tugas Amazon ECS versi 4 untuk tugas di Fargate](task-metadata-endpoint-v4-fargate.md)
+ Menggunakan volume Amazon EFS atau menentukan `EFSVolumeConfiguration` tidak didukung pada instans eksternal.
+ Menggunakan volume Amazon EFS didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
+ Kami menyarankan Anda mengatur `ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION` parameter dalam file konfigurasi agen ke nilai yang kurang dari default (sekitar 1 jam). Perubahan ini membantu mencegah kedaluwarsa kredensi pemasangan EFS dan memungkinkan pembersihan dudukan yang tidak digunakan.  Untuk informasi selengkapnya, lihat [Konfigurasi agen kontainer Amazon ECS](ecs-agent-config.md).

## Gunakan titik akses Amazon EFS
<a name="efs-volume-accesspoints"></a>

Titik akses Amazon EFS adalah titik masuk khusus aplikasi ke dalam sistem file EFS untuk mengelola akses aplikasi ke kumpulan data bersama. Untuk informasi lebih lanjut tentang titik akses Amazon EFS dan cara mengontrol akses ke sana, lihat [Bekerja dengan Titik Akses Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) dalam *Panduan Pengguna Amazon Elastic File System*.

Titik akses dapat menerapkan identitas pengguna, termasuk grup POSIX pengguna, pada semua permintaan sistem file yang dibuat melalui titik akses. Titik akses juga dapat menerapkan direktori root yang berbeda untuk sistem file. Ini agar klien hanya dapat mengakses data di direktori yang ditentukan atau subdirektorinya.

**catatan**  
Saat membuat titik akses EFS, tentukan jalur pada sistem file untuk berfungsi sebagai direktori root. Saat mereferensikan sistem file EFS dengan ID titik akses dalam definisi tugas Amazon ECS Anda, direktori root harus dihilangkan atau disetel ke`/`, yang memberlakukan jalur yang disetel pada titik akses EFS.

Anda dapat menggunakan peran IAM tugas Amazon ECS untuk menegakkan bahwa aplikasi tertentu menggunakan titik akses tertentu. Dengan menggabungkan kebijakan IAM dengan titik akses, Anda dapat memberikan akses aman ke kumpulan data tertentu untuk aplikasi Anda. Untuk informasi selengkapnya tentang cara menggunakan peran IAM tugas, lihat[Peran IAM tugas Amazon ECS](task-iam-roles.md).

# Praktik terbaik untuk menggunakan volume Amazon EFS dengan Amazon ECS
<a name="efs-best-practices"></a>

Catat rekomendasi praktik terbaik berikut saat Anda menggunakan Amazon EFS dengan Amazon ECS.

## Kontrol keamanan dan akses untuk volume Amazon EFS
<a name="storage-efs-security"></a>

Amazon EFS menawarkan fitur kontrol akses yang dapat Anda gunakan untuk memastikan bahwa data yang disimpan dalam sistem file Amazon EFS aman dan hanya dapat diakses dari aplikasi yang membutuhkannya. Anda dapat mengamankan data dengan mengaktifkan enkripsi saat istirahat dan dalam perjalanan. Untuk informasi selengkapnya, lihat [Enkripsi data di Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/encryption.html) di *Panduan Pengguna Amazon Elastic File System*.

Selain enkripsi data, Anda juga dapat menggunakan Amazon EFS untuk membatasi akses ke sistem file. Ada tiga cara untuk menerapkan kontrol akses di EFS.
+ **Grup keamanan** —Dengan target pemasangan Amazon EFS, Anda dapat mengonfigurasi grup keamanan yang digunakan untuk mengizinkan dan menolak lalu lintas jaringan. Anda dapat mengonfigurasi grup keamanan yang dilampirkan ke Amazon EFS untuk mengizinkan lalu lintas NFS (port 2049) dari grup keamanan yang dilampirkan ke instans Amazon ECS Anda atau, saat menggunakan mode `awsvpc` jaringan, tugas Amazon ECS.
+ **IAM** —Anda dapat membatasi akses ke sistem file Amazon EFS menggunakan IAM. Saat dikonfigurasi, tugas Amazon ECS memerlukan peran IAM untuk akses sistem file untuk memasang sistem file EFS. Untuk informasi selengkapnya, lihat [Menggunakan IAM untuk mengontrol akses data sistem file](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html) di *Panduan Pengguna Amazon Elastic File System*.

  Kebijakan IAM juga dapat menerapkan kondisi yang telah ditentukan sebelumnya seperti mewajibkan klien untuk menggunakan TLS saat menyambung ke sistem file Amazon EFS. Untuk informasi selengkapnya, lihat [kunci kondisi Amazon EFS untuk klien](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html#efs-condition-keys-for-nfs) di *Panduan Pengguna Amazon Elastic File System*.
+ Jalur **akses Amazon EFS** —Jalur akses Amazon EFS adalah titik masuk khusus aplikasi ke dalam sistem file Amazon EFS. Anda dapat menggunakan titik akses untuk menegakkan identitas pengguna, termasuk grup POSIX pengguna, untuk semua permintaan sistem file yang dibuat melalui titik akses. Titik akses juga dapat menerapkan direktori root yang berbeda untuk sistem file. Ini agar klien hanya dapat mengakses data di direktori yang ditentukan atau sub-direktorinya.

### Kebijakan IAM
<a name="storage-efs-security-iam"></a>

Anda dapat menggunakan kebijakan IAM untuk mengontrol akses ke sistem file Amazon EFS.

Anda dapat menentukan tindakan berikut untuk klien yang mengakses sistem file menggunakan kebijakan sistem file.


| Tindakan | Deskripsi | 
| --- | --- | 
|  `elasticfilesystem:ClientMount`  |  Menyediakan akses read-only ke sistem file.  | 
|  `elasticfilesystem:ClientWrite`  |  Memberikan izin menulis pada sistem file.  | 
|  `elasticfilesystem:ClientRootAccess`  |  Menyediakan penggunaan pengguna root saat mengakses sistem file.  | 

Anda perlu menentukan setiap tindakan dalam kebijakan. Kebijakan dapat didefinisikan dengan cara-cara berikut:
+ Berbasis klien - Lampirkan kebijakan ke peran tugas

  Tetapkan opsi **otorisasi IAM** saat Anda membuat definisi tugas. 
+ Berbasis sumber daya - Lampirkan kebijakan ke sistem file Amazon EFS

  Jika kebijakan berbasis sumber daya tidak ada, secara default pada pembuatan sistem file akses diberikan kepada semua prinsipal (\$1). 

Saat Anda menyetel opsi **otorisasi IAM**, kami menggabungkan kebijakan yang terkait dengan peran tugas dan berbasis sumber daya Amazon EFS. Opsi **otorisasi IAM** meneruskan identitas tugas (peran tugas) dengan kebijakan ke Amazon EFS. Hal ini memungkinkan kebijakan berbasis sumber daya Amazon EFS memiliki konteks untuk pengguna IAM atau peran yang ditentukan dalam kebijakan. Jika Anda tidak menetapkan opsi, kebijakan tingkat sumber daya Amazon EFS mengidentifikasi pengguna IAM sebagai “anonim”.

Pertimbangkan untuk menerapkan ketiga kontrol akses pada sistem file Amazon EFS untuk keamanan maksimum. Misalnya, Anda dapat mengonfigurasi grup keamanan yang dilampirkan ke titik pemasangan Amazon EFS untuk hanya mengizinkan lalu lintas NFS masuk dari grup keamanan yang terkait dengan instance container atau tugas Amazon ECS Anda. Selain itu, Anda dapat mengonfigurasi Amazon EFS agar memerlukan peran IAM untuk mengakses sistem file, meskipun koneksi berasal dari grup keamanan yang diizinkan. Terakhir, Anda dapat menggunakan jalur akses Amazon EFS untuk menerapkan izin pengguna POSIX dan menentukan direktori root untuk aplikasi.

Cuplikan definisi tugas berikut menunjukkan cara memasang sistem file Amazon EFS menggunakan titik akses.

```
"volumes": [
    {
      "efsVolumeConfiguration": {
        "fileSystemId": "fs-1234",
        "authorizationConfig": {
          "accessPointId": "fsap-1234",
          "iam": "ENABLED"
        },
        "transitEncryption": "ENABLED",
        "rootDirectory": ""
      },
      "name": "my-filesystem"
    }
]
```

## Performa volume Amazon EFS
<a name="storage-efs-performance"></a>

Amazon EFS menawarkan dua mode kinerja: Tujuan Umum dan sistem I/O. General Purpose is suitable for latency-sensitive applications such as content management systems and CI/CD tools. In contrast, Max I/O file Max cocok untuk beban kerja seperti analisis data, pemrosesan media, dan pembelajaran mesin. Beban kerja ini perlu melakukan operasi paralel dari ratusan atau bahkan ribuan kontainer dan membutuhkan throughput agregat dan IOPS setinggi mungkin. Untuk informasi selengkapnya, lihat [mode kinerja Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html#performancemodes) di *Panduan Pengguna Amazon Elastic File System*.

Beberapa beban kerja sensitif latensi memerlukan I/O tingkat yang lebih tinggi yang disediakan oleh mode I/O kinerja Maks dan latensi yang lebih rendah yang disediakan oleh mode kinerja Tujuan Umum. Untuk jenis beban kerja ini, kami sarankan untuk membuat beberapa sistem file mode kinerja Tujuan Umum. Dengan begitu, Anda dapat menyebarkan beban kerja aplikasi Anda di semua sistem file ini, selama beban kerja dan aplikasi dapat mendukungnya.

## Throughput volume Amazon EFS
<a name="storage-efs-performance-throughput"></a>

*Semua sistem file Amazon EFS memiliki throughput terukur terkait yang ditentukan oleh jumlah throughput yang disediakan untuk sistem file yang menggunakan *Provisioned Throughput atau jumlah data yang disimpan dalam kelas penyimpanan EFS Standard atau One Zone untuk sistem file yang menggunakan Bursting Throughput*.* Untuk informasi selengkapnya, lihat [Memahami throughput terukur](https://docs.aws.amazon.com/efs/latest/ug/performance.html#read-write-throughput) di *Panduan Pengguna Amazon Elastic File System*.

Mode throughput default untuk sistem file Amazon EFS adalah mode bursting. Dengan mode bursting, throughput yang tersedia untuk sistem file masuk atau keluar saat sistem file tumbuh. Karena beban kerja berbasis file biasanya melonjak, membutuhkan tingkat throughput yang tinggi untuk periode waktu dan tingkat throughput yang lebih rendah sepanjang waktu, Amazon EFS dirancang untuk meledak untuk memungkinkan tingkat throughput yang tinggi untuk periode waktu tertentu. Selain itu, karena banyak beban kerja yang berat baca, operasi baca diukur pada rasio 1:3 terhadap operasi NFS lainnya (seperti menulis). 

Semua sistem file Amazon EFS memberikan kinerja dasar yang konsisten sebesar 50 MB/s untuk setiap TB penyimpanan Amazon EFS Standard atau Amazon EFS One Zone. Semua sistem file (terlepas dari ukurannya) dapat meledak hingga 100 MB/s. File systems with more than 1TB of EFS Standard or EFS One Zone storage can burst to 100 MB/s for each TB. Because read operations are metered at a 1:3 ratio, you can drive up to 300 MiBs/s untuk setiap TiB throughput baca. Saat Anda menambahkan data ke sistem file, throughput maksimum yang tersedia untuk sistem file akan diskalakan secara linier dan otomatis dengan penyimpanan Anda di kelas penyimpanan Amazon EFS Standard. Jika Anda membutuhkan lebih banyak throughput daripada yang dapat Anda capai dengan jumlah data yang disimpan, Anda dapat mengonfigurasi Throughput yang Disediakan ke jumlah tertentu yang dibutuhkan beban kerja Anda.

Throughput sistem file dibagikan di semua instans Amazon EC2 yang terhubung ke sistem file. Misalnya, sistem file 1TB yang dapat meledak hingga 100 MB/s throughput dapat mendorong 100 MB/s dari satu instans Amazon EC2 dapat masing-masing drive 10 MB/s. Untuk informasi selengkapnya, lihat [Performa Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html) di *Panduan Pengguna Amazon Elastic File System*.

## Mengoptimalkan biaya untuk volume Amazon EFS
<a name="storage-efs-costopt"></a>

Amazon EFS menyederhanakan penyimpanan penskalaan untuk Anda. Sistem file Amazon EFS tumbuh secara otomatis saat Anda menambahkan lebih banyak data. Terutama dengan mode Amazon EFS *Bursting Throughput*, throughput di Amazon EFS meningkat seiring dengan bertambahnya ukuran sistem file Anda di kelas penyimpanan standar. Untuk meningkatkan throughput tanpa membayar biaya tambahan untuk throughput yang disediakan pada sistem file EFS, Anda dapat berbagi sistem file Amazon EFS dengan beberapa aplikasi. Menggunakan jalur akses Amazon EFS, Anda dapat menerapkan isolasi penyimpanan dalam sistem file Amazon EFS bersama. Dengan demikian, meskipun aplikasi masih berbagi sistem file yang sama, mereka tidak dapat mengakses data kecuali Anda mengotorisasi itu.

Seiring pertumbuhan data Anda, Amazon EFS membantu Anda memindahkan file yang jarang diakses secara otomatis ke kelas penyimpanan yang lebih rendah. Kelas penyimpanan Amazon EFS Standard-Infrequent Access (IA) mengurangi biaya penyimpanan untuk file yang tidak diakses setiap hari. Ini dilakukan tanpa mengorbankan ketersediaan tinggi, daya tahan tinggi, elastisitas, dan akses sistem file POSIX yang disediakan Amazon EFS. Untuk informasi selengkapnya, lihat [kelas penyimpanan EFS](https://docs.aws.amazon.com/efs/latest/ug/features.html) di *Panduan Pengguna Amazon Elastic File System*.

Pertimbangkan untuk menggunakan kebijakan siklus hidup Amazon EFS untuk menghemat uang secara otomatis dengan memindahkan file yang jarang diakses ke penyimpanan Amazon EFS IA. Untuk informasi selengkapnya, lihat [Manajemen siklus hidup Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html) di *Panduan Pengguna Amazon Elastic File System*.

Saat membuat sistem file Amazon EFS, Anda dapat memilih apakah Amazon EFS mereplikasi data Anda di beberapa Availability Zone (Standar) atau menyimpan data Anda secara berlebihan dalam satu Availability Zone. Kelas penyimpanan Amazon EFS One Zone dapat mengurangi biaya penyimpanan dengan margin yang signifikan dibandingkan dengan kelas penyimpanan Amazon EFS Standard. Pertimbangkan untuk menggunakan kelas penyimpanan Amazon EFS One Zone untuk beban kerja yang tidak memerlukan ketahanan Multi-AZ. Anda dapat mengurangi biaya penyimpanan Amazon EFS One Zone dengan memindahkan file yang jarang diakses ke Amazon EFS One Zone-Infrequent Access. Untuk informasi selengkapnya, lihat [Amazon EFS Infrequent Access](https://aws.amazon.com/efs/features/infrequent-access/).

## Perlindungan data volume Amazon EFS
<a name="storage-efs-dataprotection"></a>

Amazon EFS menyimpan data Anda secara berlebihan di beberapa Availability Zone untuk sistem file yang menggunakan kelas penyimpanan Standar. Jika Anda memilih kelas penyimpanan Amazon EFS One Zone, data Anda disimpan secara berlebihan dalam satu Availability Zone. Selain itu, Amazon EFS dirancang untuk memberikan daya tahan 99,999999999% (11 9) selama tahun tertentu.

Seperti halnya lingkungan apa pun, ini adalah praktik terbaik untuk memiliki cadangan dan membangun perlindungan terhadap penghapusan yang tidak disengaja. Untuk data Amazon EFS, praktik terbaik tersebut mencakup penggunaan cadangan yang berfungsi dan diuji secara teratur AWS Backup. Sistem file yang menggunakan kelas penyimpanan Amazon EFS One Zone dikonfigurasi untuk secara otomatis mencadangkan file secara default pada pembuatan sistem file kecuali Anda memilih untuk menonaktifkan fungsi ini. Untuk informasi selengkapnya, lihat [Mencadangkan sistem file EFS](https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html) di *Panduan Pengguna Amazon Elastic File System*.

# Menentukan sistem file Amazon EFS dalam definisi tugas Amazon ECS
<a name="specify-efs-config"></a>

Untuk menggunakan volume sistem file Amazon EFS untuk container, Anda harus menentukan konfigurasi volume dan mount point dalam definisi tugas. Cuplikan JSON definisi tugas berikut menunjukkan sintaks untuk `volumes` dan `mountPoints` objek untuk wadah.

```
{
    "containerDefinitions": [
        {
            "name": "container-using-efs",
            "image": "public.ecr.aws/amazonlinux/amazonlinux:latest",
            "entryPoint": [
                "sh",
                "-c"
            ],
            "command": [
                "ls -la /mount/efs"
            ],
            "mountPoints": [
                {
                    "sourceVolume": "myEfsVolume",
                    "containerPath": "/mount/efs",
                    "readOnly": true
                }
            ]
        }
    ],
    "volumes": [
        {
            "name": "myEfsVolume",
            "efsVolumeConfiguration": {
                "fileSystemId": "fs-1234",
                "rootDirectory": "/path/to/my/data",
                "transitEncryption": "ENABLED",
                "transitEncryptionPort": integer,
                "authorizationConfig": {
                    "accessPointId": "fsap-1234",
                    "iam": "ENABLED"
                }
            }
        }
    ]
}
```

`efsVolumeConfiguration`  
Tipe: Objek  
Wajib: Tidak  
Parameter ini ditentukan saat menggunakan volume Amazon EFS.    
`fileSystemId`  
Tipe: String  
Diperlukan: Ya  
ID sistem file Amazon EFS yang akan digunakan.  
`rootDirectory`  
Tipe: String  
Wajib: Tidak  
Direktori dalam sistem file Amazon EFS untuk pemasangan sebagai direktori asal di dalam host. Jika parameter ini diabaikan, asal volume Amazon EFS akan digunakan. Menentukan `/` memiliki efek yang sama seperti mengabaikan parameter ini.  
Jika titik akses EFS ditentukan dalam `authorizationConfig`, parameter direktori root harus dihilangkan atau diatur ke `/`, yang memberlakukan jalur yang diatur pada titik akses EFS.  
`transitEncryption`  
Jenis: String  
Nilai yang valid: `ENABLED` \$1 `DISABLED`  
Wajib: Tidak  
Menentukan apakah akan mengaktifkan enkripsi untuk data Amazon EFS dalam perjalanan antara host Amazon ECS dan server Amazon EFS. Jika otorisasi Amazon EFS IAM digunakan, enkripsi transit harus diaktifkan. Jika parameter ini diabaikan, nilai default `DISABLED` akan digunakan. Untuk informasi lebih lanjut, lihat [Pengenkripsian Data Saat Transit](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) di *Panduan Pengguna Amazon Elastic File System*.  
`transitEncryptionPort`  
Tipe: Integer  
Wajib: Tidak  
Port yang akan digunakan saat mengirim data terenkripsi antara host Amazon ECS dan server Amazon EFS. Jika Anda tidak menentukan port enkripsi transit, strategi pemilihan port yang digunakan oleh pembantu pemasangan Amazon EFS akan digunakan. Untuk informasi lebih lanjut, lihat [Pembantu Pemasangan EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) dalam *Panduan Pengguna Amazon Elastic File System*.  
`authorizationConfig`  
Tipe: Objek  
Wajib: Tidak  
Detail konfigurasi otorisasi untuk sistem file Amazon EFS.    
`accessPointId`  
Tipe: String  
Wajib: Tidak  
ID titik akses yang akan digunakan. Jika titik akses ditentukan, nilai direktori root di dalam `efsVolumeConfiguration` harus dihilangkan atau disetel ke`/`, yang memberlakukan jalur yang ditetapkan pada titik akses EFS. Jika titik akses digunakan, enkripsi transit harus diaktifkan di `EFSVolumeConfiguration`. Untuk informasi lebih lanjut, lihat [Bekerja dengan Titik Akses Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) dalam *Panduan Pengguna Amazon Elastic File System*.  
`iam`  
Tipe: String  
Nilai yang valid: `ENABLED` \$1 `DISABLED`  
Wajib: Tidak  
 Menentukan apakah akan menggunakan peran IAM tugas Amazon ECS yang ditentukan dalam definisi tugas saat memasang sistem file Amazon EFS. Jika diaktifkan, enkripsi transit harus diaktifkan di `EFSVolumeConfiguration`. Jika Anda menghilangkan parameter ini, nilai default `DISABLED` akan digunakan. Untuk informasi selengkapnya, lihat [IAM Role pada Tugas](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html).

# Mengonfigurasi sistem file Amazon EFS untuk Amazon ECS menggunakan konsol
<a name="tutorial-efs-volumes"></a>

Pelajari cara menggunakan sistem file Amazon Elastic File System (Amazon EFS) dengan Amazon ECS.

## Langkah 1: Buat cluster Amazon ECS
<a name="efs-create-cluster"></a>

Gunakan langkah-langkah berikut untuk membuat cluster Amazon ECS. 

**Untuk membuat cluster baru (konsol Amazon ECS)**

Sebelum Anda mulai, tetapkan izin IAM yang sesuai. Untuk informasi selengkapnya, lihat [Contoh cluster Amazon ECS](security_iam_id-based-policy-examples.md#IAM_cluster_policies).

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

1. Dari bilah navigasi, pilih Wilayah untuk digunakan.

1. Di panel navigasi, pilih **Klaster**.

1. Pada halaman **Klaster**, pilih **Buat klaster**.

1. Di bawah **konfigurasi Cluster****, untuk nama Cluster**, masukkan `EFS-tutorial` untuk nama cluster.

1. (Opsional) Untuk mengubah VPC dan subnet tempat tugas dan layanan Anda diluncurkan, di bawah **Jaringan**, lakukan salah satu operasi berikut:
   + Untuk menghapus subnet, di bawah **Subnet**, pilih **X** untuk setiap subnet yang ingin Anda hapus.
   + **Untuk mengubah ke VPC selain VPC default, di bawah **VPC**, pilih **VPC yang ada, lalu** di bawah Subnet, pilih **setiap subnet**.**

1.  **Untuk menambahkan instans Amazon EC2 ke klaster, perluas **Infrastruktur**, lalu pilih instans Amazon EC2.** Selanjutnya, konfigurasikan grup Auto Scaling yang bertindak sebagai penyedia kapasitas:

   1. Untuk membuat grup Auto Scaling, dari grup **Auto Scaling (ASG**), **pilih Buat grup baru**, lalu berikan detail berikut tentang grup:
     + Untuk **Sistem Operasi/Arsitektur**, pilih Amazon Linux 2.
     + Untuk **Tipe instans EC2**, pilih `t2.micro`.

        Untuk **key pair SSH**, pilih pair yang membuktikan identitas Anda saat Anda terhubung ke instance.
     + Untuk **Kapasitas**, masukkan`1`.

1. Pilih **Buat**.

## Langkah 2: Buat grup keamanan untuk instans Amazon EC2 dan sistem file Amazon EFS
<a name="efs-security-group"></a>

Pada langkah ini, Anda membuat grup keamanan untuk instans Amazon EC2 yang memungkinkan lalu lintas jaringan masuk pada port 80 dan sistem file Amazon EFS Anda yang memungkinkan akses masuk dari instans kontainer Anda. 

Buat grup keamanan untuk instans Amazon EC2 Anda dengan opsi berikut:
+ **Nama grup keamanan** - nama unik untuk grup keamanan Anda.
+ **VPC** - VPC yang Anda identifikasi sebelumnya untuk cluster Anda.
+ **Aturan ke dalam**
  + **Jenis** - **HTTP**
  + **Sumber** - **0.0.0.0/0**.

Buat grup keamanan untuk sistem file Amazon EFS Anda dengan opsi berikut:
+ **Nama grup keamanan** - nama unik untuk grup keamanan Anda. Misalnya, `EFS-access-for-sg-dc025fa2`.
+ **VPC** - VPC yang Anda identifikasi sebelumnya untuk cluster Anda.
+ **Aturan ke dalam**
  + **Jenis** - **NFS**
  + **Sumber** - **Kustom** dengan ID grup keamanan yang Anda buat untuk instance Anda.

Untuk informasi tentang cara membuat grup keamanan, lihat [Membuat grup keamanan untuk instans Amazon EC2 Anda di Panduan](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-security-group.html) Pengguna *Amazon EC2*.

## Langkah 3: Buat sistem file Amazon EFS
<a name="efs-create-filesystem"></a>

Pada langkah ini, Anda membuat sistem file Amazon EFS.

**Untuk membuat sistem file Amazon EFS untuk tugas Amazon ECS.**

1. Buka konsol Amazon Elastic File System di [https://console.aws.amazon.com/efs/](https://console.aws.amazon.com/efs/).

1. Pilih **Buat sistem file**.

1. Masukkan nama untuk sistem file Anda dan kemudian pilih VPC tempat instance container Anda di-host. Secara default, setiap subnet di VPC tertentu menerima target pemasangan yang menggunakan grup keamanan default untuk VPC tersebut. Kemudian, pilih **Sesuaikan**.
**catatan**  
Tutorial ini mengasumsikan bahwa sistem file Amazon EFS, cluster Amazon ECS, instance container, dan tugas Anda berada dalam VPC yang sama. *Untuk informasi selengkapnya tentang memasang sistem file dari VPC yang berbeda, lihat [Panduan: Memasang sistem file dari VPC yang berbeda di Panduan Pengguna Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-different-vpc.html).*

1. Pada halaman **Pengaturan sistem file**, konfigurasikan pengaturan opsional dan kemudian di bawah **Pengaturan kinerja**, pilih mode throughput **meledak** untuk sistem file Anda. Setelah Anda mengonfigurasi pengaturan, pilih **Berikutnya**.

   1. (Opsional) Tambahkan untuk menandai untuk sistem file Anda. Sebagai contoh, Anda dapat menentukan nama unik untuk sistem file dengan memasukkan nama tersebut di kolom **Nilai** di samping kunci **Nama**.

   1. (Opsional) Aktifkan manajemen siklus hidup untuk menghemat uang pada penyimpanan yang jarang diakses. Untuk informasi selengkapnya, lihat [EFS Lifecycle Management](https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html) di *Panduan Pengguna Amazon Elastic File System*.

   1. (Opsional) Aktifkan enkripsi. Pilih kotak centang untuk mengaktifkan enkripsi sistem file Amazon EFS Anda saat istirahat.

1. Pada halaman **Akses jaringan**, di bawah **Target Mount**, ganti konfigurasi grup keamanan yang ada untuk setiap zona ketersediaan dengan grup keamanan yang Anda buat untuk sistem file, [Langkah 2: Buat grup keamanan untuk instans Amazon EC2 dan sistem file Amazon EFS](#efs-security-group) lalu pilih **Berikutnya**.

1.  Anda tidak perlu mengkonfigurasi **kebijakan sistem File** untuk tutorial ini, sehingga Anda dapat melewati bagian dengan memilih **Berikutnya**.

1. Tinjau opsi sistem file Anda dan pilih **Buat** untuk menyelesaikan proses.

1. Dari layar **Sistem file**, rekam **ID sistem File**. Pada langkah berikutnya, Anda akan mereferensikan nilai ini dalam definisi tugas Amazon ECS Anda.

## Langkah 4: Tambahkan konten ke sistem file Amazon EFS
<a name="efs-add-content"></a>

Pada langkah ini, Anda memasang sistem file Amazon EFS ke instans Amazon EC2 dan menambahkan konten ke dalamnya. Proses ini bertujuan untuk menguji tutorial ini, untuk menggambarkan sifat persisten data. Saat menggunakan fitur ini, Anda biasanya memiliki aplikasi atau metode lain untuk menulis data ke sistem file Amazon EFS Anda.

**Untuk membuat instans Amazon EC2 dan memasang sistem file Amazon EFS**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Pilih **Luncurkan Instans**.

1. Di bawah Gambar **Aplikasi dan OS (Gambar Mesin Amazon)**, pilih **Amazon Linux 2 AMI (HVM**).

1. Di bawah **tipe Instance**, pertahankan tipe instance default,`t2.micro`.

1.  Di bawah **Key pair (login)**, pilih key pair untuk akses SSH ke instance.

1. Di bawah **Pengaturan jaringan**, pilih VPC yang Anda tentukan untuk sistem file Amazon EFS dan kluster Amazon ECS. Pilih subnet dan grup keamanan instance yang dibuat di[Langkah 2: Buat grup keamanan untuk instans Amazon EC2 dan sistem file Amazon EFS](#efs-security-group). Konfigurasikan grup keamanan instans. Pastikan bahwa **Auto-assign IP publik diaktifkan**.

1. Di bawah **Konfigurasi penyimpanan**, pilih tombol **Edit** untuk sistem file dan kemudian pilih **EFS**. Pilih sistem file yang Anda buat[Langkah 3: Buat sistem file Amazon EFS](#efs-create-filesystem). Anda dapat secara opsional mengubah titik pemasangan atau meninggalkan nilai default.
**penting**  
Anda harus memilih subnet sebelum Anda dapat menambahkan sistem file ke instance.

1. Hapus secara **otomatis membuat dan melampirkan grup keamanan**. Biarkan kotak centang lainnya dipilih. Pilih **Tambahkan sistem file bersama**.

1. Di bawah **Detail Lanjutan**, pastikan bahwa skrip data pengguna diisi secara otomatis dengan langkah-langkah pemasangan sistem file Amazon EFS.

1.  Di bawah **Ringkasan**, pastikan **Jumlah instans** adalah **1**. Pilih **Luncurkan instans**.

1. Pada halaman **Luncurkan instans**, pilih **Lihat semua instance** untuk melihat status instance Anda. Awalnya, status **status Instance** adalah`PENDING`. Setelah status berubah `RUNNING` dan instance melewati semua pemeriksaan status, instance siap digunakan.

Sekarang, Anda terhubung ke instans Amazon EC2 dan menambahkan konten ke sistem file Amazon EFS.

**Untuk terhubung ke instans Amazon EC2 dan menambahkan konten ke sistem file Amazon EFS**

1. SSH ke instans Amazon EC2 yang Anda buat. Untuk informasi selengkapnya, lihat [Connect ke instans Linux menggunakan SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html) di Panduan *Pengguna Amazon EC2*.

1. Dari jendela terminal, jalankan **df -T** perintah untuk memverifikasi bahwa sistem file Amazon EFS sudah terpasang. Pada output berikut, kami telah menyoroti pemasangan sistem file Amazon EFS.

   ```
   $ df -T
   Filesystem     Type            1K-blocks    Used        Available Use% Mounted on
   devtmpfs       devtmpfs           485468       0           485468   0% /dev
   tmpfs          tmpfs              503480       0           503480   0% /dev/shm
   tmpfs          tmpfs              503480     424           503056   1% /run
   tmpfs          tmpfs              503480       0           503480   0% /sys/fs/cgroup
   /dev/xvda1     xfs               8376300 1310952          7065348  16% /
   127.0.0.1:/    nfs4     9007199254739968       0 9007199254739968   0% /mnt/efs/fs1
   tmpfs          tmpfs              100700       0           100700   0% /run/user/1000
   ```

1. Arahkan ke direktori tempat sistem file Amazon EFS dipasang. Dalam contoh di atas, yaitu `/mnt/efs/fs1`.

1. Buat file bernama `index.html` dengan konten berikut:

   ```
   <html>
       <body>
           <h1>It Works!</h1>
           <p>You are using an Amazon EFS file system for persistent container storage.</p>
       </body>
   </html>
   ```

## Langkah 5: Buat ketentuan tugas
<a name="efs-task-def"></a>

Ketentuan tugas berikut membuat volume data dengan nama `efs-html`. Pemasangan kontainer `nginx` volume data host pada root NGINX, `/usr/share/nginx/html`.

**Untuk membuat definisi tugas baru menggunakan konsol Amazon ECS**

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

1. Di panel navigasi, pilih **Definisi tugas**.

1. Pilih **Buat definisi tugas baru**, **Buat definisi tugas baru dengan JSON**.

1. Di kotak editor JSON, salin dan tempel teks JSON berikut, ganti `fileSystemId` dengan ID sistem file Amazon EFS Anda.

   ```
   {
       "containerDefinitions": [
           {
               "memory": 128,
               "portMappings": [
                   {
                       "hostPort": 80,
                       "containerPort": 80,
                       "protocol": "tcp"
                   }
               ],
               "essential": true,
               "mountPoints": [
                   {
                       "containerPath": "/usr/share/nginx/html",
                       "sourceVolume": "efs-html"
                   }
               ],
               "name": "nginx",
               "image": "public.ecr.aws/docker/library/nginx:latest"
           }
       ],
       "volumes": [
           {
               "name": "efs-html",
               "efsVolumeConfiguration": {
                   "fileSystemId": "fs-1324abcd",
                   "transitEncryption": "ENABLED"
               }
           }
       ],
       "family": "efs-tutorial",
       "executionRoleArn":"arn:aws:iam::111122223333:role/ecsTaskExecutionRole"
   }
   ```
**catatan**  
Peran IAM eksekusi tugas Amazon ECS tidak memerlukan izin khusus terkait Amazon EFS untuk memasang sistem file Amazon EFS. Secara default, jika tidak ada kebijakan berbasis sumber daya Amazon EFS, akses diberikan ke semua prinsipal (\$1) pada pembuatan sistem file.  
Peran tugas Amazon ECS hanya diperlukan jika “otorisasi EFS IAM” diaktifkan dalam definisi tugas Amazon ECS. Saat diaktifkan, identitas peran tugas harus diizinkan mengakses sistem file Amazon EFS dalam kebijakan berbasis sumber daya Amazon EFS, dan akses anonim harus dinonaktifkan.

1. Pilih **Buat**.

## Langkah 6: Jalankan tugas dan lihat hasilnya
<a name="efs-run-task"></a>

Sekarang setelah sistem file Amazon EFS Anda dibuat dan ada konten web untuk penampung NGINX untuk disajikan, Anda dapat menjalankan tugas menggunakan definisi tugas yang Anda buat. Server web NGINX melayani halaman HTML sederhana Anda. Jika Anda memperbarui konten di sistem file Amazon EFS Anda, perubahan tersebut disebarkan ke wadah apa pun yang juga telah memasang sistem file tersebut.

Tugas berjalan di subnet yang Anda tentukan untuk cluster.

**Untuk menjalankan tugas dan melihat hasilnya menggunakan konsol**

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

1. Pada halaman **klaster**, pilih klaster tempat tugas mandiri dijalankan.

   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/tutorial-efs-volumes.html)

1. (Opsional) Pilih bagaimana tugas terjadwal Anda didistribusikan di seluruh infrastruktur klaster Anda. Perluas **konfigurasi Compute**, lalu lakukan hal berikut:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/tutorial-efs-volumes.html)

1. Untuk **Jenis aplikasi**, pilih **Tugas**.

1. Untuk **definisi Tugas**, pilih definisi `efs-tutorial` tugas yang Anda buat sebelumnya.

1. Untuk **tugas yang diinginkan**, masukkan`1`.

1. Pilih **Buat**.

1. Pada halaman **Cluster**, pilih **Infrastruktur**.

1. Di bawah **Instans Kontainer**, pilih instance kontainer untuk dihubungkan.

1. Pada halaman **Container Instance**, di bawah **Networking**, rekam **IP Publik** untuk instans Anda.

1. Buka browser dan masukkan alamat IP publik. Anda akan melihat pesan berikut:

   ```
   It works!
   You are using an Amazon EFS file system for persistent container storage.
   ```
**catatan**  
Jika Anda tidak melihat pesan, pastikan bahwa grup keamanan untuk instance container Anda mengizinkan lalu lintas jaringan masuk pada port 80 dan grup keamanan untuk sistem file Anda memungkinkan akses masuk dari instance container.

# Gunakan FSx untuk volume Server File Windows dengan Amazon ECS
<a name="wfsx-volumes"></a>

FSx untuk Windows File Server menyediakan server file Windows yang dikelola sepenuhnya, yang didukung oleh sistem file Windows. Saat menggunakan FSx untuk Windows File Server bersama dengan ECS, Anda dapat menyediakan tugas Windows Anda dengan penyimpanan file statis yang persisten, terdistribusi, bersama, dan statis. Untuk informasi selengkapnya, lihat [Apa itu FSx untuk Windows File Server?](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) .

**catatan**  
Instans EC2 yang menggunakan AMI Penuh Windows Server 2016 yang dioptimalkan Amazon ECS tidak mendukung FSx volume tugas Windows File Server ECS.  
Anda tidak dapat menggunakan FSx volume Windows File Server dalam wadah Windows pada konfigurasi Fargate. Sebagai gantinya, Anda dapat [memodifikasi kontainer untuk memasangnya saat startup](https://aws.amazon.com/blogs/containers/use-smb-storage-with-windows-containers-on-aws-fargate/).

Anda dapat menggunakan Windows File Server FSx untuk menyebarkan beban kerja Windows yang memerlukan akses ke penyimpanan eksternal bersama, penyimpanan Regional yang sangat tersedia, atau penyimpanan throughput tinggi. Anda dapat memasang satu atau beberapa FSx volume sistem file Windows File Server ke wadah Amazon ECS yang berjalan pada instans Amazon ECS Windows. Anda dapat berbagi FSx untuk volume sistem file Windows File Server antara beberapa wadah Amazon ECS dalam satu tugas Amazon ECS.

Untuk mengaktifkan penggunaan FSx untuk Windows File Server dengan ECS, sertakan FSx untuk Windows File Server ID sistem file dan informasi terkait dalam definisi tugas. Ini ada dalam contoh cuplikan JSON definisi tugas berikut. Sebelum Anda membuat dan menjalankan definisi tugas, Anda memerlukan yang berikut ini.
+ Instans ECS Windows EC2 yang bergabung ke domain yang valid. Ini dapat di-host oleh Active Directory lokal atau Direktori Aktif yang dihosting sendiri di Amazon EC2. [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html)
+ Parameter AWS Secrets Manager rahasia atau Systems Manager yang berisi kredensyal yang digunakan untuk bergabung dengan domain Active Directory dan melampirkan sistem file FSx untuk Windows File Server. Nilai kredensial adalah kredensial nama dan kata sandi yang Anda masukkan saat membuat Direktori Aktif.

Untuk tutorial terkait, lihat[Pelajari cara mengonfigurasi FSx sistem file Windows File Server untuk Amazon ECS](tutorial-wfsx-volumes.md).

## Pertimbangan-pertimbangan
<a name="wfsx-volume-considerations"></a>

Pertimbangkan hal berikut saat menggunakan FSx volume Windows File Server:
+ Volume FSx for Windows File Server didukung secara native dengan Amazon ECS pada instans Windows Amazon EC2 — Amazon ECS secara otomatis mengelola pemasangan melalui konfigurasi definisi tugas.

  Pada instans Amazon EC2 Linux, Amazon ECS tidak dapat secara otomatis memasang volume FSx for Windows File Server melalui definisi tugas. Namun, Anda dapat memasang file share FSx for Windows File Server secara manual pada instans Linux EC2 di tingkat host dan kemudian mengikat jalur itu ke wadah Amazon ECS Anda. Untuk informasi selengkapnya, lihat [Memasang berbagi FSx file Amazon dari Linux](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/map-shares-linux.html).
**penting**  
Ini adalah konfigurasi yang dikelola sendiri. Untuk panduan tentang pemasangan dan pemeliharaan FSx untuk berbagi file Windows File Server di Linux, lihat [dokumentasi FSx untuk Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/).
**penting**  
Saat menggunakan berbagi FSx for Windows File Server yang dipasang secara manual di instans Linux EC2, Amazon FSx ECS dan untuk Windows File Server beroperasi secara independen - Amazon ECS tidak memantau pemasangan FSx Amazon FSx , dan untuk Windows File Server tidak melacak penempatan tugas Amazon ECS atau peristiwa siklus hidup. Anda bertanggung jawab untuk memastikan jangkauan jaringan antara instans penampung Amazon ECS dan sistem FSx file Amazon, menerapkan pemeriksaan kesehatan pemasangan, dan menangani logika penyambungan ulang untuk mentolerir peristiwa failover.
+ FSx untuk Windows File Server dengan Amazon ECS tidak mendukung AWS Fargate.
+ FSx untuk Windows File Server dengan Amazon ECS tidak didukung di Instans Terkelola Amazon ECS.
+ FSx untuk Windows File Server dengan Amazon ECS dengan mode `awsvpc` jaringan memerlukan versi `1.54.0` atau yang lebih baru dari agen penampung.
+ Jumlah maksimum huruf drive yang dapat digunakan untuk tugas Amazon ECS adalah 23. Setiap tugas dengan volume FSx untuk Windows File Server mendapat huruf drive yang ditetapkan untuk itu.
+ Secara default, waktu pembersihan sumber daya tugas adalah tiga jam setelah tugas berakhir. Bahkan jika tidak ada tugas yang menggunakannya, pemetaan file yang dibuat oleh tugas tetap ada selama tiga jam. Waktu pembersihan default dapat dikonfigurasi dengan menggunakan variabel lingkungan Amazon ECS. `ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION` Untuk informasi selengkapnya, lihat [Konfigurasi agen kontainer Amazon ECS](ecs-agent-config.md).
+ Tugas biasanya hanya berjalan di VPC yang sama dengan sistem file FSx untuk Windows File Server. Namun, dimungkinkan untuk memiliki dukungan lintas-VPC jika ada konektivitas jaringan yang mapan antara VPC cluster Amazon ECS dan sistem file FSx untuk Windows File Server melalui VPC peering.
+ Anda mengontrol akses ke sistem file FSx for Windows File Server di tingkat jaringan dengan mengonfigurasi grup keamanan VPC. Hanya tugas yang di-host pada instans EC2 yang bergabung ke domain Active Directory dengan grup keamanan Active Directory yang dikonfigurasi dengan benar yang dapat mengakses berbagi file FSx untuk Windows File Server. Jika grup keamanan salah dikonfigurasi, Amazon ECS gagal meluncurkan tugas dengan pesan galat berikut: `unable to mount file system fs-id` 
+ FSx untuk Windows File Server terintegrasi dengan AWS Identity and Access Management (IAM) untuk mengontrol tindakan yang dapat dilakukan oleh pengguna dan grup IAM Anda secara spesifik FSx untuk sumber daya Windows File Server. Dengan otorisasi klien, pelanggan dapat menentukan peran IAM yang memungkinkan atau menolak akses ke spesifik FSx untuk sistem file Windows File Server, secara opsional memerlukan akses hanya-baca, dan secara opsional mengizinkan atau melarang akses root ke sistem file dari klien. Untuk informasi selengkapnya, lihat [Keamanan](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/security.html) di Panduan Pengguna Amazon FSx Windows.

# Praktik terbaik FSx untuk menggunakan Windows File Server dengan Amazon ECS
<a name="wfsx-best-practices"></a>

Catat rekomendasi praktik terbaik berikut saat Anda menggunakan FSx Windows File Server dengan Amazon ECS.

## Kontrol keamanan dan akses FSx untuk Windows File Server
<a name="wfsx-security-access-controls"></a>

FSx untuk Windows File Server menawarkan fitur kontrol akses berikut yang dapat Anda gunakan untuk memastikan bahwa data yang FSx disimpan dalam sistem file Windows File Server aman dan hanya dapat diakses dari aplikasi yang membutuhkannya.

### Enkripsi data FSx untuk volume Windows File Server
<a name="storage-fsx-security-encryption"></a>

FSx untuk Windows File Server mendukung dua bentuk enkripsi untuk sistem file. Mereka adalah enkripsi data dalam perjalanan dan enkripsi saat istirahat. Enkripsi data dalam perjalanan didukung pada berbagi file yang dipetakan pada instance kontainer yang mendukung protokol SMB 3.0 atau yang lebih baru. Enkripsi data saat istirahat diaktifkan secara otomatis saat membuat sistem FSx file Amazon. Amazon FSx secara otomatis mengenkripsi data dalam perjalanan menggunakan enkripsi SMB saat Anda mengakses sistem file Anda tanpa perlu memodifikasi aplikasi Anda. Untuk informasi selengkapnya, lihat [Enkripsi data FSx di Amazon](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/encryption.html) *di Panduan Pengguna Server File Amazon FSx untuk Windows*.

### Gunakan Windows ACLs untuk kontrol akses tingkat folder
<a name="storage-fsx-security-access"></a>

Instans Windows Amazon EC2 mengakses berbagi FSx file Amazon menggunakan kredensyal Direktori Aktif. Ini menggunakan daftar kontrol akses Windows standar (ACLs) untuk kontrol akses tingkat file dan tingkat folder berbutir halus. Anda dapat membuat beberapa kredensil, masing-masing untuk folder tertentu dalam berbagi yang memetakan ke tugas tertentu.

Dalam contoh berikut, tugas memiliki akses ke folder `App01` menggunakan kredensi yang disimpan di Secrets Manager. Nama Sumber Daya Amazon (ARN) adalah. `1234`

```
"rootDirectory": "\\path\\to\\my\\data\App01",
"credentialsParameter": "arn-1234",
"domain": "corp.fullyqualified.com",
```

Dalam contoh lain, tugas memiliki akses ke folder `App02` menggunakan kredensi yang disimpan di Secrets Manager. ARN-nya adalah. `6789`

```
"rootDirectory": "\\path\\to\\my\\data\App02",
"credentialsParameter": "arn-6789",
"domain": "corp.fullyqualified.com",
```

# Tentukan sistem file Windows File Server FSx untuk Windows dalam definisi tugas Amazon ECS
<a name="specify-wfsx-config"></a>

 FSx Untuk menggunakan volume sistem file Windows File Server untuk container Anda, tentukan konfigurasi volume dan mount point dalam definisi tugas Anda. Cuplikan JSON definisi tugas berikut menunjukkan sintaks untuk `volumes` dan `mountPoints` objek untuk wadah.

```
{
    "containerDefinitions": [
        {
            "entryPoint": [
                "powershell",
                "-Command"
            ],
            "portMappings": [],
            "command": ["New-Item -Path C:\\fsx-windows-dir\\index.html -ItemType file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>It Works!</h2> <p>You are using Amazon FSx for Windows File Server file system for persistent container storage.</p>' -Force"],
            "cpu": 512,
            "memory": 256,
            "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019",
            "essential": false,
            "name": "container1",
            "mountPoints": [
                {
                    "sourceVolume": "fsx-windows-dir",
                    "containerPath": "C:\\fsx-windows-dir",
                    "readOnly": false
                }
            ]
        },
        {
            "entryPoint": [
                "powershell",
                "-Command"
            ],
            "portMappings": [
                {
                    "hostPort": 443,
                    "protocol": "tcp",
                    "containerPort": 80
                }
            ],
            "command": ["Remove-Item -Recurse C:\\inetpub\\wwwroot\\* -Force; Start-Sleep -Seconds 120; Move-Item -Path C:\\fsx-windows-dir\\index.html -Destination C:\\inetpub\\wwwroot\\index.html -Force; C:\\ServiceMonitor.exe w3svc"],
            "mountPoints": [
                {
                    "sourceVolume": "fsx-windows-dir",
                    "containerPath": "C:\\fsx-windows-dir",
                    "readOnly": false
                }
            ],
            "cpu": 512,
            "memory": 256,
            "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019",
            "essential": true,
            "name": "container2"
        }
    ],
    "family": "fsx-windows",
    "executionRoleArn": "arn:aws:iam::111122223333:role/ecsTaskExecutionRole",
    "volumes": [
        {
            "name": "fsx-windows-dir",
            "fsxWindowsFileServerVolumeConfiguration": {
                "fileSystemId": "fs-0eeb5730b2EXAMPLE",
                "authorizationConfig": {
                    "domain": "example.com",
                    "credentialsParameter": "arn:arn-1234"
                },
                "rootDirectory": "share"
            }
        }
    ]
}
```

`FSxWindowsFileServerVolumeConfiguration`  
Tipe: Objek  
Wajib: Tidak  
Parameter ini ditentukan saat Anda menggunakan FSx sistem [file Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) untuk penyimpanan tugas.    
`fileSystemId`  
Tipe: String  
Diperlukan: Ya  
ID sistem file Windows File Server untuk digunakan. FSx   
`rootDirectory`  
Tipe: String  
Diperlukan: Ya  
Direktori dalam sistem file FSx untuk Windows File Server untuk dipasang sebagai direktori root di dalam host.  
`authorizationConfig`    
`credentialsParameter`  
Tipe: String  
Wajib: Ya  
Opsi kredensial otorisasi:  
+ Nama Sumber Daya Amazon (ARN) dari [rahasia Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html).
+ Nama Sumber Daya Amazon (ARN) dari parameter [Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/integration-ps-secretsmanager.html).  
`domain`  
Tipe: String  
Diperlukan: Ya  
Nama domain yang sepenuhnya memenuhi syarat yang di-host oleh direktori [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html)(AWS Managed Microsoft AD) atau Direktori Aktif EC2 yang dihosting sendiri.

## Metode FSx untuk menyimpan kredensyal volume Windows File Server
<a name="creds"></a>

Ada dua metode yang berbeda untuk menyimpan kredensial untuk digunakan dengan parameter kredensial.
+ **AWS Secrets Manager rahasia**

  Kredensi ini dapat dibuat di AWS Secrets Manager konsol dengan menggunakan kategori *rahasia jenis lain*. Anda menambahkan baris untuk setiap key/value pasangan, username/admin dan kata sandi/*password*.
+ **Parameter Systems Manager**

  Kredensyal ini dapat dibuat di konsol parameter Systems Manager dengan memasukkan teks dalam formulir yang ada di cuplikan kode contoh berikut.

  ```
  {
    "username": "admin",
    "password": "password"
  }
  ```

`FSxWindowsFileServerVolumeConfiguration`Parameter `credentialsParameter` dalam definisi tugas memegang ARN rahasia atau parameter Systems Manager ARN. Untuk informasi selengkapnya, lihat [Apa itu AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) di *Panduan Pengguna Secrets* [Manager dan Parameter Store Systems](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) *Manager dari Panduan Pengguna Systems Manager*.

# Pelajari cara mengonfigurasi FSx sistem file Windows File Server untuk Amazon ECS
<a name="tutorial-wfsx-volumes"></a>

Pelajari cara meluncurkan instans Windows Amazon ECS yang dioptimalkan FSx untuk menghosting sistem file Windows File Server dan container yang dapat mengakses sistem file. Untuk melakukan ini, pertama-tama Anda membuat Direktori Aktif Microsoft Directory Service AWS Terkelola. Kemudian, Anda membuat sistem file dan cluster FSx for Windows File Server File Server dengan instans Amazon EC2 dan definisi tugas. Anda mengonfigurasi definisi tugas untuk kontainer Anda untuk menggunakan sistem file Windows File Server FSx untuk Windows. Akhirnya, Anda menguji sistem file.

Dibutuhkan 20 hingga 45 menit setiap kali Anda meluncurkan atau menghapus baik Active Directory atau FSx untuk sistem file Windows File Server. Bersiaplah untuk menyimpan setidaknya 90 menit untuk menyelesaikan tutorial atau menyelesaikan tutorial selama beberapa sesi.

## Prasyarat untuk tutorial
<a name="wfsx-prerequisites"></a>
+ Pengguna administratif. Lihat [Siapkan untuk menggunakan Amazon ECS](get-set-up-for-amazon-ecs.md).
+ (Opsional) Sebuah `PEM` key pair untuk menghubungkan ke instans Windows EC2 Anda melalui akses RDP. Untuk informasi tentang cara membuat pasangan kunci, lihat pasangan kunci [Amazon EC2 dan instans Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) di Panduan Pengguna Amazon *EC2*.
+ Sebuah VPC dengan setidaknya satu subnet publik dan satu subnet privat, dan satu grup keamanan. Anda dapat menggunakan VPC default Anda. Anda tidak memerlukan gateway atau perangkat NAT. Directory Service tidak mendukung Network Address Translation (NAT) dengan Direktori Aktif. Agar ini berfungsi, Active Directory, FSx for Windows File Server sistem file, ECS Cluster, dan instans EC2 harus berada di dalam VPC Anda. Untuk informasi selengkapnya mengenai VPCs dan Direktori Aktif, lihat [Membuat VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) [dan Prasyarat untuk](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started.html#ms_ad_getting_started_prereqs) membuat iklan Microsoft Terkelola. AWS 
+ Izin IAM ecsInstanceRole dan ecsTaskExecution Peran dikaitkan dengan akun Anda. Peran terkait layanan ini memungkinkan layanan melakukan panggilan API dan mengakses kontainer, rahasia, direktori, dan server file atas nama Anda.

## Langkah 1: Buat peran akses IAM
<a name="iam-roles"></a>

**Buat klaster dengan Konsol Manajemen AWS.**

1. Lihat [Peran IAM instans kontainer Amazon ECS](instance_IAM_role.md) untuk memeriksa apakah Anda memiliki ecsInstanceRole dan untuk melihat bagaimana Anda dapat membuatnya jika Anda tidak memilikinya.

1. Kami merekomendasikan bahwa kebijakan peran disesuaikan untuk izin minimum di lingkungan produksi aktual. Untuk tujuan mengerjakan tutorial ini, verifikasi bahwa kebijakan AWS terkelola berikut ini melekat pada AndaecsInstanceRole. Lampirkan kebijakan jika belum dilampirkan.
   + EC2ContainerServiceforEC2Peran Amazon
   + Amazon SSMManaged InstanceCore
   + Amazon SSMDirectory ServiceAccess

   Untuk melampirkan kebijakan AWS terkelola.

   1. Buka [konsol IAM](https://console.aws.amazon.com//iam/).

   1. Di panel navigasi, pilih **Peran**.

   1. Pilih **peran yang AWS dikelola**.

   1. Pilih **Izin, Lampirkan kebijakan**.

   1. Untuk mempersempit kebijakan tersedia yang akan dilampirkan, gunakan **Filter**.

   1. Pilih kebijakan yang sesuai dan pilih **Lampirkan kebijakan**.

1. Lihat [Peran IAM pelaksanaan tugas Amazon ECS](task_execution_IAM_role.md) untuk memeriksa apakah Anda memiliki ecsTaskExecution Peran dan untuk melihat bagaimana Anda dapat membuatnya jika Anda tidak memilikinya.

   Kami merekomendasikan bahwa kebijakan peran disesuaikan untuk izin minimum di lingkungan produksi aktual. Untuk tujuan mengerjakan tutorial ini, verifikasi bahwa kebijakan AWS terkelola berikut dilampirkan ke ecsTaskExecution Peran Anda. Lampirkan kebijakan jika mereka belum dilampirkan. Gunakan prosedur yang diberikan di bagian sebelumnya untuk melampirkan kebijakan yang AWS dikelola.
   + SecretsManagerReadWrite
   + Amazon FSx ReadOnlyAccess
   + Amazon SSMRead OnlyAccess
   + Amazon ECSTask ExecutionRolePolicy

## Langkah 2: Membuat Direktori Aktif Windows (AD)
<a name="wfsx-create-ads"></a>

1. Ikuti langkah-langkah yang dijelaskan dalam [Membuat Microsoft AD yang AWS Dikelola](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started.html#ms_ad_getting_started_create_directory) di *Panduan Administrasi Layanan AWS Direktori*. Gunakan VPC yang telah Anda tunjuk untuk tutorial ini. Pada Langkah 3 *Membuat iklan Microsoft AWS Terkelola Anda*, simpan nama pengguna dan kata sandi admin untuk digunakan dalam langkah berikut. Juga, perhatikan nama DNS direktori yang memenuhi syarat untuk langkah-langkah masa depan. Anda dapat menyelesaikan langkah berikut saat Active Directory sedang dibuat.

1. Buat AWS rahasia Secrets Manager untuk digunakan dalam langkah-langkah berikut. Untuk informasi selengkapnya, lihat [Memulai Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html#get-started) di *Panduan Pengguna AWS Secrets Manager*.

   1. Buka [konsol Secrets Manager](https://console.aws.amazon.com//secretsmanager/).

   1. Klik **Menyimpan rahasia baru**.

   1. Pilih **Tipe rahasia lainnya**.

   1. Untuk **Kunci/nilai rahasia**, di baris pertama, buat kunci **username** dengan nilai **admin**. Klik pada **\$1 Tambahkan baris**.

   1. Di baris baru, buat kunci **password**. Untuk nilai, ketik kata sandi yang Anda masukkan di Langkah 3 *Buat Direktori AD AWS Terkelola Anda*.

   1. Klik pada tombol **Selanjutnya**.

   1. Masukkan nama dan deskripsi. Klik **Berikutnya**.

   1. Klik **Berikutnya**. Klik **Simpan**.

   1. Dari daftar halaman **Rahasia**, klik pada rahasia yang baru saja Anda buat.

   1. Simpan ARN rahasia baru untuk digunakan dalam langkah-langkah berikut.

   1. Anda dapat melanjutkan ke langkah berikutnya selagi Direktori Aktif sedang dibuat.

## Langkah 3: Verifikasi dan perbarui grup keamanan
<a name="wfsx-sg"></a>

Pada langkah ini, Anda memverifikasi dan memperbarui aturan untuk grup keamanan yang Anda gunakan. Untuk hal ini, Anda dapat menggunakan grup keamanan default yang dibuat untuk VPC Anda.

**Verifikasi dan perbarui grup keamanan.**

Anda perlu membuat atau mengedit grup keamanan untuk mengirim data dari dan ke port, yang dijelaskan dalam [Grup Keamanan VPC Amazon](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/limit-access-security-groups.html#fsx-vpc-security-groups) di *Panduan Pengguna Server File Windows FSx untuk Windows*. Anda dapat melakukan ini dengan membuat aturan grup keamanan inbound ditampilkan di baris pertama dari tabel aturan inbound berikut. Mengizinkan lalu lintas masuk dari antarmuka jaringan (dan instans terkait-nya) yang ditugaskan ke grup keamanan. Semua sumber daya cloud yang Anda buat berada dalam VPC yang sama dan melekat pada grup keamanan yang sama. Oleh karena itu, aturan ini memungkinkan lalu lintas dikirim ke dan dari sistem file Windows File Server, Active Directory, dan ECS seperti yang diperlukan. FSx Aturan inbound lainnya mengizinkan lalu lintas untuk melayani situs web dan akses RDP untuk menghubungkan ke instans ECS Anda.

Tabel berikut menunjukkan aturan grup keamanan inbound mana yang diperlukan untuk tutorial ini.


| Tipe | Protokol | Rentang port | Sumber | 
| --- | --- | --- | --- | 
|  Semua Lalu lintas  |  Semua  |  Semua  |  *sg-securitygroup*  | 
|  HTTPS  |  TCP  |  443  |  0.0.0.0/0  | 
|  RDP  |  TCP  |  3389  |  alamat IP laptop Anda  | 

Tabel berikut menunjukkan aturan grup keamanan inbound mana yang diperlukan untuk tutorial ini.


| Tipe | Protokol | Rentang Port | Tujuan | 
| --- | --- | --- | --- | 
|  Semua lalu lintas  |  Semua  |  Semua  |  0.0.0.0/0  | 

1. Buka [Konsol EC2](https://console.aws.amazon.com//ec2/) dan pilih **Grup Keamanan** dari menu sebelah kiri.

1. Dari daftar grup keamanan yang sekarang ditampilkan, pilih centang pada kotak centang di sebelah kiri grup keamanan yang Anda gunakan untuk tutorial ini.

   Detail grup keamanan Anda ditampilkan.

1. Edit aturan inbound dan outbound dengan memilih tab **Aturan inbound** atau **Aturan outbound** dan memilih tombol **Edit aturan inbound** atau **Edit aturan outbound**. Edit aturan untuk mencocokkan yang ditampilkan dalam tabel sebelumnya. *Setelah Anda membuat instans EC2 nanti dalam tutorial ini, edit sumber RDP aturan masuk dengan alamat IP publik instans EC2 Anda seperti yang dijelaskan dalam [Connect to instance Windows Anda menggunakan RDP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html) dari Panduan Pengguna Amazon EC2.*

## Langkah 4: Buat sistem file Windows File Server FSx untuk Windows
<a name="wfsx-create-fsx"></a>

Setelah grup keamanan Anda diverifikasi dan diperbarui dan Direktori Aktif Anda dibuat dan berada dalam status aktif, buat sistem file FSx untuk Windows File Server di VPC yang sama dengan Direktori Aktif Anda. Gunakan langkah-langkah berikut FSx untuk membuat sistem file Windows File Server untuk tugas Windows Anda.

**Buat sistem file pertama Anda.**

1. Buka [ FSx konsol Amazon](https://console.aws.amazon.com//fsx/).

1. Pada dasbor, pilih **Buat sistem file** untuk memulai wizard pembuatan sistem file.

1. Pada halaman **Pilih jenis sistem file**, pilih **FSx untuk Windows File Server**, lalu pilih **Berikutnya**. Halaman **Buat sistem file** akan muncul.

1. Pada bagian **Detail sistem file**, berikan nama untuk sistem file Anda. Penamaan sistem file Anda membuatnya lebih mudah untuk menemukan dan mengelola sistem file tersebut. Anda dapat menggunakan hingga 256 karakter Unicode. Karakter yang diizinkan adalah huruf, angka, spasi, dan karakter khusus plus tanda (\$1). tanda minus (-), tanda sama dengan (=), titik (.), garis bawah (\$1), titik dua (:), garis miring (/).

1. Untuk **Tipe deployment** Pilih **Single-AZ** untuk men-deploy sistem file yang di-deploy di Availability Zone tunggal. *Single-Az 2* adalah generasi terbaru dari sistem file Availability Zone tunggal, dan mendukung penyimpanan SSD dan HDD.

1. Untuk **jenis Penyimpanan**, pilih **HDD**.

1. Untuk **kapasitas penyimpanan**, masukkan kapasitas penyimpanan minimum. 

1. Pertahankan **Kapasitas throughput** pada pengaturan default-nya.

1. Di bagian **Jaringan & keamanan**, pilih VPC Amazon yang sama yang Anda pilih untuk direktori Anda Directory Service .

1. Untuk **Grup Keamanan VPC**, pilih grup keamanan yang Anda verifikasi di *Langkah 3: Verifikasi dan perbarui grup keamanan*.

1. Untuk **otentikasi Windows**, pilih **Direktori Aktif Microsoft AWS Terkelola**, lalu pilih Directory Service direktori Anda dari daftar.

1. Untuk **Enkripsi**, simpan default pengaturan **Kunci enkripsi** dari **aws/fsx (default)**.

1. Simpan pengaturan default untuk **Preferensi pemeliharaan**.

1. Klik pada tombol **Selanjutnya**.

1. Tinjau konfigurasi sistem file yang ditampilkan pada halaman **Buat sistem file**. Untuk referensi Anda, perhatikan pengaturan sistem file mana yang dapat Anda modifikasi setelah sistem file dibuat. Pilih **Buat sistem file**. 

1. Catat ID sistem file. Anda perlu menggunakannya di langkah selanjutnya.

   Anda dapat melanjutkan ke langkah berikutnya untuk membuat cluster dan instans EC2 sementara sistem file FSx untuk Windows File Server sedang dibuat.

## Langkah 5: Buat cluster Amazon ECS
<a name="wfsx-create-cluster"></a>

**Buat cluster menggunakan konsol Amazon ECS**

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

1. Dari bilah navigasi, pilih Wilayah untuk digunakan.

1. Di panel navigasi, pilih **Klaster**.

1. Pada halaman **Klaster**, pilih **Buat klaster**.

1. Di bawah **konfigurasi Cluster****, untuk nama Cluster**, masukkan **windows-fsx-cluster**.

1. Perluas **Infrastruktur**, hapus AWS Fargate (tanpa server) lalu pilih instans **Amazon EC2**.

   1. Untuk membuat grup Auto Scaling, dari grup **Auto Scaling (ASG**), **pilih Buat grup baru**, lalu berikan detail berikut tentang grup:
     + Untuk **Sistem Operasi/Arsitektur**, pilih **Windows Server 2019 Core**.
     + Untuk **jenis instans EC2**, pilih t2.medium atau t2.micro.

1. Pilih **Buat**.

## Langkah 6: Buat instans Amazon EC2 Amazon ECS yang dioptimalkan oleh Amazon
<a name="wfsx-create-instance"></a>

Buat instance penampung Amazon ECS Windows.

**Untuk membuat instans Amazon ECS**

1. Gunakan `aws ssm get-parameters` perintah untuk mengambil nama AMI untuk Wilayah yang menghosting VPC Anda. Untuk informasi selengkapnya, lihat [Mengambil metadata AMI yang dioptimalkan Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/retrieve-ecs-optimized_windows_AMI.html).

1. Gunakan konsol Amazon EC2 untuk meluncurkan instans.

   1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

   1. Dari bilah navigasi, pilih Wilayah untuk digunakan.

   1. Dari **Dasbor EC2**, pilih **Meluncurkan instans**.

   1. Untuk **Nama**, masukkan nama unik.

   1. Untuk Gambar **Aplikasi dan OS (Gambar Mesin Amazon)**, di bidang **pencarian**, masukkan nama AMI yang Anda ambil.

   1. Untuk **jenis Instance**, pilih t2.medium atau t2.micro.

   1. Untuk **Key pair (login)**, pilih key pair. Jika Anda tidak menentukan key pair, Anda 

   1. Di bawah **Pengaturan jaringan**, untuk **VPC** dan **Subnet, pilih** VPC Anda dan subnet publik.

   1. Di bawah **Pengaturan jaringan**, untuk **grup Keamanan**, pilih grup keamanan yang ada, atau buat yang baru. Pastikan grup keamanan yang Anda pilih memiliki aturan masuk dan keluar yang ditentukan [Prasyarat untuk tutorial](#wfsx-prerequisites)

   1. **Di bawah **Pengaturan jaringan**, untuk **Auto-assign IP Publik**, pilih Aktifkan.** 

   1. Perluas **Detail lanjutan**, lalu untuk **direktori Gabung Domain**, pilih ID Direktori Aktif yang Anda buat. Domain opsi ini bergabung dengan AD Anda ketika instans EC2 diluncurkan.

   1. Di bawah **Detail lanjutan**, untuk **profil instans IAM**, pilih **ecsInstanceRole**.

   1. Konfigurasikan instans penampung Amazon ECS Anda dengan data pengguna berikut. Di bawah **Detail Lanjutan**, tempelkan skrip berikut ke bidang **Data pengguna**, ganti *cluster\$1name* dengan nama cluster Anda.

      ```
      <powershell>
      Initialize-ECSAgent -Cluster windows-fsx-cluster -EnableTaskIAMRole
      </powershell>
      ```

   1. Saat Anda siap, pilih bidang pengakuan, lalu pilih **Luncurkan Instans**. 

   1. Halaman konfirmasi memberi tahu Anda bahwa instans Anda akan diluncurkan. Pilih **Lihat Instans** untuk menutup halaman konfirmasi dan kembali ke konsol tersebut.

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

1. Di panel navigasi, pilih **Cluster**, lalu pilih. **windows-fsx-cluster**

1. Pilih tab **Infrastructure** dan verifikasi bahwa instans Anda telah terdaftar di **windows-fsx-cluster**cluster.

## Langkah 7: Daftarkan ketentuan tugas Windows
<a name="register_windows_task_def"></a>

Sebelum Anda dapat menjalankan wadah Windows di cluster Amazon ECS Anda, Anda harus mendaftarkan definisi tugas. Contoh definisi tugas berikut menampilkan halaman web sederhana. Tugas meluncurkan dua kontainer yang memiliki akses ke sistem FSx file. Kontainer pertama menulis file HTML ke sistem file. Kontainer kedua mengunduh file HTML dari sistem file dan menyediakan halaman web.

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

1. Di panel navigasi, pilih **Definisi tugas**.

1. Pilih **Buat definisi tugas baru**, **Buat definisi tugas baru dengan JSON**.

1. Di kotak editor JSON, ganti nilai untuk peran eksekusi tugas Anda dan detail tentang sistem FSx file Anda, lalu pilih **Simpan**.

   ```
   {
       "containerDefinitions": [
           {
               "entryPoint": [
                   "powershell",
                   "-Command"
               ],
               "portMappings": [],
               "command": ["New-Item -Path C:\\fsx-windows-dir\\index.html -ItemType file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>It Works!</h2> <p>You are using Amazon FSx for Windows File Server file system for persistent container storage.</p>' -Force"],
               "cpu": 512,
               "memory": 256,
               "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019",
               "essential": false,
               "name": "container1",
               "mountPoints": [
                   {
                       "sourceVolume": "fsx-windows-dir",
                       "containerPath": "C:\\fsx-windows-dir",
                       "readOnly": false
                   }
               ]
           },
           {
               "entryPoint": [
                   "powershell",
                   "-Command"
               ],
               "portMappings": [
                   {
                       "hostPort": 443,
                       "protocol": "tcp",
                       "containerPort": 80
                   }
               ],
               "command": ["Remove-Item -Recurse C:\\inetpub\\wwwroot\\* -Force; Start-Sleep -Seconds 120; Move-Item -Path C:\\fsx-windows-dir\\index.html -Destination C:\\inetpub\\wwwroot\\index.html -Force; C:\\ServiceMonitor.exe w3svc"],
               "mountPoints": [
                   {
                       "sourceVolume": "fsx-windows-dir",
                       "containerPath": "C:\\fsx-windows-dir",
                       "readOnly": false
                   }
               ],
               "cpu": 512,
               "memory": 256,
               "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019",
               "essential": true,
               "name": "container2"
           }
       ],
       "family": "fsx-windows",
       "executionRoleArn": "arn:aws:iam::111122223333:role/ecsTaskExecutionRole",
       "volumes": [
           {
               "name": "fsx-windows-dir",
               "fsxWindowsFileServerVolumeConfiguration": {
                   "fileSystemId": "fs-0eeb5730b2EXAMPLE",
                   "authorizationConfig": {
                       "domain": "example.com",
                       "credentialsParameter": "arn:arn-1234"
                   },
                   "rootDirectory": "share"
               }
           }
       ]
   }
   ```

## Langkah 8: Jalankan tugas dan lihat hasilnya
<a name="wfsx-run-task"></a>

Sebelum menjalankan tugas, verifikasi bahwa status sistem file Windows File Server Anda FSx **tersedia**. Setelah tersedia, Anda dapat menjalankan tugas menggunakan ketentuan tugas yang Anda buat. Tugas dimulai dengan membuat kontainer yang mengacak file HTML di antara mereka menggunakan sistem file. Setelah pengacakan, web server melayani halaman HTML sederhana.

**catatan**  
Anda mungkin tidak dapat terhubung ke situs web dari VPN.

**Jalankan tugas dan lihat hasilnya dengan konsol Amazon ECS.**

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

1. Di panel navigasi, pilih **Cluster**, lalu pilih. **windows-fsx-cluster**

1. Pilih tab **Tugas**, lalu pilih **Jalankan tugas baru**.

1. Untuk **Tipe peluncuran**, pilih **EC2**.

1. **Di bawah konfigurasi Deployment, untuk **Task Definition**, pilih **fsx-windows**, lalu pilih Create.**

1. Saat status tugas Anda SEDANG **BERJALAN**, pilih ID tugas.

1. Di bawah **Container**, saat status container1 STOPTED**,** pilih container2 untuk melihat detail kontainer.

1.  Di bawah **rincian Container untuk container2**, pilih **Network binding** dan kemudian klik pada alamat IP eksternal yang terkait dengan container. Peramban Anda akan membuka dan menampilkan pesan berikut.

   ```
   Amazon ECS Sample App
   It Works! 
   You are using Amazon FSx for Windows File Server file system for persistent container storage.
   ```
**catatan**  
Mungkin perlu beberapa menit agar pesan ditampilkan. Jika Anda tidak melihat pesan ini setelah beberapa menit, periksa apakah Anda tidak menjalankan VPN dan pastikan bahwa grup keamanan untuk instance container Anda mengizinkan lalu lintas HTTP jaringan masuk pada port 443.

## Langkah 9: Membersihkan
<a name="wfsx-cleanup"></a>

**catatan**  
Dibutuhkan 20 hingga 45 menit FSx untuk menghapus sistem file Windows File Server atau AD. Anda harus menunggu sampai operasi penghapusan sistem file Windows File Server selesai sebelum memulai operasi penghapusan AD. FSx 

**Hapus FSx untuk sistem file Windows File Server.**

1. Buka [ FSx konsol Amazon](https://console.aws.amazon.com//fsx/)

1. Pilih tombol radio di sebelah kiri FSx untuk sistem file Windows File Server yang baru saja Anda buat.

1. Pilih **Tindakan**.

1. Pilih **sistem file untuk dihapus**.

**Hapus iklan.**

1. Buka [konsol Directory Service](https://console.aws.amazon.com//directoryservicev2/).

1. Pilih tombol radio di sebelah kiri AD yang baru saja Anda buat.

1. Pilih **Tindakan**.

1. Pilih **Hapus direktori**.

**Hapus klaster .**

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

1. Di panel navigasi, pilih **Cluster**, lalu pilih. **windows-fsx-cluster**

1. Pilih **Hapus klaster**.

1. Masukkan frasa dan kemudian pilih **Hapus**.

**Mengakhiri instans EC2.**

1. Buka [konsol Amazon EC2](https://console.aws.amazon.com//ec2/).

1. Dari menu sebelah kiri, pilih **Instans**.

1. Centang kotak di sebelah kiri instans EC2 yang Anda buat.

1. Klik **status Instance**, **Terminate instance**.

**Hapus rahasia.**

1. Buka [konsol Secrets Manager](https://console.aws.amazon.com//secretsmanager/).

1. Pilih rahasia yang Anda buat untuk perjalanan ini.

1. Klik **Tindakan**.

1. Pilih **Hapus rahasia**.

# Gunakan volume Docker dengan Amazon ECS
<a name="docker-volumes"></a>

Saat menggunakan volume Docker, built-in driver `local` atau driver volume pihak ke tiga dapat digunakan. Volume Docker dikelola oleh Docker dan direktori dibuat di `/var/lib/docker/volumes` pada instans kontainer yang berisi data volume.

Untuk menggunakan volume Docker, tentukan `dockerVolumeConfiguration` dalam ketentuan tugas Anda. Untuk informasi selengkapnya, lihat [Volume](https://docs.docker.com/engine/storage/volumes/) dalam Docker dokumentasi.

Beberapa kasus penggunaan umum untuk volume Docker adalah sebagai berikut:
+ Untuk menyediakan volume data tetap untuk digunakan dengan kontainer
+ Untuk berbagi volume data yang ditetapkan di lokasi yang berbeda pada kontainer yang berbeda pada instans kontainer yang sama
+ Untuk menentukan volume data kosong, tidak tetap dan memasangnya pada beberapa kontainer dalam tugas yang sama
+ Untuk memberikan volume data ke tugas Anda yang dikelola oleh driver pihak ketiga

## Pertimbangan untuk menggunakan volume Docker
<a name="docker-volume-considerations"></a>

Pertimbangkan hal berikut saat menggunakan volume Docker:
+ Volume Docker hanya didukung saat menggunakan tipe peluncuran EC2 atau instance eksternal.
+ Kontainer Windows hanya mendukung penggunaan driver `local`.
+ Jika driver pihak ketiga digunakan, pastikan itu diinstal dan aktif pada instance kontainer sebelum agen kontainer dimulai. Jika driver pihak ketiga tidak aktif sebelum agen dimulai, Anda dapat memulai ulang agen kontainer menggunakan salah satu perintah berikut:
  + Untuk Amazon ECS yang dioptimalkan Amazon Linux 2 AMI:

    ```
    sudo systemctl restart ecs
    ```
  + Untuk Amazon ECS yang dioptimalkan Amazon Linux AMI:

    ```
    sudo stop ecs && sudo start ecs
    ```

Untuk informasi tentang cara menentukan volume Docker dalam definisi tugas, lihat[Menentukan volume Docker dalam definisi tugas Amazon ECS](specify-volume-config.md).

# Menentukan volume Docker dalam definisi tugas Amazon ECS
<a name="specify-volume-config"></a>

Sebelum kontainer Anda dapat menggunakan volume data, Anda harus menentukan konfigurasi volume dan titik pemasangan dalam ketentuan tugas Anda. Bagian ini menjelaskan konfigurasi volume untuk kontainer. Untuk tugas yang menggunakan volume Docker, tentukan `dockerVolumeConfiguration`. Untuk tugas yang menggunakan volume host pemasangan terikat, tentukan `host` dan `sourcePath` opsional.

Definisi tugas berikut JSON menunjukkan sintaks untuk `volumes` dan `mountPoints` objek untuk wadah.

```
{
    "containerDefinitions": [
        {
            "mountPoints": [
                {
                    "sourceVolume": "string",
                    "containerPath": "/path/to/mount_volume",
                    "readOnly": boolean
                }
            ]
        }
    ],
    "volumes": [
        {
            "name": "string",
            "dockerVolumeConfiguration": {
                "scope": "string",
                "autoprovision": boolean,
                "driver": "string",
                "driverOpts": {
                    "key": "value"
                },
                "labels": {
                    "key": "value"
                }
            }
        }
    ]
}
```

`name`  
Tipe: String  
Wajib: Tidak  
Nama volume. Hingga 255 huruf (huruf besar dan kecil), angka, tanda hubung (), dan garis bawah (`-`) diperbolehkan. `_` Nama ini direferensikan dalam `sourceVolume` parameter `mountPoints` objek definisi kontainer.

`dockerVolumeConfiguration`  
Jenis: [DockerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DockerVolumeConfiguration.html)Objek  
Wajib: Tidak  
Parameter ini ditentukan saat menggunakan volume Docker. Volume Docker hanya didukung saat menjalankan tugas pada instans EC2. Kontainer Windows hanya mendukung penggunaan driver `local`. Untuk menggunakan pemasangan mengikat, tentukan `host` saja.    
`scope`  
Tipe: String  
Nilai Valid: `task` \$1 `shared`  
Wajib: Tidak  
Cakupan untuk volume Docker, yang menentukan siklus hidupnya. Volume Docker yang tercakup ke `task` secara otomatis disediakan saat tugas dimulai dan dihancurkan saat tugas berhenti. Volume Docker yang tercakup sebagai `shared` dipertahankan setelah tugas berhenti.  
`autoprovision`  
Jenis: Boolean  
Nilai default: `false`  
Wajib: Tidak  
Jika nilai ini`true`, volume Docker dibuat jika belum ada. Bidang ini hanya digunakan jika `scope` ada`shared`. Jika `scope` ya`task`, maka parameter ini harus dihilangkan.  
`driver`  
Tipe: String  
Wajib: Tidak  
Driver volume Docker yang digunakan. Nilai driver harus sesuai dengan nama driver yang disediakan oleh Docker karena nama ini digunakan untuk penempatan tugas. Jika driver diinstal dengan menggunakan CLI plugin Docker, `docker plugin ls` gunakan untuk mengambil nama driver dari instance container Anda. Jika driver diinstal dengan menggunakan metode lain, gunakan penemuan plugin Docker untuk mengambil nama driver.  
`driverOpts`  
Tipe: String  
Wajib: Tidak  
Peta opsi khusus driver Docker untuk dilewati. Parameter ini dipetakan ke `DriverOpts` bagian Create a volume dari Docker.  
`labels`  
Tipe: String  
Wajib: Tidak  
Metadata kustom untuk ditambahkan ke volume Docker.

`mountPoints`  
Tipe: Array objek  
Wajib: Tidak  
Titik pemasangan untuk volume data dalam penampung Anda. Parameter ini memetakan ke `Volumes` dalam create-container Docker API dan opsi `--volume` untuk docker run.  
Kontainer Windows dapat memasang seluruh direktori pada drive yang sama dengan `$env:ProgramData`. Kontainer Windows tidak dapat memasang direktori pada drive yang berbeda, dan titik pemasangan tidak dapat digunakan di seluruh drive. Anda harus menentukan titik pemasangan untuk melampirkan volume Amazon EBS langsung ke tugas Amazon ECS.    
`sourceVolume`  
Tipe: String  
Diperlukan: Ya, kapan `mountPoints` digunakan  
Nama volume yang akan dipasang.  
`containerPath`  
Tipe: String  
Diperlukan: Ya, kapan `mountPoints` digunakan  
Jalur dalam wadah tempat volume akan dipasang.  
`readOnly`  
Tipe: Boolean  
Wajib: Tidak  
Jika nilai ini adalah `true`, kontainer memiliki akses hanya-baca ke volume. Jika nilai ini adalah `false`, maka kontainer dapat menulis ke volume. Nilai default-nya adalah `false`.  
Untuk tugas yang berjalan pada instans EC2 yang menjalankan sistem operasi Windows, biarkan nilainya sebagai default. `false`

# Contoh volume Docker untuk Amazon ECS
<a name="docker-volume-examples"></a>

Contoh berikut menunjukkan cara menyediakan penyimpanan sementara untuk wadah dan cara menyediakan volume bersama untuk beberapa kontainer, dan cara menyediakan penyimpanan persisten NFS untuk sebuah wadah.

**Untuk menyediakan penyimpanan sementara untuk wadah menggunakan volume Docker**

Dalam contoh ini, wadah menggunakan volume data kosong yang dibuang setelah tugas selesai. Salah satu contoh kasus penggunaan adalah Anda mungkin memiliki wadah yang perlu mengakses beberapa lokasi penyimpanan file awal selama tugas. Tugas ini dapat dicapai dengan menggunakan volume Docker.

1. Dalam ketentuan tugas bagian `volumes`, tentukan volume data dengan `name` dan nilai `DockerVolumeConfiguration`. Dalam contoh ini, kami menentukan ruang lingkup sebagai `task` jadi volume dihapus setelah tugas berhenti dan menggunakan built-in driver `local`.

   ```
   "volumes": [
       {
           "name": "scratch",
           "dockerVolumeConfiguration" : {
               "scope": "task",
               "driver": "local",
               "labels": {
                   "scratch": "space"
               }
           }
       }
   ]
   ```

1. Di bagian `containerDefinitions`, mendefiniskan sebuah kontainer dengan nilai-nilai `mountPoints` yang mereferensikan nama volume yang didefinisikan dan nilai `containerPath` untuk memasang volume pada kontainer.

   ```
   "containerDefinitions": [
       {
           "name": "container-1",
           "mountPoints": [
               {
                 "sourceVolume": "scratch",
                 "containerPath": "/var/scratch"
               }
           ]
       }
   ]
   ```

**Untuk menyediakan penyimpanan persisten untuk beberapa kontainer menggunakan volume Docker**

Dalam contoh ini, Anda ingin volume bersama untuk beberapa kontainer untuk digunakan dan Anda ingin tetap ada setelah satu tugas yang menggunakannya dihentikan. `local`Driver bawaan sedang digunakan. Ini agar volume masih terikat dengan siklus hidup instance container.

1. Dalam ketentuan tugas bagian `volumes`, tentukan volume data dengan `name` dan nilai `DockerVolumeConfiguration`. Dalam contoh ini, tentukan `shared` cakupan sehingga volume tetap ada, setel penyediaan otomatis ke. `true` Ini agar volume dibuat untuk digunakan. Kemudian, gunakan juga `local` driver bawaan.

   ```
   "volumes": [
       {
           "name": "database",
           "dockerVolumeConfiguration" : {
               "scope": "shared",
               "autoprovision": true,
               "driver": "local",
               "labels": {
                   "database": "database_name"
               }
           }
       }
   ]
   ```

1. Di bagian `containerDefinitions`, mendefiniskan sebuah kontainer dengan nilai-nilai `mountPoints` yang mereferensikan nama volume yang didefinisikan dan nilai `containerPath` untuk memasang volume pada kontainer.

   ```
   "containerDefinitions": [
       {
           "name": "container-1",
           "mountPoints": [
           {
             "sourceVolume": "database",
             "containerPath": "/var/database"
           }
         ]
       },
       {
         "name": "container-2",
         "mountPoints": [
           {
             "sourceVolume": "database",
             "containerPath": "/var/database"
           }
         ]
       }
     ]
   ```

**Untuk menyediakan penyimpanan persisten NFS untuk wadah menggunakan volume Docker**

 Dalam contoh ini, kontainer menggunakan volume data NFS yang dipasang secara otomatis saat tugas dimulai dan dilepas saat tugas berhenti. Ini menggunakan `local` driver bawaan Docker. Salah satu contoh kasus penggunaan adalah Anda mungkin memiliki penyimpanan NFS lokal dan perlu mengaksesnya dari tugas ECS Anywhere. Ini dapat dicapai dengan menggunakan volume Docker dengan opsi driver NFS.

1. Dalam ketentuan tugas bagian `volumes`, tentukan volume data dengan `name` dan nilai `DockerVolumeConfiguration`. Dalam contoh ini, tentukan `task` cakupan sehingga volume dilepas setelah tugas berhenti. Gunakan `local` driver dan konfigurasikan `driverOpts` dengan`type`,`device`, dan `o` opsi yang sesuai. Ganti `NFS_SERVER` dengan endpoint server NFS.

   ```
   "volumes": [
          {
              "name": "NFS",
              "dockerVolumeConfiguration" : {
                  "scope": "task",
                  "driver": "local",
                  "driverOpts": {
                      "type": "nfs",
                      "device": "$NFS_SERVER:/mnt/nfs",
                      "o": "addr=$NFS_SERVER"
                  }
              }
          }
      ]
   ```

1. Di `containerDefinitions` bagian tersebut, tentukan wadah dengan `mountPoints` nilai yang mereferensikan nama volume yang ditentukan dan `containerPath` nilai untuk memasang volume pada wadah.

   ```
   "containerDefinitions": [
          {
              "name": "container-1",
              "mountPoints": [
                  {
                    "sourceVolume": "NFS",
                    "containerPath": "/var/nfsmount"
                  }
              ]
          }
      ]
   ```

# Gunakan bind mount dengan Amazon ECS
<a name="bind-mounts"></a>

Dengan pemasangan bind, file atau direktori pada host, seperti instans Amazon EC2, dipasang ke dalam wadah. Bind mount didukung untuk tugas yang di-host di instans Fargate dan Amazon EC2. Dudukan pengikat diikat ke siklus hidup wadah yang menggunakannya. Setelah semua container yang menggunakan bind mount dihentikan, seperti saat tugas dihentikan, data akan dihapus. Untuk tugas yang dihosting di instans Amazon EC2, data dapat dikaitkan dengan siklus hidup instans Amazon EC2 host dengan menentukan nilai dan opsional dalam definisi tugas Anda. `host` `sourcePath` Untuk informasi selengkapnya, lihat [Bind mount](https://docs.docker.com/engine/storage/bind-mounts/) di dokumentasi Docker.

Berikut ini adalah kasus penggunaan umum untuk pemasangan terikat.
+ Untuk menyediakan volume data kosong untuk memasang dalam satu atau lebih kontainer.
+ Untuk memasang volume data host dalam satu atau lebih kontainer.
+ Untuk berbagi volume data dari kontainer sumber dengan kontainer lain dalam tugas yang sama.
+ Untuk mengekspos jalur dan isinya dari Dockerfile ke satu atau lebih kontainer.

## Pertimbangan saat menggunakan pemasangan terikat
<a name="bind-mount-considerations"></a>

Saat menggunakan bind mount, pertimbangkan hal berikut.
+ Secara default, tugas yang di-host saat AWS Fargate menggunakan versi platform `1.4.0` atau yang lebih baru (Linux) `1.0.0` atau yang lebih baru (Windows) menerima minimal 20 GiB penyimpanan sementara untuk bind mount. Anda dapat meningkatkan jumlah total penyimpanan sementara hingga maksimum 200 GiB dengan menentukan `ephemeralStorage` parameter dalam definisi tugas Anda.
+ Untuk mengekspos file dari Dockerfile ke volume data saat tugas dijalankan, bidang data Amazon ECS mencari arahan. `VOLUME` Jika jalur absolut yang ditentukan dalam `VOLUME` direktif sama dengan yang ditentukan dalam definisi tugas, data di jalur `VOLUME` direktif akan disalin ke volume data. `containerPath` Dalam contoh Dockerfile berikut, file yang diberi nama `examplefile` dalam `/var/log/exported` direktori ditulis ke host dan kemudian dipasang di dalam wadah.

  ```
  FROM public.ecr.aws/amazonlinux/amazonlinux:latest
  RUN mkdir -p /var/log/exported
  RUN touch /var/log/exported/examplefile
  VOLUME ["/var/log/exported"]
  ```

  Secara default, izin volume diatur ke `0755` dan pemilik sebagai `root`. Anda dapat menyesuaikan izin ini di Dockerfile. Contoh berikut mendefinisikan pemilik direktori sebagai `node`.

  ```
  FROM public.ecr.aws/amazonlinux/amazonlinux:latest
  RUN yum install -y shadow-utils && yum clean all
  RUN useradd node
  RUN mkdir -p /var/log/exported && chown node:node /var/log/exported
  RUN touch /var/log/exported/examplefile
  USER node
  VOLUME ["/var/log/exported"]
  ```
+ Untuk tugas yang dihosting di instans Amazon EC2, saat `sourcePath` nilai `host` dan tidak ditentukan, daemon Docker mengelola pemasangan pengikat untuk Anda. Ketika tidak ada kontainer yang mereferensikan pemasangan pengikat ini, layanan pembersihan tugas agen penampung Amazon ECS akhirnya menghapusnya. Secara default, ini terjadi tiga jam setelah wadah keluar. Namun, Anda dapat mengonfigurasi durasi ini dengan variabel `ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION` agen. Untuk informasi selengkapnya, lihat [Konfigurasi agen kontainer Amazon ECS](ecs-agent-config.md). Jika Anda memerlukan data ini untuk bertahan di luar siklus hidup penampung, tentukan `sourcePath` nilai untuk bind mount.
+ Untuk tugas yang di-host di Instans Terkelola Amazon ECS, bagian dari sistem file root hanya bisa dibaca. Read/write bind mount harus menggunakan direktori yang dapat ditulis seperti `/var` untuk data persisten atau `/tmp` untuk data sementara. Mencoba membuat read/write bind mount ke direktori lain mengakibatkan tugas gagal diluncurkan dengan kesalahan yang mirip dengan yang berikut:

  ```
  error creating empty volume: error while creating volume path '/path': mkdir /path: read-only file system
  ```

  Dudukan bind read-only (dikonfigurasi dengan `mountPoints` parameter) dapat mengarah ke direktori apa pun yang dapat diakses `"readOnly": true` di host.

  Untuk melihat daftar lengkap jalur yang dapat ditulis, Anda dapat menjalankan tugas di Instans Terkelola Amazon ECS dan menggunakannya untuk memeriksa tabel pemasangan instans. Buat definisi tugas dengan pengaturan berikut untuk mengakses sistem file host:

  ```
  {
      "pidMode": "host",
      "containerDefinitions": [{
          "privileged": true,
          ...
      }]
  }
  ```

  Kemudian jalankan perintah berikut dari dalam wadah:

  ```
  # List writable mounts
  cat /proc/1/root/proc/1/mounts | awk '$4 ~ /^rw,/ || $4 == "rw" {print $2}' | sort
  
  # List read-only mounts
  cat /proc/1/root/proc/1/mounts | awk '$4 ~ /^ro,/ || $4 == "ro" {print $2}' | sort
  ```
**penting**  
`privileged`Pengaturan memberikan kemampuan yang diperluas pada wadah pada host, setara dengan akses root. Dalam contoh ini, digunakan untuk memeriksa tabel pemasangan host untuk tujuan diagnostik. Untuk informasi selengkapnya, lihat [Hindari menjalankan kontainer sebagai hak istimewa (Amazon EC2)](security-tasks-containers.md#security-tasks-containers-recommendations-avoid-privileged-containers).

  Untuk informasi selengkapnya tentang menjalankan perintah secara interaktif dalam kontainer, lihat[Memantau Kontainer Amazon ECS dengan ECS Exec](ecs-exec.md).

# Menentukan pemasangan pengikat dalam definisi tugas Amazon ECS
<a name="specify-bind-mount-config"></a>

Untuk tugas Amazon ECS yang di-host di instance Fargate atau Amazon EC2, cuplikan JSON definisi tugas berikut menunjukkan sintaks untuk,, dan objek untuk `volumes` definisi tugas. `mountPoints` `ephemeralStorage`

```
{
   "family": "",
   ...
   "containerDefinitions" : [
      {
         "mountPoints" : [
            {
               "containerPath" : "/path/to/mount_volume",
               "sourceVolume" : "string"
            }
          ],
          "name" : "string"
       }
    ],
    ...
    "volumes" : [
       {
          "name" : "string"
       }
    ],
    "ephemeralStorage": {
	   "sizeInGiB": integer
    }
}
```

Untuk tugas Amazon ECS yang dihosting di instans Amazon EC2, Anda dapat menggunakan parameter `host` opsional dan saat menentukan `sourcePath` detail volume tugas. Ketika ditentukan, itu mengikat mount ke siklus hidup tugas daripada wadah.

```
"volumes" : [
    {
        "host" : {
            "sourcePath" : "string"
        },
        "name" : "string"
    }
]
```

Berikut ini adalah penjelasan yang lebih detail untuk setiap parameter ketentuan tugas.

`name`  
Tipe: String  
Wajib: Tidak  
Nama volume. Hingga 255 huruf (huruf besar dan kecil), angka, tanda hubung (), dan garis bawah (`-`) diperbolehkan. `_` Nama ini direferensikan dalam `sourceVolume` parameter `mountPoints` objek definisi kontainer.

`host`  
Wajib: Tidak  
`host`Parameter ini digunakan untuk mengikat siklus hidup bind mount ke instans Amazon EC2 host, bukan tugas, dan tempat penyimpanannya. Jika `host` parameternya kosong, maka daemon Docker menetapkan jalur host untuk volume data Anda, tetapi data tidak dijamin akan bertahan setelah wadah yang terkait dengannya berhenti berjalan.  
Kontainer Windows dapat memasang seluruh direktori pada drive yang sama dengan `$env:ProgramData`.  
`sourcePath`Parameter hanya didukung saat menggunakan tugas yang dihosting di instans Amazon EC2 atau Instans Terkelola Amazon ECS.  
`sourcePath`  
Tipe: String  
Wajib: Tidak  
Saat `host` parameter digunakan, tentukan a `sourcePath` untuk mendeklarasikan jalur pada instans Amazon EC2 host yang disajikan ke wadah. Jika parameter ini kosong, daemon Docker akan menetapkan jalur host untuk Anda. Jika `host` parameter berisi lokasi `sourcePath` file, maka volume data tetap ada di lokasi yang ditentukan pada instans Amazon EC2 host hingga Anda menghapusnya secara manual. Jika `sourcePath` nilai tidak ada pada instans Amazon EC2 host, daemon Docker membuatnya. Jika lokasinya memang ada, konten dari folder jalur sumber diekspor.

`mountPoints`  
Tipe: Array objek  
Wajib: Tidak  
Titik pemasangan untuk volume data dalam penampung Anda. Parameter ini memetakan ke `Volumes` dalam create-container Docker API dan opsi `--volume` untuk docker run.  
Kontainer Windows dapat memasang seluruh direktori pada drive yang sama dengan `$env:ProgramData`. Kontainer Windows tidak dapat memasang direktori pada drive yang berbeda, dan titik pemasangan tidak dapat digunakan di seluruh drive. Anda harus menentukan titik pemasangan untuk melampirkan volume Amazon EBS langsung ke tugas Amazon ECS.    
`sourceVolume`  
Tipe: String  
Diperlukan: Ya, kapan `mountPoints` digunakan  
Nama volume yang akan dipasang.  
`containerPath`  
Tipe: String  
Diperlukan: Ya, kapan `mountPoints` digunakan  
Jalur dalam wadah tempat volume akan dipasang.  
`readOnly`  
Tipe: Boolean  
Wajib: Tidak  
Jika nilai ini adalah `true`, kontainer memiliki akses hanya-baca ke volume. Jika nilai ini adalah `false`, maka kontainer dapat menulis ke volume. Nilai default-nya adalah `false`.  
Untuk tugas yang berjalan pada instans EC2 yang menjalankan sistem operasi Windows, biarkan nilainya sebagai default. `false`

`ephemeralStorage`  
Tipe: Objek  
Wajib: Tidak  
Jumlah penyimpanan sementara yang dialokasikan untuk tugas. Parameter ini digunakan untuk memperluas jumlah total penyimpanan sementara yang tersedia, di luar jumlah default, untuk tugas yang dihosting AWS Fargate menggunakan versi platform atau yang lebih baru (Linux) `1.4.0` atau `1.0.0` atau yang lebih baru (Windows).  
Anda dapat menggunakan Copilot CLI CloudFormation, AWS SDK atau CLI untuk menentukan penyimpanan sementara untuk pemasangan pengikat.

# Contoh Bind mount untuk Amazon ECS
<a name="bind-mount-examples"></a>

Contoh berikut mencakup kasus penggunaan umum untuk menggunakan dudukan pengikat untuk wadah Anda.

**Untuk mengalokasikan peningkatan jumlah ruang penyimpanan sementara untuk tugas Fargate**

Untuk tugas Amazon ECS yang di-host di Fargate menggunakan `1.4.0` versi platform atau yang lebih baru (Linux) `1.0.0` atau (Windows), Anda dapat mengalokasikan lebih dari jumlah penyimpanan sementara default untuk wadah dalam tugas yang akan digunakan. Contoh ini dapat dimasukkan ke dalam contoh lain untuk mengalokasikan lebih banyak penyimpanan sementara untuk tugas Fargate Anda.
+ Dalam ketentuan tugas, tentukan objek `ephemeralStorage`. `sizeInGiB` harus integer antara nilai-nilai `21` dan `200` dinyatakan dalam GiB.

  ```
  "ephemeralStorage": {
      "sizeInGiB": integer
  }
  ```

**Untuk menyediakan volume data kosong untuk satu atau lebih kontainer.**

Dalam beberapa kasus, Anda ingin menyediakan kontainer dalam tugas beberapa ruang scratch. Misalnya, Anda mungkin memiliki dua wadah database yang perlu mengakses lokasi penyimpanan file awal yang sama selama tugas. Hal ini dapat dicapai dengan menggunakan pemasangan terikat.

1. Dalam ketentuan tugas bagian `volumes`, tentukan pemasangan terikat dengan nama `database_scratch`.

   ```
     "volumes": [
       {
         "name": "database_scratch"
       }
     ]
   ```

1. Di `containerDefinitions` bagian ini, buat definisi wadah database. Ini agar mereka memasang volume.

   ```
   "containerDefinitions": [
       {
         "name": "database1",
         "image": "my-repo/database",
         "cpu": 100,
         "memory": 100,
         "essential": true,
         "mountPoints": [
           {
             "sourceVolume": "database_scratch",
             "containerPath": "/var/scratch"
           }
         ]
       },
       {
         "name": "database2",
         "image": "my-repo/database",
         "cpu": 100,
         "memory": 100,
         "essential": true,
         "mountPoints": [
           {
             "sourceVolume": "database_scratch",
             "containerPath": "/var/scratch"
           }
         ]
       }
     ]
   ```

**Untuk mengekspos jalur dan isinya dari Dockerfile ke kontainer.**

Dalam contoh ini, Anda memiliki Dockerfile yang menulis data yang ingin Anda pasang di dalam kontainer. Contoh ini berfungsi untuk tugas yang di-host di instance Fargate atau Amazon EC2.

1. Buat Dockerfile. Contoh berikut menggunakan image kontainer Amazon Linux 2 publik dan membuat file yang diberi nama `examplefile` di `/var/log/exported` direktori yang ingin kita pasang di dalam wadah. Direktif `VOLUME` harus menentukan jalur absolut.

   ```
   FROM public.ecr.aws/amazonlinux/amazonlinux:latest
   RUN mkdir -p /var/log/exported
   RUN touch /var/log/exported/examplefile
   VOLUME ["/var/log/exported"]
   ```

   Secara default, izin volume diatur ke `0755` dan pemilik sebagai `root`. Izin ini dapat diubah di Dockerfile. Contoh berikut mendefinisikan pemilik direktori `/var/log/exported` diatur ke `node`.

   ```
   FROM public.ecr.aws/amazonlinux/amazonlinux:latest
   RUN yum install -y shadow-utils && yum clean all
   RUN useradd node
   RUN mkdir -p /var/log/exported && chown node:node /var/log/exported					    
   USER node
   RUN touch /var/log/exported/examplefile
   VOLUME ["/var/log/exported"]
   ```

1. Dalam ketentuan tugas bagian `volumes`, tentukan volume dengan nama `application_logs`.

   ```
     "volumes": [
       {
         "name": "application_logs"
       }
     ]
   ```

1. Di `containerDefinitions` bagian ini, buat definisi wadah aplikasi. Ini agar mereka memasang penyimpanan. `containerPath`Nilai harus cocok dengan jalur absolut yang ditentukan dalam `VOLUME` arahan dari Dockerfile.

   ```
     "containerDefinitions": [
       {
         "name": "application1",
         "image": "my-repo/application",
         "cpu": 100,
         "memory": 100,
         "essential": true,
         "mountPoints": [
           {
             "sourceVolume": "application_logs",
             "containerPath": "/var/log/exported"
           }
         ]
       },
       {
         "name": "application2",
         "image": "my-repo/application",
         "cpu": 100,
         "memory": 100,
         "essential": true,
         "mountPoints": [
           {
             "sourceVolume": "application_logs",
             "containerPath": "/var/log/exported"
           }
         ]
       }
     ]
   ```

**Untuk menyediakan volume data kosong untuk wadah yang terkait dengan siklus hidup instans Amazon EC2 host**

Untuk tugas yang di-host di instans Amazon EC2, Anda dapat menggunakan mount bind dan memiliki data yang terkait dengan siklus hidup instans Amazon EC2 host. Anda dapat melakukan ini dengan menggunakan `host` parameter dan menentukan `sourcePath` nilai. File apa pun yang ada di `sourcePath` disajikan ke wadah pada `containerPath` nilainya. File apa pun yang ditulis dengan `containerPath` nilai ditulis ke `sourcePath` nilai pada instans Amazon EC2 host.
**penting**  
Amazon ECS tidak menyinkronkan penyimpanan Anda di seluruh instans Amazon EC2. Tugas yang menggunakan penyimpanan persisten dapat ditempatkan pada instans Amazon EC2 apa pun di klaster Anda yang memiliki kapasitas yang tersedia. [Jika tugas Anda memerlukan penyimpanan persisten setelah berhenti dan memulai ulang, selalu tentukan instans Amazon EC2 yang sama pada waktu peluncuran tugas dengan AWS CLI perintah start-task.](https://docs.aws.amazon.com/cli/latest/reference/ecs/start-task.html) Anda juga dapat menggunakan volume Amazon EFS untuk penyimpanan persisten. Untuk informasi selengkapnya, lihat [Gunakan volume Amazon EFS dengan Amazon ECS](efs-volumes.md).

1. Dalam ketentuan tugas bagian `volumes`, tentukan pemasangan terikat dengan `name` dan nilai `sourcePath`. Dalam contoh berikut, instans Amazon EC2 host berisi data `/ecs/webdata` yang ingin Anda pasang di dalam wadah.

   ```
     "volumes": [
       {
         "name": "webdata",
         "host": {
           "sourcePath": "/ecs/webdata"
         }
       }
     ]
   ```

1. Di bagian `containerDefinitions`, mendefiniskan sebuah kontainer dengan nilai-nilai `mountPoints` yang mereferensikan nama pemasangan terikat dan nilai `containerPath` untuk memasang pemasangan terikat pada kontainer.

   ```
     "containerDefinitions": [
       {
         "name": "web",
         "image": "public.ecr.aws/docker/library/nginx:latest",
         "cpu": 99,
         "memory": 100,
         "portMappings": [
           {
             "containerPort": 80,
             "hostPort": 80
           }
         ],
         "essential": true,
         "mountPoints": [
           {
             "sourceVolume": "webdata",
             "containerPath": "/usr/share/nginx/html"
           }
         ]
       }
     ]
   ```

**Untuk memasang volume yang ditetapkan pada beberapa kontainer di lokasi yang berbeda**

Anda dapat menentukan volume data dalam ketentuan tugas dan memasang volume tersebut di lokasi yang berbeda pada kontainer yang berbeda. Misalnya, wadah host Anda memiliki folder data situs web di`/data/webroot`. Anda mungkin ingin me-mount volume data tersebut sebagai read-only pada dua server web berbeda yang memiliki akar dokumen yang berbeda.

1. Dalam ketentuan tugas bagian `volumes`, tentukan volume data dengan nama `webroot` dan jalur sumber `/data/webroot`.

   ```
     "volumes": [
       {
         "name": "webroot",
         "host": {
           "sourcePath": "/data/webroot"
         }
       }
     ]
   ```

1. Di bagian `containerDefinitions`, tentukan kontainer untuk setiap server web dengan nilai-nilai `mountPoints` yang mengasosiasikan volume `webroot` dengan nilai `containerPath` menunjuk ke akar dokumen untuk kontainer itu.

   ```
     "containerDefinitions": [
       {
         "name": "web-server-1",
         "image": "my-repo/ubuntu-apache",
         "cpu": 100,
         "memory": 100,
         "portMappings": [
           {
             "containerPort": 80,
             "hostPort": 80
           }
         ],
         "essential": true,
         "mountPoints": [
           {
             "sourceVolume": "webroot",
             "containerPath": "/var/www/html",
             "readOnly": true
           }
         ]
       },
       {
         "name": "web-server-2",
         "image": "my-repo/sles11-apache",
         "cpu": 100,
         "memory": 100,
         "portMappings": [
           {
             "containerPort": 8080,
             "hostPort": 8080
           }
         ],
         "essential": true,
         "mountPoints": [
           {
             "sourceVolume": "webroot",
             "containerPath": "/srv/www/htdocs",
             "readOnly": true
           }
         ]
       }
     ]
   ```

**Untuk memasang volume dari kontainer lain menggunakan `volumesFrom`.**

Untuk tugas yang dihosting di instans Amazon EC2, Anda dapat menentukan satu atau beberapa volume pada penampung, lalu menggunakan `volumesFrom` parameter dalam definisi container yang berbeda dalam tugas yang sama untuk memasang semua volume dari titik pemasangan yang `sourceContainer` ditentukan semula. Parameter`volumesFrom` berlaku untuk volume yang didefinisikan dalam ketentuan tugas, dan volume yang dibangun ke dalam citra dengan Dockerfile.

1. (Opsional) Untuk berbagi volume yang dibangun ke dalam gambar, gunakan `VOLUME` instruksi di Dockerfile. Contoh berikut Dockerfile menggunakan `httpd` gambar, dan kemudian menambahkan volume dan memasangnya `dockerfile_volume` di root dokumen Apache. Ini adalah folder yang digunakan oleh server `httpd` web.

   ```
   FROM httpd
   VOLUME ["/usr/local/apache2/htdocs/dockerfile_volume"]
   ```

   Anda dapat membangun citra dengan Dockerfile ini dan mendorongnya ke repositori, seperti Docker Hub, dan menggunakannya dalam ketentuan tugas Anda. Contoh `my-repo/httpd_dockerfile_volume` gambar yang digunakan dalam langkah-langkah berikut dibuat dengan Dockerfile sebelumnya.

1. Buat ketentuan tugas yang mendefinisikan volume lain dan memasang titik untuk kontainer. Dalam contoh bagian `volumes` ini, Anda akan membuat volume kosong yang disebut `empty`, yang dikelola oleh daemon Docker. Ada juga volume host yang ditentukan yang disebut`host_etc`. Ini mengekspor `/etc` folder pada instance wadah host.

   ```
   {
     "family": "test-volumes-from",
     "volumes": [
       {
         "name": "empty",
         "host": {}
       },
       {
         "name": "host_etc",
         "host": {
           "sourcePath": "/etc"
         }
       }
     ],
   ```

   Di bagian ketentuan kontainer, buat kontainer yang memasang volume yang didefinisikan sebelumnya. Dalam contoh ini, `web` wadah memasang `host_etc` volume `empty` dan. Ini adalah wadah yang menggunakan gambar yang dibangun dengan volume di Dockerfile.

   ```
   "containerDefinitions": [
       {
         "name": "web",
         "image": "my-repo/httpd_dockerfile_volume",
         "cpu": 100,
         "memory": 500,
         "portMappings": [
           {
             "containerPort": 80,
             "hostPort": 80
           }
         ],
         "mountPoints": [
           {
             "sourceVolume": "empty",
             "containerPath": "/usr/local/apache2/htdocs/empty_volume"
           },
           {
             "sourceVolume": "host_etc",
             "containerPath": "/usr/local/apache2/htdocs/host_etc"
           }
         ],
         "essential": true
       },
   ```

   Buat kontainer lain yang menggunakan `volumesFrom` untuk memasang semua volume yang terkait dengan kontainer `web`. Semua volume pada `web` wadah juga dipasang pada `busybox` wadah. Ini termasuk volume yang ditentukan dalam Dockerfile yang digunakan untuk membangun gambar. `my-repo/httpd_dockerfile_volume`

   ```
       {
         "name": "busybox",
         "image": "busybox",
         "volumesFrom": [
           {
             "sourceContainer": "web"
           }
         ],
         "cpu": 100,
         "memory": 500,
         "entryPoint": [
           "sh",
           "-c"
         ],
         "command": [
           "echo $(date) > /usr/local/apache2/htdocs/empty_volume/date && echo $(date) > /usr/local/apache2/htdocs/host_etc/date && echo $(date) > /usr/local/apache2/htdocs/dockerfile_volume/date"
         ],
         "essential": false
       }
     ]
   }
   ```

   Saat tugas ini dijalankan, kedua kontainer memasang volume, dan `command` dalam `busybox` wadah menulis tanggal dan waktu ke file. File ini dipanggil `date` di setiap folder volume. Folder kemudian terlihat di situs web yang ditampilkan oleh kontainer `web`.
**catatan**  
Karena kontainer `busybox` menjalankan perintah cepat dan kemudian keluar, itu harus ditetapkan sebagai `"essential": false` dalam ketentuan kontainer. Jika tidak, kontainer berhenti seluruh tugas ketika keluar.

# Mengelola ruang memori swap kontainer di Amazon ECS
<a name="container-swap"></a>

Dengan Amazon ECS, Anda dapat mengontrol penggunaan ruang memori swap pada instans Amazon EC2 berbasis Linux di tingkat penampung. Menggunakan konfigurasi swap per kontainer, setiap kontainer dalam definisi tugas dapat mengaktifkan swap atau dinonaktifkan. Bagi mereka yang mengaktifkannya, jumlah maksimum ruang swap yang digunakan dapat dibatasi. Misalnya, container latency-critical dapat menonaktifkan swap. Sebaliknya, wadah dengan permintaan memori transien yang tinggi dapat mengaktifkan swap untuk mengurangi kemungkinan out-of-memory kesalahan saat wadah sedang dimuat.

Konfigurasi swap untuk kontainer dikelola oleh parameter definisi kontainer berikut.

`maxSwap`  
Jumlah total memori tukar (dalam MiB) yang dapat digunakan oleh kontainer. Parameter ini diterjemahkan ke `--memory-swap` opsi untuk docker run di mana nilainya adalah jumlah memori kontainer ditambah nilainya. `maxSwap`  
Jika nilai `maxSwap` sebesar `0` ditentukan, kontainer tidak menggunakan swap. Nilai yang diterima adalah `0` atau bilangan bulat positif. Jika `maxSwap` parameter diabaikan, kontainer menggunakan konfigurasi swap untuk instans kontainer tempatnya berjalan. Nilai `maxSwap` harus ditetapkan untuk parameter `swappiness` yang akan digunakan.

`swappiness`  
Anda dapat menggunakan ini untuk menyetel perilaku swappiness memori kontainer. `swappiness`Nilai `0` penyebab pertukaran tidak terjadi kecuali diperlukan. `swappiness`Nilai `100` penyebab halaman ditukar secara agresif. Nilai yang diterima adalah bilangan bulat antara `0` dan `100`. Jika parameter `swappiness` tidak ditentukan, nilai default sebesar `60` akan digunakan. Jika nilai tidak ditentukan untuk`maxSwap`, parameter ini diabaikan. Parameter ini memetakan ke `--memory-swappiness` opsi untuk docker run.

Dalam contoh berikut, sintaks JSON disediakan.

```
"containerDefinitions": [{
        ...
        "linuxParameters": {
            "maxSwap": integer,
            "swappiness": integer
        },
        ...
}]
```

## Pertimbangan-pertimbangan
<a name="container-swap-considerations"></a>

Pertimbangkan hal berikut ketika Anda menggunakan konfigurasi swap per kontainer.
+ Ruang swap harus diaktifkan dan dialokasikan pada instans Amazon EC2 yang menghosting tugas Anda agar kontainer dapat digunakan. Secara default, Amazon ECS yang dioptimalkan AMIs tidak mengaktifkan swap. Anda harus mengaktifkan swap di instans untuk menggunakan fitur ini. Untuk informasi selengkapnya, lihat [Volume Swap Toko Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-store-swap-volumes.html) di *Panduan Pengguna Amazon EC2* atau [Bagaimana cara mengalokasikan memori agar berfungsi sebagai ruang swap di instans Amazon EC2?](https://repost.aws/knowledge-center/ec2-memory-swap-file) .
+ Parameter definisi wadah ruang swap hanya didukung untuk definisi tugas yang menentukan EC2. Parameter ini tidak didukung untuk definisi tugas yang ditujukan hanya untuk Amazon ECS pada penggunaan Fargate.
+ Fitur ini hanya didukung untuk kontainer Linux. Kontainer Windows tidak didukung saat ini.
+ Jika parameter definisi `maxSwap` dan `swappiness` kontainer dihilangkan dari definisi tugas, setiap kontainer memiliki `swappiness` nilai default. `60` Selain itu, total penggunaan swap dibatasi hingga dua kali memori kontainer.
+ Jika Anda menggunakan tugas di Amazon Linux 2023, `swappiness` parameter tidak didukung.

# Perbedaan definisi tugas Amazon ECS untuk Instans Terkelola Amazon ECS
<a name="managed-instances-tasks-services"></a>

Untuk menggunakan Instans Terkelola Amazon ECS, Anda harus mengonfigurasi definisi tugas untuk menggunakan jenis peluncuran Instans Terkelola Amazon ECS. Ada pertimbangan tambahan saat menggunakan Instans Terkelola Amazon ECS.

## Parameter definisi tugas
<a name="managed-instances-task-parameters"></a>

Tugas yang menggunakan Instans Terkelola Amazon ECS mendukung sebagian besar parameter definisi tugas Amazon ECS yang tersedia. Namun, beberapa parameter memiliki perilaku atau batasan tertentu saat digunakan dengan tugas Instans Terkelola Amazon ECS.

Parameter definisi tugas berikut tidak valid dalam tugas Instans Terkelola Amazon ECS:
+ `disableNetworking`
+ `dnsSearchDomains`
+ `dnsServers`
+ `dockerLabels`
+ `dockerSecurityOptions`
+ `dockerVolumeConfiguration`
+ `ephemeralStorage`
+ `extraHosts`
+ `fsxWindowsFileServerVolumeConfiguration`
+ `hostname`
+ `inferenceAccelerator`
+ `ipcMode`
+ `links`
+ `maxSwap`
+ `proxyConfiguration`
+ `sharedMemorySize`
+ Volume `sourcepath`
+ `swappiness`
+ `tmpfs`

Parameter definisi tugas berikut valid dalam tugas Instans Terkelola Amazon ECS, tetapi memiliki batasan yang harus diperhatikan:
+ `networkConfiguration`- Tugas Instans Terkelola Amazon ECS menggunakan mode `awsvpc` atau `host` jaringan.
+ `placementConstraints`- Atribut kendala berikut didukung.
  + `ecs.subnet-id`
  + `ecs.availability-zone`
  + `ecs.instance-type`
  + `ecs.cpu-architecture`
+ `requiresCompatibilities`- Harus disertakan `MANAGED_INSTANCES` untuk memastikan definisi tugas kompatibel dengan Instans Terkelola Amazon ECS.
+ `resourceRequirement`- `InferenceAccelerator` tidak didukung.
+ `operatingSystemFamily`- Penggunaan Instans Terkelola Amazon ECS. `LINUX`
+ `volumes`- Saat menggunakan bind mount dengan a`sourcePath`, jalur harus menunjuk ke direktori yang dapat ditulis pada host. Bagian dari sistem file Instans Terkelola Amazon ECS bersifat hanya-baca. Direktori yang dapat ditulis termasuk `/var` dan. `/tmp` Untuk informasi selengkapnya, lihat [Gunakan bind mount dengan Amazon ECS](bind-mounts.md).

Untuk memastikan bahwa definisi tugas Anda memvalidasi untuk digunakan dengan Instans Terkelola Amazon ECS, Anda dapat menentukan hal berikut saat mendaftarkan definisi tugas: 
+ Di bidang Konsol Manajemen AWS, untuk **Memerlukan Kompatibilitas**, tentukan. `MANAGED_INSTANCES`
+ Dalam AWS CLI, tentukan `--requires-compatibilities` opsi.
+ Di Amazon ECS API, tentukan `requiresCompatibilities` flag.

# Perbedaan definisi tugas Amazon ECS untuk Fargate
<a name="fargate-tasks-services"></a>

Untuk menggunakan Fargate, Anda harus mengonfigurasi definisi tugas Anda untuk menggunakan jenis peluncuran Fargate. Ada pertimbangan tambahan saat menggunakan Fargate.

## Parameter definisi tugas
<a name="fargate-task-parameters"></a>

Tugas yang menggunakan Fargate tidak mendukung semua parameter definisi tugas Amazon ECS yang tersedia. Beberapa parameter tidak didukung sama sekali, dan yang lain berperilaku berbeda untuk tugas Fargate.

Parameter definisi tugas berikut tidak valid dalam tugas Fargate:
+ `disableNetworking`
+ `dnsSearchDomains`
+ `dnsServers`
+ `dockerSecurityOptions`
+ `extraHosts`
+ `gpu`
+ `ipcMode`
+ `links`
+ `placementConstraints`
+ `privileged`
+ `maxSwap`
+ `swappiness`

Parameter definisi tugas berikut valid dalam tugas Fargate, tetapi memiliki batasan yang harus diperhatikan:
+ `linuxParameters`— Saat menentukan opsi khusus Linux yang diterapkan ke wadah, satu-satunya kemampuan yang dapat Anda tambahkan adalah. `capabilities` `CAP_SYS_PTRACE` Parameter `devices`, `sharedMemorySize`, dan `tmpfs` tidak didukung. Untuk informasi selengkapnya, lihat [Parameter Linux](task_definition_parameters.md#container_definition_linuxparameters).
+ `volumes`— Tugas Fargate hanya mendukung volume host bind mount, sehingga `dockerVolumeConfiguration` parameternya tidak didukung. Untuk informasi selengkapnya, lihat [volume](task_definition_parameters.md#volumes).
+ `cpu`- Untuk wadah Windows aktifAWS Fargate, nilainya tidak boleh kurang dari 1 vCPU.
+ `networkConfiguration`- Tugas Fargate selalu menggunakan mode `awsvpc` jaringan.

Untuk memastikan bahwa definisi tugas Anda memvalidasi untuk digunakan dengan Fargate, Anda dapat menentukan hal berikut saat mendaftarkan definisi tugas: 
+ Di bidang Konsol Manajemen AWS, untuk **Memerlukan Kompatibilitas**, tentukan. `FARGATE`
+ Dalam AWS CLI, tentukan `--requires-compatibilities` opsi.
+ Di Amazon ECS API, tentukan `requiresCompatibilities` flag.

## Sistem Operasi dan Arsitektur
<a name="fargate-task-os"></a>

Saat Anda mengonfigurasi definisi tugas dan kontainerAWS Fargate, Anda harus menentukan Sistem Operasi tempat penampung berjalan. Sistem Operasi berikut didukung untukAWS Fargate:
+ Amazon Linux 2
**catatan**  
Kontainer Linux hanya menggunakan konfigurasi kernel dan kernel dari Sistem Operasi host. Misalnya, konfigurasi kernel mencakup kontrol `sysctl` sistem. Gambar kontainer Linux dapat dibuat dari gambar dasar yang berisi file dan program dari distribusi Linux apa pun. Jika arsitektur CPU cocok, Anda dapat menjalankan container dari image container Linux apa pun di Sistem Operasi apa pun.
+ Windows Server 2019 Full
+ Windows Server 2019 Core
+ Windows Server 2022 Lengkap
+ Windows Server 2022 Inti

Ketika Anda menjalankan wadah WindowsAWS Fargate, Anda harus memiliki arsitektur CPU X86\$164.

Saat menjalankan kontainer LinuxAWS Fargate, Anda dapat menggunakan arsitektur CPU X86\$164, atau ARM64 arsitektur untuk aplikasi berbasis ARM Anda. Untuk informasi selengkapnya, lihat [Definisi tugas Amazon ECS untuk beban kerja ARM 64-bit](ecs-arm64.md).

## CPU dan memori tugas
<a name="fargate-tasks-size"></a>

Definisi tugas Amazon ECS untuk AWS Fargate mengharuskan Anda menentukan CPU dan memori pada tingkat tugas. Sebagian besar kasus penggunaan terpenuhi dengan hanya menentukan sumber daya ini pada tingkat tugas. Tabel berikut menunjukkan kombinasi yang valid antara CPU dan memori tingkat tugas. Anda dapat menentukan nilai memori dalam definisi tugas sebagai string di MiB atau GB. Misalnya, Anda dapat menentukan nilai memori baik seperti `3072` di MiB atau `3 GB` GB. Anda dapat menentukan nilai CPU dalam file JSON sebagai string dalam unit CPU atau virtual CPUs (vCPUs). Misalnya, Anda dapat menentukan nilai CPU baik seperti `1024` dalam unit CPU atau `1 vCPU` di vCPUs.


|  Nilai CPU  |  Nilai memori  |  Sistem operasi yang didukung untuk AWS Fargate  | 
| --- | --- | --- | 
|  256 (.25 vCPU)  |  512 MiB, 1 GB, 2 GB  |  Linux  | 
|  512 (.5 vCPU)  |  1 GB, 2 GB, 3 GB, 4 GB  |  Linux  | 
|  1024 (1 vCPU)  |  2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB  |  Linux, Windows  | 
|  2048 (2 vCPU)  |  Antara 4 GB dan 16 GB dalam peningkatan 1 GB  |  Linux, Windows  | 
|  4096 (4 vCPU)  |  Antara 8 GB dan 30 GB dalam peningkatan 1 GB  |  Linux, Windows  | 
|  8192 (8 vCPU)  Opsi ini membutuhkan platform Linux `1.4.0` atau yang lebih baru.   |  Antara 16 GB dan 60 GB dalam peningkatan 4 GB  |  Linux  | 
|  16384 (16vCPU)  Opsi ini membutuhkan platform Linux `1.4.0` atau yang lebih baru.   |  Antara 32 GB dan 120 GB dalam peningkatan 8 GB  |  Linux  | 

## Jaringan tugas
<a name="fargate-tasks-services-networking"></a>

Tugas Amazon ECS untuk AWS Fargate memerlukan mode `awsvpc` jaringan, yang menyediakan setiap tugas dengan antarmuka network elastis. Ketika Anda menjalankan tugas atau membuat layanan dengan mode jaringan ini, Anda harus menentukan satu subnet atau lebih untuk melampirkan antarmuka jaringan dan satu grup keamanan atau lebih untuk diterapkan ke antarmuka jaringan. 

Jika Anda menggunakan subnet publik, putuskan apakah Anda ingin untuk memberikan alamat IP publik untuk antarmuka jaringan atau tidak. Untuk tugas Fargate di subnet publik untuk menarik gambar kontainer, alamat IP publik perlu ditetapkan ke antarmuka network elastis tugas, dengan rute ke internet atau gateway NAT yang dapat merutekan permintaan ke internet. Untuk tugas Fargate di subnet pribadi untuk menarik gambar kontainer, Anda memerlukan gateway NAT di subnet untuk merutekan permintaan ke internet. Saat Anda meng-host gambar penampung Anda di Amazon ECR, Anda dapat mengonfigurasi Amazon ECR untuk menggunakan titik akhir VPC antarmuka. Dalam hal ini, IPv4 alamat pribadi tugas digunakan untuk penarikan gambar. Untuk informasi selengkapnya tentang titik akhir antarmuka Amazon ECR, lihat Titik akhir [VPC antarmuka Amazon ECR ()AWS PrivateLink di Panduan Pengguna Registri](https://docs.aws.amazon.com/AmazonECR/latest/userguide/vpc-endpoints.html) *Amazon* Elastic Container.

Berikut ini adalah contoh `networkConfiguration` bagian untuk layanan Fargate:

```
"networkConfiguration": { 
   "awsvpcConfiguration": { 
      "assignPublicIp": "ENABLED",
      "securityGroups": [ "sg-12345678" ],
      "subnets": [ "subnet-12345678" ]
   }
}
```

## Batas sumber daya tugas
<a name="fargate-resource-limits"></a>

Definisi tugas Amazon ECS untuk kontainer Linux AWS Fargate mendukung `ulimits` parameter untuk menentukan batas sumber daya yang akan ditetapkan untuk wadah.

Definisi tugas Amazon ECS untuk Windows aktif AWS Fargate tidak mendukung `ulimits` parameter untuk menentukan batas sumber daya yang akan ditetapkan untuk wadah.

Tugas Amazon ECS yang dihosting di Fargate menggunakan nilai batas sumber daya default yang ditetapkan oleh sistem operasi dengan pengecualian parameter batas sumber daya. `nofile` Batas `nofile` sumber daya menetapkan batasan pada jumlah file terbuka yang dapat digunakan wadah. Di Fargate, batas `nofile` lunak default adalah ` 65535` dan batas keras adalah. `65535` Anda dapat mengatur nilai dari kedua batas hingga`1048576`.

Berikut ini adalah contoh potongan ketentuan tugas yang menunjukkan cara untuk menentukan batas `nofile` kustom yang telah dilipatgandakan:

```
"ulimits": [
    {
       "name": "nofile",
       "softLimit": 2048,
       "hardLimit": 8192
    }
]
```

Untuk informasi lebih lanjut tentang batas sumber daya lain yang dapat disesuaikan, lihat [Batas sumber daya](task_definition_parameters.md#container_definition_limits).

## Pencatatan log
<a name="fargate-tasks-logging"></a>

### Pencatatan peristiwa
<a name="fargate-event-logging"></a>

Amazon ECS mencatat tindakan yang diperlukan. EventBridge Anda dapat menggunakan acara Amazon ECS EventBridge untuk menerima notifikasi mendekati waktu nyata mengenai status klaster, layanan, dan tugas Amazon ECS Anda saat ini. Selain itu, Anda dapat mengotomatiskan tindakan untuk menanggapi peristiwa ini. Untuk informasi selengkapnya, lihat [Otomatiskan tanggapan terhadap kesalahan Amazon ECS menggunakan EventBridge](cloudwatch_event_stream.md).

### Pencatatan siklus hidup tugas
<a name="fargate-task-status"></a>

Tugas yang berjalan di Fargate menerbitkan stempel waktu untuk melacak tugas melalui status siklus hidup tugas. Anda dapat melihat stempel waktu dalam detail tugas di Konsol Manajemen AWS dan dengan menjelaskan tugas di dan. AWS CLI SDKs Misalnya, Anda dapat menggunakan stempel waktu untuk mengevaluasi berapa banyak waktu yang dihabiskan tugas untuk mengunduh gambar kontainer dan memutuskan apakah Anda harus mengoptimalkan ukuran gambar kontainer, atau menggunakan indeks OCI Seekable. Untuk informasi selengkapnya tentang praktik gambar kontainer, lihat[Praktik Terbaik untuk Image Kontainer Amazon ECS](container-considerations.md).

### Pencatatan aplikasi
<a name="fargate-app-logging"></a>

Definisi tugas Amazon ECS untuk AWS Fargate mendukung`awslogs`,`splunk`, dan driver `awsfirelens` log untuk konfigurasi log.

Driver `awslogs` log mengonfigurasi tugas Fargate Anda untuk mengirim informasi log ke Amazon CloudWatch Logs. Berikut ini menunjukkan potongan ketentuan tugas di tempat driver log `awslogs` dikonfigurasi:

```
"logConfiguration": { 
   "logDriver": "awslogs",
   "options": { 
      "awslogs-group" : "/ecs/fargate-task-definition",
      "awslogs-region": "us-east-1",
      "awslogs-stream-prefix": "ecs"
   }
}
```

Untuk informasi selengkapnya tentang penggunaan driver `awslogs` log dalam definisi tugas untuk mengirim log kontainer Anda ke CloudWatch Log, lihat[Kirim log Amazon ECS ke CloudWatch](using_awslogs.md).

Untuk informasi selengkapnya tentang driver log `awsfirelens` dalam ketentuan tugas, lihat [Kirim log Amazon ECS ke AWS layanan atau AWS Partner](using_firelens.md).

Untuk informasi selengkapnya tentang penggunaan driver log `splunk` dalam ketentuan tugas, lihat [`splunk`driver log](example_task_definitions.md#example_task_definition-splunk).

## Penyimpanan tugas
<a name="fargate-tasks-storage"></a>

Untuk tugas Amazon ECS yang dihosting di Fargate, jenis penyimpanan berikut didukung:
+ Volume Amazon EBS menyediakan penyimpanan blok yang hemat biaya, tahan lama, dan berkinerja tinggi untuk beban kerja kontainer intensif data. Untuk informasi selengkapnya, lihat [Gunakan volume Amazon EBS dengan Amazon ECS](ebs-volumes.md).
+ Volume Amazon EFS untuk penyimpanan persisten. Untuk informasi selengkapnya, lihat [Gunakan volume Amazon EFS dengan Amazon ECS](efs-volumes.md).
+ Bind mount untuk penyimpanan sementara. Untuk informasi selengkapnya, lihat [Gunakan bind mount dengan Amazon ECS](bind-mounts.md).

## Lazy loading gambar kontainer menggunakan Seekable OCI (SOCI)
<a name="fargate-tasks-soci-images"></a>

Tugas Amazon ECS di Fargate yang menggunakan `1.4.0` versi platform Linux dapat menggunakan Seekable OCI (SOCI) untuk membantu memulai tugas lebih cepat. Dengan SOCI, kontainer hanya menghabiskan beberapa detik pada penarikan gambar sebelum mereka dapat memulai, menyediakan waktu untuk pengaturan lingkungan dan instantiasi aplikasi saat gambar diunduh di latar belakang. Ini disebut *lazy loading*. Saat Fargate memulai tugas Amazon ECS, Fargate secara otomatis mendeteksi apakah indeks SOCI ada untuk gambar dalam tugas dan memulai penampung tanpa menunggu seluruh gambar diunduh.

Untuk kontainer yang berjalan tanpa indeks SOCI, gambar kontainer diunduh sepenuhnya sebelum penampung dimulai. Perilaku ini sama pada semua versi platform Fargate lainnya dan pada AMI yang dioptimalkan Amazon ECS di instans Amazon EC2.

Seekable OCI (SOCI) adalah teknologi open source yang dikembangkan oleh AWS yang dapat meluncurkan kontainer lebih cepat dengan malas memuat gambar kontainer. SOCI bekerja dengan membuat indeks (Indeks SOCI) dari file dalam gambar kontainer yang ada. Indeks ini membantu meluncurkan kontainer lebih cepat, memberikan kemampuan untuk mengekstrak file individual dari gambar kontainer sebelum mengunduh seluruh gambar. Indeks SOCI harus disimpan sebagai artefak di repositori yang sama dengan gambar dalam registri kontainer. Anda hanya boleh menggunakan indeks SOCI dari sumber tepercaya, karena indeks adalah sumber otoritatif untuk konten gambar. Untuk informasi selengkapnya, lihat [Memperkenalkan OCI yang Dapat Dicari untuk memuat gambar kontainer yang lambat](https://aws.amazon.com/about-aws/whats-new/2022/09/introducing-seekable-oci-lazy-loading-container-images/).

Pelanggan yang ingin menggunakan SOCI hanya akan dapat menggunakan manifes indeks SOCI v2. Pelanggan lama yang sebelumnya telah menggunakan SOCI di Fargate dapat terus menggunakan SOCI Index Manifest v1, namun kami sangat menyarankan pelanggan tersebut untuk bermigrasi ke SOCI Index Manifest v2. SOCI Index Manifest v2 menciptakan hubungan eksplisit antara gambar kontainer dan indeks SOCI mereka untuk memastikan penerapan yang konsisten.
<a name="fargate-soci-considerations"></a>
**Pertimbangan-pertimbangan**  
Jika Anda ingin Fargate menggunakan indeks SOCI untuk memuat gambar kontainer dengan malas dalam suatu tugas, pertimbangkan hal berikut:
+ Hanya tugas yang berjalan pada versi platform Linux yang `1.4.0` dapat menggunakan indeks SOCI. Tugas yang menjalankan kontainer Windows di Fargate tidak didukung.
+ Tugas yang berjalan pada X86\$164 atau arsitektur ARM64 CPU didukung.
+ Gambar kontainer dalam definisi tugas harus disimpan dalam registri gambar yang kompatibel. Berikut ini daftar registri yang kompatibel:
  + Pendaftar pribadi Amazon ECR.
+ Hanya gambar kontainer yang menggunakan gzip kompresi, atau tidak dikompresi yang didukung. Gambar kontainer yang menggunakan zstd kompresi tidak didukung.
+ Untuk SOCI Index Manifest v2, membuat manifes indeks SOCI memodifikasi manifes gambar kontainer saat kami menambahkan anotasi untuk indeks SOCI. Ini menghasilkan intisari gambar kontainer baru. Isi lapisan filesystem gambar kontainer tidak berubah.
+ Untuk SOCI Index Manifest v2, ketika gambar kontainer telah disimpan di repositori gambar kontainer, setelah indeks SOCI dibuat, Anda perlu mendorong ulang gambar kontainer. Mendorong kembali gambar kontainer tidak akan meningkatkan biaya penyimpanan dengan menduplikasi lapisan sistem file, itu hanya mengunggah file manifes baru.
+ Kami menyarankan Anda mencoba lazy loading dengan gambar kontainer yang lebih besar dari ukuran 250 MiB terkompresi. Anda cenderung tidak melihat pengurangan waktu untuk memuat gambar yang lebih kecil.
+ Karena lazy loading dapat mengubah berapa lama tugas Anda dimulai, Anda mungkin perlu mengubah berbagai timeout seperti masa tenggang pemeriksaan kesehatan untuk Elastic Load Balancing.
+ Jika Anda ingin mencegah gambar kontainer dimuat secara malas, gambar kontainer perlu didorong ulang tanpa indeks SOCI terpasang.
<a name="create-soci"></a>
**Membuat indeks OCI Seekable**  
Agar gambar kontainer dimuat lambat, diperlukan indeks SOCI (file metadata) yang dibuat dan disimpan di repositori gambar kontainer di sepanjang sisi gambar kontainer. Untuk membuat dan mendorong indeks SOCI, Anda dapat menggunakan alat CLI [soci-snapshotter](https://github.com/awslabs/soci-snapshotter) open source. GitHub Atau, Anda dapat menerapkan CloudFormation AWS SOCI Index Builder. Ini adalah solusi tanpa server yang secara otomatis membuat dan mendorong indeks SOCI saat gambar kontainer didorong ke Amazon ECR. Untuk informasi selengkapnya tentang solusi dan langkah-langkah penginstalan, lihat [Pembuat Indeks CloudFormation AWS SOCI](https://awslabs.github.io/cfn-ecr-aws-soci-index-builder/) di GitHub. CloudFormation AWS SOCI Index Builder adalah cara untuk mengotomatisasi memulai dengan SOCI, sementara alat soci open source memiliki lebih banyak fleksibilitas seputar pembuatan indeks dan kemampuan untuk mengintegrasikan pembuatan indeks dalam pipeline integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD) Anda.

**catatan**  
Agar indeks SOCI dibuat untuk gambar, gambar harus ada di penyimpanan containerd gambar di komputer yang sedang berjalan`soci-snapshotter`. Jika gambar ada di toko Docker gambar, gambar tidak dapat ditemukan.
<a name="verify-soci"></a>
**Memverifikasi bahwa tugas menggunakan pemuatan lambat**  
Untuk memverifikasi bahwa tugas dimuat dengan malas menggunakan SOCI, periksa titik akhir metadata tugas dari dalam tugas. Saat Anda menanyakan titik akhir metadata tugas versi 4, ada `Snapshotter` bidang di jalur default untuk wadah yang Anda kueri. Selain itu, ada `Snapshotter` bidang untuk setiap kontainer di `/task` jalur. Nilai default untuk bidang ini adalah`overlayfs`, dan bidang ini diatur ke `soci` jika SOCI digunakan. Untuk memverifikasi bahwa gambar kontainer memiliki SOCI Index Manifest v2 yang dilampirkan, Anda dapat mengambil Image Index dari Amazon ECR menggunakan. AWS CLI

```
IMAGE_REPOSITORY=r
IMAGE_TAG=latest

aws ecr batch-get-image \
    --repository-name=$IMAGE_REPOSITORY \
    --image-ids imageTag=$IMAGE_TAG \
    --query 'images[0].imageManifest' --output text | jq -r '.manifests[] | select(.artifactType=="application/vnd.amazon.soci.index.v2+json")'
```

Untuk memverifikasi bahwa image container memiliki SOCI Index Manifest v1 yang terpasang, Anda dapat menggunakan OCI Referrers API.

```
ACCOUNT_ID=111222333444
AWS_REGION=us-east-1
IMAGE_REPOSITORY=nginx-demo
IMAGE_TAG=latest
IMAGE_DIGEST=$(aws ecr describe-images --repository-name $IMAGE_REPOSITORY --image-ids imageTag=$IMAGE_TAG --query 'imageDetails[0].imageDigest' --output text)
ECR_PASSWORD=$(aws ecr get-login-password)

curl \
    --silent \
    --user AWS:$ECR_PASSWORD \
    https://$ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/v2/$IMAGE_REPOSITORY/referrers/$IMAGE_DIGEST?artifactType=application%2Fvnd.amazon.soci.index.v1%2Bjson | jq -r '.'
```

# Perbedaan definisi tugas Amazon ECS untuk instans EC2 yang menjalankan Windows
<a name="windows_task_definitions"></a>

Tugas yang berjalan pada instans EC2 Windows tidak mendukung semua parameter definisi tugas Amazon ECS yang tersedia. Beberapa parameter tidak didukung sama sekali, dan yang lain berperilaku berbeda.

Parameter definisi tugas berikut tidak didukung untuk definisi tugas Amazon EC2 Windows:
+ `containerDefinitions`
  + `disableNetworking`
  + `dnsServers`
  + `dnsSearchDomains`
  + `extraHosts`
  + `links`
  + `linuxParameters`
  + `privileged`
  + `readonlyRootFilesystem`
  + `user`
  + `ulimits`
+ `volumes`
  + `dockerVolumeConfiguration`
+ `cpu`

  Kami merekomendasikan agar CPU tingkat-kontainer ditentukan untuk kontainer Windows.
+ `memory`

  Kami merekomendasikan agar CPU tingkat-kontainer ditentukan untuk kontainer Windows.
+ `proxyConfiguration`
+ `ipcMode`
+ `pidMode`
+ `taskRoleArn`

  Peran IAM untuk tugas pada fitur instans Windows EC2 memerlukan konfigurasi tambahan, tetapi sebagian besar konfigurasi ini mirip dengan mengonfigurasi peran IAM untuk tugas pada instance container Linux. Untuk mengetahui informasi selengkapnya, lihat [Konfigurasi tambahan instans Amazon EC2 Windows](task-iam-roles.md#windows_task_IAM_roles).