Saya akan memiliki sejumlah instance EC2 di grup autoscaling Elastic Beanstalk di subnet default di VPC. Aplikasi pada instance EC2 ini perlu terhubung ke layanan pihak ketiga yang menggunakan daftar putih alamat IP untuk memungkinkan akses. Jadi saya memerlukan satu atau lebih alamat IP statis yang dapat saya berikan kepada penyedia layanan ini sehingga mereka dapat ditambahkan ke daftar putih. Pemahaman saya adalah bahwa satu-satunya cara untuk mendapatkan IP statis adalah dengan mendapatkan alamat IP elastis. Dan saya hanya dapat mengaitkan Elastic IP dengan satu contoh EC2 pada suatu waktu - saya tidak dapat mengaitkannya dengan seluruh subnet atau gateway internet saya (apakah ini benar?). Jadi apakah saya memerlukan IP Elastis untuk setiap instance EC2, sehingga setiap instance dapat secara terpisah dimasukkan daftar putih? Bagaimana cara kerjanya jika autoscaling menambahkan contoh lain? Haruskah saya memiliki satu contoh EC2 dengan IP elastis, dan rutekan semua lalu lintas keluar melalui instance itu? Jika demikian, apakah instance itu perlu semata-mata untuk tujuan ini atau dapatkah itu merupakan salah satu contoh yang menjalankan aplikasi saya?
sumber
Saya mengerti ini adalah utas lama - bagi seseorang yang memiliki use-case yang sama sekarang, AWS nat-gateway akan menjadi solusi yang lebih baik.
sumber
Saya tidak memiliki reputasi yang cukup untuk mengomentari jawaban di atas, tetapi saya ingin menambahkan beberapa informasi yang perlu Anda ketahui jika menggunakan gateway NAT untuk mencapai ini. Saat Anda membuat gateway NAT, Anda memilih subnet dan alamat IP elastis.
Pada awalnya, saya baru saja menambahkan gateway NAT ke subnet yang sama dengan penyeimbang beban elastis saya dan instance EC2. Kemudian, Anda harus menambahkan gateway NAT ke tabel rute Anda. Saya menambahkan gateway NAT sebagai target untuk IP dari server basis data eksternal yang saya coba hubungi. Ini menghasilkan aplikasi yang dihosting dalam penghitungan waktu beanstalk elastis saya. Ini karena mereka berusaha untuk terhubung ke database eksternal melalui NAT. Mereka mencapai NAT, dan kemudian NAT mencoba menjangkau ke server saya melalui internet, dan mencarinya di tabel rute untuk subnet itu, yang menunjuk pada dirinya sendiri, membuat loop.
Solusinya adalah, sebelum Anda membuat gateway NAT Anda, buat subnet baru hanya untuk NAT sehingga NAT memiliki subnet dan tabel rute itu sendiri. Di tabel rute NAT, arahkan semua lalu lintas ke gateway internet. Di tabel rute utama Anda, arahkan IP eksternal Anda ke NAT. Kemudian, ketika instance EC2 Anda mencoba menghubungkan ke IP eksternal Anda, mereka akan mencarinya di tabel rute utama (atau tabel rute apa pun yang telah Anda tetapkan untuk subnet instans instance Anda), dan temukan NAT. Kemudian, NAT Anda akan mencari IP itu di tabel rute sendiri, dan menemukan internet.
sumber