Hubungkan ECS aplikasi Amazon ke internet - Amazon Elastic Container Service

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

Hubungkan ECS aplikasi Amazon ke internet

Sebagian besar aplikasi kontainer memiliki setidaknya beberapa komponen yang memerlukan akses keluar ke internet. Misalnya, backend untuk aplikasi seluler memerlukan akses keluar ke pemberitahuan push.

Amazon Virtual Private Cloud memiliki dua metode utama untuk memfasilitasi komunikasi antara Anda VPC dan internet.

Subnet publik dan gateway internet

Diagram yang menunjukkan arsitektur subnet publik yang terhubung ke gateway internet.

Bila Anda menggunakan subnet publik yang memiliki rute ke gateway internet, aplikasi containerized Anda dapat berjalan pada host di dalam subnet publik. VPC Host yang menjalankan container Anda diberi alamat IP publik. Alamat IP publik ini dapat dirutekan dari internet. Untuk informasi selengkapnya, lihat gateway Internet di VPCPanduan Pengguna Amazon.

Arsitektur jaringan ini memfasilitasi komunikasi langsung antara host yang menjalankan aplikasi Anda dan host lain di internet. Komunikasi bersifat bi-directional. Ini berarti bahwa Anda tidak hanya dapat membuat koneksi keluar ke host lain di internet, tetapi host lain di internet mungkin juga mencoba untuk terhubung ke host Anda. Karena itu, Anda harus memperhatikan grup keamanan dan aturan firewall Anda. Ini memastikan bahwa host lain di internet tidak dapat membuka koneksi apa pun yang tidak ingin Anda buka.

Misalnya, jika aplikasi Anda berjalan di AmazonEC2, pastikan port 22 untuk SSH akses tidak terbuka. Jika tidak, instans Anda dapat menerima upaya SSH koneksi konstan dari bot berbahaya di internet. Bot ini menjaring melalui alamat IP publik. Setelah mereka menemukan SSH port terbuka, mereka mencoba untuk memaksa kata sandi untuk mencoba mengakses instance Anda. Karena itu, banyak organisasi membatasi penggunaan subnet publik dan lebih memilih untuk memiliki sebagian besar, jika tidak semua, sumber daya mereka di dalam subnet pribadi.

Menggunakan subnet publik untuk jaringan cocok untuk aplikasi publik yang membutuhkan bandwidth dalam jumlah besar atau latensi minimal. Kasus penggunaan yang berlaku termasuk streaming video dan layanan game.

Pendekatan jaringan ini didukung baik saat Anda menggunakan Amazon ECS di Amazon EC2 dan saat Anda menggunakannya AWS Fargate.

  • Amazon EC2 — Anda dapat meluncurkan EC2 instance di subnet publik. Amazon ECS menggunakan EC2 instans ini sebagai kapasitas cluster, dan setiap container yang berjalan pada instans dapat menggunakan alamat IP publik yang mendasari host untuk jaringan keluar. Ini berlaku untuk mode host dan bridge jaringan. Namun, mode awsvpc jaringan tidak menyediakan tugas ENIs dengan alamat IP publik. Oleh karena itu, mereka tidak dapat menggunakan gateway internet secara langsung.

  • Fargate — Saat Anda membuat ECS layanan Amazon, tentukan subnet publik untuk konfigurasi jaringan layanan Anda, dan gunakan opsi Tetapkan alamat IP publik. Setiap tugas Fargate berjejaring di subnet publik, dan memiliki alamat IP publik sendiri untuk komunikasi langsung dengan internet.

Subnet pribadi dan gateway NAT

Diagram yang menunjukkan arsitektur subnet pribadi yang terhubung ke NAT gateway.

Saat Anda menggunakan subnet pribadi dan NAT gateway, Anda dapat menjalankan aplikasi kontainer Anda di host yang ada di subnet pribadi. Dengan demikian, host ini memiliki alamat IP pribadi yang dapat dirutekan di dalam AndaVPC, tetapi tidak dapat dirutekan dari internet. Ini berarti bahwa host lain di dalam VPC dapat terhubung ke host menggunakan alamat IP pribadinya, tetapi host lain di internet tidak dapat membuat komunikasi masuk ke host.

Dengan subnet pribadi, Anda dapat menggunakan gateway Network Address Translation (NAT) untuk memungkinkan host di dalam subnet pribadi terhubung ke internet. Host di internet menerima koneksi masuk yang tampaknya berasal dari alamat IP publik NAT gateway yang ada di dalam subnet publik. NATGateway bertanggung jawab untuk melayani sebagai jembatan antara internet dan pribadiVPC. Konfigurasi ini sering disukai untuk alasan keamanan karena itu berarti bahwa Anda VPC dilindungi dari akses langsung oleh penyerang di internet. Untuk informasi selengkapnya, lihat NATgateway di VPCPanduan Pengguna Amazon.

Pendekatan jaringan pribadi ini cocok untuk skenario di mana Anda ingin melindungi wadah Anda dari akses eksternal langsung. Skenario yang berlaku termasuk sistem pemrosesan pembayaran atau wadah yang menyimpan data pengguna dan kata sandi. Anda dikenakan biaya untuk membuat dan menggunakan NAT gateway di akun Anda. NATGateway penggunaan per jam dan tarif pemrosesan data juga berlaku. Untuk tujuan redundansi, Anda harus memiliki NAT gateway di setiap Availability Zone. Dengan cara ini, hilangnya ketersediaan satu Availability Zone tidak mengganggu konektivitas keluar Anda. Karena itu, jika Anda memiliki beban kerja yang kecil, mungkin lebih hemat biaya untuk menggunakan subnet dan NAT gateway pribadi.

Pendekatan jaringan ini didukung baik saat menggunakan Amazon ECS di Amazon EC2 dan saat menggunakannya AWS Fargate.

  • Amazon EC2 — Anda dapat meluncurkan EC2 instance di subnet pribadi. Kontainer yang berjalan di EC2 host ini menggunakan jaringan host yang mendasarinya, dan permintaan keluar melalui NAT gateway.

  • Fargate — Saat Anda membuat ECS layanan Amazon, tentukan subnet pribadi untuk konfigurasi jaringan layanan Anda, dan jangan gunakan opsi Tetapkan alamat IP publik. Setiap tugas Fargate di-host di subnet pribadi. Lalu lintas keluarnya diarahkan melalui NAT gateway apa pun yang telah Anda kaitkan dengan subnet pribadi itu.