it-swarm.dev

Amazon ELB untuk instance EC2 dalam subnet pribadi di VPC

Saya menggunakan Amazon EC2, dan saya ingin menempatkan ELB (penyeimbang beban) yang menghadap internet ke 2 instance pada subnet pribadi. Saya menggunakan VPC dengan subnet publik dan pribadi.

  • Jika saya hanya menambahkan subnet pribadi ke ELB, itu tidak akan mendapatkan koneksi.
  • Jika saya melampirkan kedua subnet ke ELB maka ia dapat mengakses instance, tetapi sering kali akan mengalami time-out. (Lihat Tangkapan Layar 1)
  • Jika saya melampirkan hanya subnet publik maka instance saya yang dilampirkan ke ELB mendapat OutOfService karena saya tidak memiliki instance apa pun di Subnet Publik, jumlah instance menunjukkan 0. (Lihat Tangkapan Layar 2)

Screenshot 1: Kedua subnet terpasang Both subnets attached

Screenshot 2: Hanya subnet publik yang terpasang Only public subnet attached

Pertanyaan saya sebenarnya adalah ekstensi untuk pertanyaan ini . Setelah mengikuti semua 6 langkah yang disebutkan dalam jawaban yang diterima, saya masih terkejut, contoh saya terlampir pada ELB mendapat OutOfService. Saya bahkan sudah mencoba mengizinkan port di Grup Keamanan untuk instance EC2 dan ELB, tetapi tidak membantu. 

Tolong bantu, saya mematahkan kepala saya dengan ini. 

40
manish_s

Pertanyaan SO lainnya yang Anda referensikan tepat. Periksa Double/Triple berikut ini

  • Anda hanya perlu melampirkan subnet publik ke ELB Anda, memastikan bahwa zona ketersediaan subnet tersebut selaras dengan zona ketersediaan subnet pribadi di mana instance Anda berada. 
  • Pastikan bahwa grup keamanan instance Anda memungkinkan akses dari grup keamanan penyeimbang beban Anda
  • Pastikan pemeriksaan kesehatan Anda berfungsi secara lokal pada instance. Misalnya, jika pemeriksaan kesehatan Anda di ELB adalah HTTP:8080/health_check, pada instance Anda dapat curl x.x.x.x:8080/health_check (di mana x.x.x.x adalah IP pribadi dari instance) dan mendapatkan 200 kode respons. 
  • Tabel perutean subnet publik harus merutekan 0.0.0.0/0 ke gateway internet yang terpasang pada VPC Anda.
  • Tabel perutean subnet pribadi harus merutekan 0.0.0.0/0 ke instance NAT atau gateway di subnet publik
66
Ben Whaley

Pertanyaan SO lainnya membantu saya juga. Bagi saya, saya terus lupa bahwa saya perlu menginstal perangkat lunak ke server (yaitu Apache) dan jika Anda tidak membuat GW NAT atau metode lain untuk memungkinkan pemasangan perangkat lunak, itu akan gagal. Jika Anda ingin mencoba mode otomatis tanpa repot, Anda dapat mencoba skrip:

https://github.com/jouellnyc/AWS/tree/master/create_aws_vpc3

Perhatikan ada banyak dokumen dan diskusi yang baik tetapi:

Kode HTTP yang saya dapatkan dari ELB:

  • 504 - Mungkin kelompok keamanan - memungkinkan akses ke port 80 dari instance
  • 503 - Mungkin pengaturan grup target yang salah
  • 502 - Mungkin Apache/Server tidak berjalan karena itu tidak diinstal karena tidak ada cara atau metode untuk menginstal perangkat lunak.
0
jouell