Alokasikan antarmuka jaringan untuk tugas Amazon ECS - Amazon Elastic Container Service

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

Alokasikan antarmuka jaringan untuk tugas Amazon ECS

Fitur jaringan tugas yang disediakan oleh mode awsvpc jaringan memberikan tugas Amazon ECS properti jaringan yang sama dengan EC2 instans Amazon. 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 EC2 jaringan Amazon 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 EC2 instans Amazon host dengan grup keamanan yang ditentukan. Tugas mengirim dan menerima lalu lintas jaringan melalui ENI dengan cara yang sama seperti EC2 instans Amazon 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.

Ini ENIs terlihat di EC2 konsol Amazon 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 DescribeTasksAPI. 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, lihatPrasyarat.

Anda menentukan awsvpc dalam networkMode parameter definisi tugas. Untuk informasi selengkapnya, lihat Mode jaringan.

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. Tugas ditempatkan pada EC2 instans Amazon 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

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.

  • 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 AWS Management Console. Untuk informasi selengkapnya, lihat Menggunakan peran terkait layanan untuk Amazon ECS. Anda juga dapat membuat peran terkait layanan dengan perintah berikut: AWS CLI

    aws iam create-service-linked-role --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.

  • Setiap tugas Amazon ECS yang menggunakan mode awsvpc jaringan menerima elastic network interface (ENI) sendiri, yang dilampirkan ke EC2 instance Amazon yang menghostingnya. Ada kuota default untuk jumlah antarmuka jaringan yang dapat dilampirkan ke instance 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 di Panduan EC2 Pengguna Amazon.

  • 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, EC2 instans Amazon Anda harus menggunakan agen penampung versi 1.28.1 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. Untuk informasi lebih lanjut tentang trunking ENI, lihat. Meningkatkan antarmuka jaringan instans kontainer Amazon ECS Linux

  • 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 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 ENIs yang melekat pada 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 awsvpc jaringan. Instans yang menjalankan versi 1.15.0-4 atau yang lebih baru ecs-init terdaftar dengan atribut ini secara otomatis.

  • ENIs 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 AwsVpcConfigurationdi 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 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 instance Amazon EC2 Linux. Untuk informasi selengkapnya, lihat Gunakan load balancing untuk mendistribusikan lalu lintas layanan Amazon ECS.

  • 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

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 cluster yang berisi Amazon ECS 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 Amazon EC2 Windows Anda memerlukan versi 1.57.1 atau yang lebih baru dari agen penampung untuk menggunakan CloudWatch metrik untuk kontainer Windows yang menggunakan mode awsvpc jaringan.

  • 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 AWS Management Console. Untuk informasi selengkapnya, lihat Menggunakan peran terkait layanan untuk Amazon ECS. Anda juga dapat membuat peran terkait layanan dengan perintah berikut AWS CLI .

    aws iam create-service-linked-role --aws-service-name ecs.amazonaws.com
  • Instans Amazon EC2 Windows 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.

  • 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.

  • Setiap tugas Amazon ECS yang menggunakan mode awsvpc jaringan menerima elastic network interface (ENI) sendiri, yang dilampirkan ke instance Amazon EC2 Windows yang menghostingnya. Ada kuota default untuk jumlah antarmuka jaringan yang dapat dilampirkan ke instance Amazon EC2 Windows. 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 di Panduan EC2 Pengguna Amazon.

  • 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 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 ENIs 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 Amazon EC2 Windows harus terdaftar dengan ecs.capability.task-eni kemampuan yang harus dipertimbangkan untuk penempatan tugas dengan mode awsvpc jaringan.

  • Anda tidak dapat memodifikasi atau melepaskan secara manual ENIs yang dibuat dan dilampirkan ke instans Amazon EC2 Windows 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 AwsVpcConfigurationdi 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 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, bukaninstance. Ini karena tugas yang menggunakan mode awsvpc jaringan dikaitkan dengan ENI, bukan dengan instance Amazon EC2 Windows. Untuk informasi selengkapnya, lihat Gunakan load balancing untuk mendistribusikan lalu lintas layanan Amazon ECS.

  • 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 EC2 Windows:

    • Konfigurasikan tumpukan dobel

    • IPv6

    • ENI trunking

Menggunakan VPC dalam mode tumpukan dobel

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 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 yang diberi IPv6 alamat dapat mengakses internet melalui gateway internet atau gateway internet khusus egres. Gateway NAT bersifat opsional. Untuk informasi selengkapnya, lihat gateway Internet dan gateway internet khusus eGress di Panduan Pengguna Amazon VPC.

Tugas Amazon ECS diberikan IPv6 alamat jika kondisi berikut terpenuhi: