View a markdown version of this page

Menghubungkan aplikasi Amazon ECS 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.

Menghubungkan aplikasi Amazon ECS ke internet

Sebagian besar aplikasi kontainer memiliki setidaknya beberapa komponen yang membutuhkan 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 VPC Anda dan internet.

Subnet publik dan gateway internet

Diagram menunjukkan arsitektur subnet publik yang terhubung ke gateway internet.

Bila Anda menggunakan subnet publik yang memiliki rute ke gateway internet, aplikasi kontainer Anda dapat berjalan pada host di dalam VPC pada subnet publik. Host yang menjalankan wadah Anda diberi alamat IP publik. Alamat IP publik ini dapat dialihkan dari internet. Untuk informasi lebih lanjut, lihat Gateway internet di Panduan Pengguna Amazon VPC.

Arsitektur jaringan ini memfasilitasi komunikasi langsung antara host yang menjalankan aplikasi Anda dan host lain di internet. Komunikasi adalah dua arah. 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. Oleh 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 Amazon EC2, pastikan port 22 untuk akses SSH tidak terbuka. Jika tidak, instance Anda dapat menerima upaya koneksi SSH konstan dari bot jahat di internet. Bot ini menjelajah melalui alamat IP publik. Setelah mereka menemukan port SSH yang 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 sejumlah besar bandwidth 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 instans EC2 di subnet publik. Amazon ECS menggunakan instans EC2 ini sebagai kapasitas cluster, dan wadah apa pun yang berjalan pada instans dapat menggunakan alamat IP publik yang mendasarinya dari host untuk jaringan keluar. Ini berlaku untuk mode host dan bridge jaringan. Namun, mode awsvpc jaringan tidak menyediakan ENI tugas dengan alamat IP publik. Oleh karena itu, mereka tidak dapat menggunakan gateway internet secara langsung.

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

Subnet privat dan gateway NAT

Diagram menunjukkan arsitektur subnet pribadi yang terhubung ke gateway NAT.

Bila Anda menggunakan subnet pribadi dan gateway NAT, Anda dapat menjalankan aplikasi kontainer Anda pada host yang ada di subnet pribadi. Dengan demikian, host ini memiliki alamat IP pribadi yang dapat dirutekan di dalam VPC Anda, 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 melakukan komunikasi masuk ke host.

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

Pendekatan jaringan pribadi ini cocok untuk skenario di mana Anda ingin melindungi kontainer 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 gateway NAT di akun Anda. Tarif penggunaan gateway NAT dan pemrosesan data per jam juga berlaku. Untuk tujuan redundansi, Anda harus memiliki gateway NAT di setiap Availability Zone. Dengan cara ini, hilangnya ketersediaan Zona Ketersediaan tunggal tidak membahayakan konektivitas keluar Anda. Karena itu, jika Anda memiliki beban kerja yang kecil, mungkin lebih hemat biaya untuk menggunakan subnet pribadi dan gateway NAT.

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

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

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