Чому я не можу дістатись до мого примірника Amazon EC2 через його Elastic IP-адресу?


37

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


1
Ви впевнені, що використовуєте еластичний IP-адресу, а не свій приватний, мій локальний IP?

@Robert - Привіт, добре Aws. *** адреса не буде шукати через ping, (але працює в браузері), тому я фактично втрачаю, як це дізнатися. Я спробував ping, і я спробував кілька інтернет-сайтів, які роблять пошук.

@Piotr - Так. Це "Еластична IP-адреса", а не приватна IP-адреса. Він також використовується Amazon у заголовку для вкладок статусу.

Guido, чи присвоєно публічний DNS та ідентифікатор екземпляра?

@Piotr - Так. І загальнодоступний DNS доступний через браузер. В даний час я працюю за брандмауером, не впевнений, що це вплине на ..... я просто намагався пінговати відомий сайт (msn.com) і це не вдалося. Зв’язування мого телефону ...
— Guido Anselmi

Відповіді:


37

Що потрібно перевірити:

  • Ваш еластичний IP пов'язаний з вашим екземпляром?
  • Ваша група безпеки примірника дозволяє вхідні з'єднання?
  • Брандмауер вашого примірника дозволяє вхідні з'єднання?
  • Ваша програма слухає?

Дякую групі безпеки для мене! Вони ніколи не згадували про це в жодному навчальному посібнику AWS. :(
— емоційність

1
Інше, що потрібно перевірити: спробуйте перезапустити екземпляр EC2. Це зробило для мене хитрість (еластичний IP був пов'язаний з екземпляром, поки він працював).
— неділю

Для мене це також був перезапуск екземпляра, працював магічно!
— Artipixel

У мене те саме питання, що і в ОП. Я перевірив у відповіді пункти 1, 2, 4, також перезавантажив екземпляр EC2. Як перевірити третій пункт "Брандмауер вашого примірника дозволяє вхідні з'єднання"? Чи заборонено вхідні з'єднання брандмауером екземпляра EC2?
— Indominus

26

Як уже згадувалося, група безпеки для вашого екземпляра EC2 може не дозволити HTTP-порт.

Спочатку знайдіть Групу безпеки, яку використовує ваш примірник.

введіть тут опис зображення

Потім у розділі Мережа та безпека перейдіть до розділу Групи безпеки . Виберіть групу безпеки вашого примірника та додайте вхідне спеціальне правило TCP для діапазону порт 80.

Групи безпеки в EC2


2
Перша відповідна відповідь - багато чого.
— Артур Кушман

2
Я б швидше прийняв цю відповідь, оскільки AWS EC2 дійсно створює екземпляр без відкритого порту 80 для з'єднань TCP за замовчуванням.
— Артур Кушман

Набагато краща відповідь, ніж відповідь Стоун. Цю відповідь (Джеймса) слід сприймати як правильну відповідь, оскільки це фактична відповідь. Відповідь Стоун занадто родова, тобто. Що потрібно перевірити!
— каннас

Працювало для мене .. Я просто додаю власні правила TCP з PORT: 80 .. Дякую
— Muhammad Azeem

О, це було! Це годинами мене ганяє. Я створив нову групу безпеки з усіма правильними прив’язками. Перевірено брандмауер на екземплярі, перевірено, чи працює веб-служба чи ні та чи налаштовано VPC Security. Але виявилося, що екземпляр використовував цілу іншу групу безпеки під назвою "майстер запуску-1" !!
— Золбаяр

16

Також переконайтеся, що в таблиці маршрутів VPC встановлено так, щоб IP-адреса за межами VPC (0.0.0.0/0) могла надходити з підмережі в Інтернет-шлюз.

Перейдіть до VPC> Таблиці маршрутів; Вкладка маршруту. Позначте пункт "Місце призначення" "відображено" на цільовий ідентифікатор шлюзу Інтернету (крім місцевого).


Слідуючи вищевказаній інструкції, я додав маршрут за замовчуванням, використовуючи Інтернет-шлюз як ціль. Щоб вказати маршрут за замовчуванням, введіть в якості місця призначення 0,0.0.0/0. Як тільки це було зроблено, я зміг дістатись до свого примірника з Інтернету, використовуючи його загальнодоступну ip адресу
— Peter Smallwood

Це працює для мене. Мені цікаво, що до того, як я налаштувався таким чином, у мене вже був ще один наявний екземпляр, доступний в Інтернеті. Чому цього разу не можна?
— shintaroid

10

Просто додавши цю відповідь, як це може допомогти іншим новачкам EC2. Якщо загальнодоступним DNS для вашого екземпляра EC2 є: Public DNS: ec2-46-137-53-149.eu-west-1.compute.amazonaws.com, ви можете отримати доступ до цього примірника, використовуючи числову частину адреси DNS. У наведеному вище випадку http://46.137.53.149/

Очевидно, що вам потрібно буде відкрити відповідний порт TCP у групі / профілі безпеки, пов’язаній із вашим екземпляром, як було зазначено вище.

Приватний IP (наприклад , 10.235.47.101) не доступний із зовнішньої мережі AWS і тільки корисно , коли у вас є кластер EC2 вузлів і хочуть швидше зв'язок між ними.


5

Пара питань: до якого порту ви намагаєтесь отримати доступ? У вас цей порт відкритий для груп безпеки? У вас є програма, яка прослуховує цей порт?

Якби мені довелося здогадатися, ваші групи безпеки не налаштовані правильно. Переконайтесь, що відкрийте їх на правильні ip-адреси або у світ (0.0.0.0/0), якщо ви збираєтесь отримати доступ до цього порту з декількох IP-адрес.

Якщо все це не так, то роз'єднайте та перерозподіліть IP-адресу на примірник.


@ Chan-da-man- Так, порти відкриті, і програма прослуховує. Точна URL-адреса, за винятком доменного імені, заміненого IP-адресою.
— Гвідо Ансельмі

Коли ви вкажете повне ім'я амазонки, воно повертається з еластичним ip?
— хантеман
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.