Чому я не можу дістатись до мого примірника 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.