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 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 dalam VPC Anda. 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 diberikan alamat IPv4 privat secara default. Jika VPC Anda diaktifkan untuk mode tumpukan dobel dan Anda menggunakan subnet dengan blok CIDR IPv6, tugas ENI Anda 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 ENI. 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 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

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 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 ENI yang dapat dilampirkan padanya. Antarmuka jaringan utama untuk instance dihitung sebagai satu. Anda dapat melampirkan dua ENI tambahan 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 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. 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, ENI tugas Anda 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 ENI yang dilampirkan ke instans Amazon EC2 Linux Anda. Jika Anda melampirkan ENI secara manual ke instans Anda, Amazon ECS mungkin mencoba menambahkan tugas ke instance yang tidak memiliki cukup adaptor jaringan. Hal ini dapat mengakibatkan waktu tugas habis dan pindah ke status deprovisioning dan kemudian status berhenti. Kami menyarankan agar Anda tidak melampirkan ENI ke 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 ENI untuk suatu tugas, hentikan tugas tersebut.

  • 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 instans 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 klaster yang berisi AMI Windows Server 2016 Amazon ECS yang dioptimalkan dan AMI Windows yang mendukung mode awsvpc awsvpc jaringan, tugas yang menggunakan mode 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 kontainer 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 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 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.

  • 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 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 ENI yang dilampirkan padanya. Antarmuka jaringan utama untuk instance dihitung sebagai salah satunya. Anda dapat melampirkan dua ENI tambahan 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 Pengguna Amazon EC2.

  • Saat menghosting tugas yang menggunakan mode awsvpc jaringan di instans Amazon EC2 Windows, ENI tugas Anda 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 ENI yang telah dilampirkan ke instans Amazon EC2 Windows Anda. Jika Anda melampirkan ENI secara manual ke instans Anda, Amazon ECS mungkin mencoba menambahkan tugas ke instance yang tidak memiliki cukup adaptor jaringan. Hal ini dapat mengakibatkan waktu tugas habis dan pindah ke status deprovisioning dan kemudian status berhenti. Kami menyarankan agar Anda tidak melampirkan ENI ke 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 ENI untuk suatu tugas, hentikan tugas tersebut.

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

    • Konfigurasikan tumpukan dobel

    • IPv6

    • ENI trunking

Menggunakan VPC dalam mode tumpukan dobel

Saat menggunakan VPC dalam mode dual-stack, tugas Anda dapat berkomunikasi melalui IPv4, atau IPv6, atau keduanya. Alamat IPv4 dan IPv6 tidak bergantung satu sama lain. Oleh karena itu Anda harus mengonfigurasi perutean dan keamanan di VPC Anda secara terpisah untuk IPv4 dan IPv6. Untuk informasi selengkapnya tentang cara mengonfigurasi VPC Anda untuk mode dual-stack, lihat Memigrasi ke IPv6 di Panduan Pengguna Amazon VPC.

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 alamat IPv6 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 alamat IPv6 jika kondisi berikut terpenuhi: