Tidak dapat terhubung ke instance EC2 di VPC (Amazon AWS)

46

Saya telah mengambil langkah-langkah berikut:

  1. Membuat VPC (dengan satu subnet publik)
  2. Menambahkan instance EC2 ke VPC
  3. Mengalokasikan IP elastis
  4. Mengaitkan IP elastis dengan mesin virtual
  5. Membuat grup keamanan dan menugaskannya ke instance
  6. Mengubah aturan keamanan untuk memungkinkan gema ICMP masuk dan TCP pada port 22

Saya sudah melakukan semua ini dan saya masih belum bisa melakukan ping atau ssh ke instance. Jika saya mengikuti langkah-langkah yang sama minus bit VPC saya dapat mengatur ini tanpa masalah. Langkah apa yang saya lewatkan?

Ryan Lynch
sumber
2
Apakah Anda menetapkan gateway dan rute ke subnet VPC?
zorlem
Jika saya pergi ke Gateway Internet, ada gateway yang ditetapkan untuk VPC. Bagaimana cara saya memeriksa apakah rute telah ditetapkan?
Ryan Lynch
Apakah rute tabel rute?
Ryan Lynch
2
ya, Anda perlu menetapkan "gateway internet" ke tabel routing publik.
zorlem
1
Luar biasa, terima kasih kawan. Jika Anda memasukkannya dalam bentuk jawaban, saya akan menerimanya. Dalam jawaban Anda, dapatkah Anda juga menentukan apa yang harus dimasukkan ke dalam tabel rute? Saya memasukkan 0.0.0.0/0 dan target sebagai gateway internet, tetapi itu tidak terdengar seperti hal yang benar untuk dilakukan.
Ryan Lynch

Jawaban:

75

Untuk berkomunikasi di luar VPC, setiap subnet non-standar membutuhkan tabel perutean dan gateway internet yang terkait dengannya (subnet standar mendapatkan gateway eksternal dan tabel perutean secara default).

Bergantung pada cara Anda membuat subnet publik di VPC, Anda mungkin perlu menambahkannya secara eksplisit. Pengaturan VPC Anda sepertinya cocok dengan Skenario 1 - cloud pribadi (VPC) dengan satu subnet publik, dan gateway Internet untuk memungkinkan komunikasi melalui Internet dari dokumentasi AWS VPC.

Anda akan perlu menambahkan gateway internet untuk VPC Anda dan di dalam subnet Umum tabel routing assign0.0.0.0/0 (default route) untuk pergi ke gateway internet ditugaskan. Ada ilustrasi yang bagus tentang topologi jaringan yang tepat di dalam dokumentasi.

Juga, untuk informasi lebih lanjut, Anda dapat memeriksa dokumentasi AWS VPC Internet Gateway . Sayangnya itu agak berantakan dan tidak jelas.

Untuk detail lebih lanjut tentang masalah koneksi, lihat juga: Pemecahan Masalah Menghubungkan ke Mesin Virtual Anda .

zorlem
sumber
2
Selain menetapkan rute default untuk gateway internet saya juga harus mengaitkan subnet dengan tabel routing. Tetapi begitu saya melakukan dua hal ini, saya bangkit dan berlari. Terima kasih.
Sam Kenny
4
Manajemen VPC> Tabel Rute> [Rute]> Tambah, 0.0.0.0/0, dropdown untuk memilih gateway internet Anda
Scott R. Frost
Saya akan membuang ini di luar sana agar internet belajar dari kesalahan saya. Jika rute Anda ke Internet Gateway memiliki tujuan 0.0.0.0/32 maka itu tidak akan berfungsi. Rute perlu diubah menjadi 0.0.0.0/0 seperti yang ditentukan dalam jawaban Zorlem.
Douglas Diadakan
4

Tidak yakin apakah ini persis seperti ini tetapi saya baru saja membuat VPC dengan Subnet Publik dan Swasta dan memperhatikan bahwa ada grup keamanan default yang memiliki alamat sumber sebagai nama grup keamanan yang sama. Efektif tidak memiliki akses. Harus mengubah sumber ini ke Anywhere dan mulai bekerja.

dil
sumber
Halo, saya sedang menguji Skenario 2 juga. Contoh publik dan pribadi dalam subnet publik dan pribadi. Intinya adalah saya tidak mengerti bagaimana instance pribadi dapat mengakses Internet dan memperbarui perangkat lunak.
The One
Terima kasih, ini masalah saya, saya berasumsi, itu berarti semua instance di dalam VPC memiliki akses
Santthosh
3

Saya perhatikan bahwa (saya pikir) Anda harus berhati-hati tentang zona ketersediaan tempat instance Anda dibuat. SubNet, Antarmuka Jaringan, dan Mesin Virtual harus berada dalam zona ketersediaan yang sama jika tidak tidak ada cara untuk terhubung ke IP publik untuk contoh itu.

Saya mungkin salah - tapi saya rasa tidak, ini menghabiskan waktu 12 jam untuk mencari tahu.

Semoga ini bisa membantu orang lain.

malsmith
sumber
Itu benar. Skenario 1, sebagaimana disebutkan dalam jawaban, adalah tempat Anda membuat /16VPC dan kemudian membuat /24di setiap AZ yang ingin Anda kerjakan
Machavity
1

Anda harus mengalokasikan ENI dan menetapkan IP Elastis untuk ENI ini. Anda juga harus menetapkan ENI ini ke VPC Anda. Tabel rute juga harus benar, untuk meneruskan paket luar ke VPC Anda dengan benar.

Lucas Freitas
sumber
Saya percaya bahwa menambahkan ENI diperlukan ketika Anda ingin antarmuka jaringan tambahan pada instance Anda, secara default mereka datang dengan satu NIC.
zorlem
0

Karena SSH adalah protokol statefull, Anda perlu memastikan bahwa Anda memiliki aturan OUTBOUND berikut di ACL jaringan Anda:

Rule #  Type            Protocol        Port Range      Destination     Allow / Deny
100     Custom TCP Rule TCP (6)         49152-65535     0.0.0.0/0       ALLOW
Khalid Anwar
sumber