Неможливо підключитися до екземпляра EC2 у VPC (Amazon AWS)


46

Я зробив такі кроки:

  1. Створено VPC (з єдиною загальнодоступною підмережею)
  2. Додано екземпляр EC2 до VPC
  3. Виділено еластичний ІП
  4. Пов’язаний пружний IP з екземпляром
  5. Створив групу безпеки та призначив її для екземпляра
  6. Змінено правила безпеки, щоб дозволити вхідному відлунню ICMP та TCP на порт 22

Я все це зробив, і досі не можу пінг або ssh в екземпляр. Якщо я виконую ті самі кроки, мінус біти VPC, я можу це налаштувати без проблем. Який крок я пропускаю?


2
Ви призначили шлюз і маршрут до підмережі VPC?
zorlem

Якщо я перейду до Internet Gateways, там призначений шлюз для VPC. Як перевірити, чи призначений маршрут?
Райан Лінч

Чи маршрутна таблиця маршруту?
Райан Лінч

2
так, вам потрібно призначити "Інтернет-шлюз" для загальної таблиці маршрутів.
zorlem

1
Відмінно, дякую людино. Якщо ви викладете це у відповідь, я прийму. Чи могли ви також вказати, що саме потрібно помістити в таблицю маршрутів? Я поставив 0,0.0.0/0 і ціль як шлюз для Інтернету, але це не здається правильним.
Райан Лінч

Відповіді:


75

Для зв'язку поза VPC кожній підмережі, що не використовується за замовчуванням, потрібна таблиця маршрутизації та пов’язаний з нею Інтернет-шлюз (за замовчуванням підмережі отримують зовнішній шлюз та таблицю маршрутизації за замовчуванням).

Залежно від способу створення загальнодоступної підмережі у VPC, можливо, вам потрібно буде явно додати їх додатково. Налаштування VPC звучить так, що відповідає сценарію 1 - приватній хмарі (VPC) з єдиною загальнодоступною підмережею та Інтернет-шлюзом, що дозволяє спілкуватися через Інтернет з документацією AWS VPC.

Вам потрібно буде додати Інтернет-шлюз до вашого VPC та всередині таблиці маршрутизації загальної підмережі Public ( призначити0.0.0.0/0 маршрут за замовчуванням), щоб перейти до призначеного шлюзу Інтернету. Приємна ілюстрація точної топології мережі всередині документації.

Також для отримання додаткової інформації ви можете ознайомитись з документацією AWS про Інтернет-шлюз VPC . На жаль, це трохи безладно і неочевидно, що готується.

Докладніші відомості про проблеми з підключенням див. У розділі: Усунення несправностей підключення до вашого інстанції .


2
На додаток до призначення маршруту за замовчуванням для Інтернет-шлюзу, я також повинен був пов’язати підмережу з таблицею маршрутизації. Але як тільки я зробив ці дві речі, я вже працював. Дякую.
Сем Кенні

4
VPC управління> Таблиця маршрутів> [Маршрути]> Додати, 0.0.0.0/0, спадне меню, щоб вибрати свій Інтернет-шлюз
Scott R. Frost

Я викину це для Інтернету, щоб навчитися на своїй помилці. Якщо ваш маршрут до Інтернет-шлюзу має призначення 0.0.0.0/32, він не працюватиме. Маршрут потрібно змінити на 0,0,0,0/0, як зазначено у відповіді Зорлема.
Дуглас відбувся

4

Не впевнений, що це саме так, але я щойно створив VPC із загальнодоступними та приватними підмережами і помітив, що існує група безпеки за замовчуванням, яка має адресу джерела як та сама назва групи безпеки. Ефективна вона не має доступу. Довелося змінити це джерело на Anywhere і воно почало працювати.


Привіт, я також тестую цей сценарій 2. Державний та приватний екземпляр у публічній та приватній підмережі. Справа в тому, що я не розумію, як приватний екземпляр міг мати доступ до Інтернету та оновлювати програмне забезпечення.
Єдиний

Дякую, це була моя проблема, я припускав, це означає, що всі екземпляри всередині VPC мали доступ
Santthosh

3

Я помітив, що (я думаю) вам потрібно бути обережними щодо того, в якій зоні доступності створений ваш примірник. SubNet, мережевий інтерфейс та екземпляр повинні бути в одній зоні доступності, інакше немає можливості підключитися до загальнодоступного IP для цього випадку.

Я можу помилятися - але я не думаю, що це коштувало мені 12 годин роботи, щоб зрозуміти.

Сподіваюся, що це допомагає комусь іншому.


Це правильно. Сценарій 1, як згадується у відповіді, - це те, де ви створюєте /16VPC, а потім створюєте /24в кожному AZ, в якому ви хочете працювати
Machavity

1

Вам слід виділити ENI та призначити Еластичний IP цьому ENI. Крім того, ви повинні призначити цю ENI для своєї VPC. Таблиця маршруту також повинна бути правильною, щоб правильно пересилати зовнішні пакети у вашу VPC.


Я вважаю, що додавати ENI потрібно, коли потрібно додаткові мережеві інтерфейси для своїх примірників, за замовчуванням вони постачаються з одним NIC.
zorlem

0

Оскільки SSH є повноцінним протоколом, вам потрібно переконатися, що у вашій мережі ACL є таке правило OUTBOUND:

Rule #  Type            Protocol        Port Range      Destination     Allow / Deny
100     Custom TCP Rule TCP (6)         49152-65535     0.0.0.0/0       ALLOW
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.