Экземпляр EC2 t2.micro не имеет общего DNS
Экземпляр EC2 t2.micro не имеет общедоступного DNS
Я запустил экземпляр EC2 Amazon Web Service (AWS), t2.micro, который должен быть запущен в VPC.
VPC имеет автоматическое назначение общего IP-адреса, установленного в "Да".
Разрешение DNS: Да
DNS-имена хостов: Да
Но на контрольной панели EC2 экземпляр по-прежнему имеет пустой публичный DNS и публичный IP-адрес. Я попытался перезапустить экземпляр несколько раз, но до сих пор не был назначен публичный IP-адрес. 5 Эластичных IP-адресов, которые поставляются с нашей учетной записью AWS, уже использовались. Можно ли получить публичный IP-адрес, назначенный экземпляру t2.micro, без использования Elastic IP?
Я прочитал сообщение: Экземпляр EC2 не имеет общедоступного DNS,
но у меня нет точек репутации, чтобы добавить комментарий, поэтому я размещаю это как новый вопрос.
Ответы
Ответ 1
Основываясь на предоставленной вами информации, я не могу быть на 100% уверен, что мой ответ будет правильным, но вот мысль.
Наиболее распространенной причиной отсутствия публичного IP-адреса для вашего экземпляра EC2 является то, что вы запускаете свой экземпляр EC2 в частной подсети. Частная подсеть означает, что любые экземпляры EC2, расположенные в этой подсети, не адресуются непосредственно из общедоступного Интернета. Другими словами, по определению экземпляры EC2 в частной подсети не могут иметь общедоступный IP-адрес.
Это объясняет, почему проверка "общедоступного IP-адреса" не влияет, и почему вы не можете назначить Elastic IP-адрес.
Вы не можете просто переместить экземпляр из одной подсети в другую. Если вам нужно это сделать, вы можете создать AMI вашего экземпляра (щелкните правой кнопкой мыши экземпляр EC2 и нажмите create image
), а затем запустите новый экземпляр из этого AMI в другой подсети.
Чтобы определить, является ли ваша подсеть конфиденциальной, просмотрите таблицу Таблица маршрутов и посмотрите, есть ли у вас маршрут Интернет-шлюз. Перейдите в раздел VPC > Подсети > Выберите вкладку "Подсеть > Таблица маршрутов. Найдите запись, которая имеет что-то вроде igw-***
. Если вы видите это, это общедоступная подсеть. Если вы видите что-то вроде eni-*** / i-***
, это частная подсеть.
Ответ 2
Rightclick в строке VPC на странице консоли управления VPC и выберите "EDIT DNS Hostname". Установите значение "Да". Необходимо разрешить все экземпляры с тем же VPC.
Когда вы создаете новый экземпляр в "Шаг 3. Конфигурирование сведений об экземпляре", вам необходимо включить "Автоматически назначать публичный IP-адрес".
Вот и все!:-)
Ответ 3
Сегодня проблема с тем же вопросом. Мой экземпляр EC2 не имеет открытого DNS, поэтому я не могу подключиться через ssh.
Я пробовал и добился успеха в следующих шагах:
-
Перейдите в VPC > Интернет-шлюзы: убедитесь, что интернет-шлюз создан и подключен к VPC EC2
-
Перейти к VPC > Таблицы маршрутов, выберите маршрут VPC, перейдите на вкладку "Маршруты": добавьте новое правило с помощью
++ Назначение: 0.0.0.0/0
++ Цель: выберите созданный интернет-шлюз
- Перейти к VPC > Subnet > вкладка "Таблица маршрутов": нажмите "Изменить", перейдите в таблицу маршрутов с адресом 0.0.0.0/0 выше
Готово.
Ответ 4
Также проверьте:
VPC → Подсети → Действия подсети → Изменить автоматическое присвоение общедоступного IP-адреса
Ответ 5
Перейдите в VPC → Подсети и убедитесь, что для автоматического назначения общего IPv4-адреса задано значение YES.
Ответ 6
У меня была такая же проблема. Причина моей проблемы оказалась в том, что я использовал таблицу маршрутов, которая не была связана с подсетью.
введите здесь описание изображения
После того как я изменил свою подсеть, моим экземплярам были присвоены общедоступные имена.
Ответ 7
После создания подсети убедитесь, что для параметра "Автоматическое назначение общедоступного IPv4" установлено значение "Да" или "Включено". Убедившись, что вышеуказанная настройка включена, - запустите экземпляр EC2. Если вышеуказанный параметр не активирован после создания подсети - экземпляр EC2 будет считаться закрытым и не будет иметь общедоступного адреса IPV4.
Ответ 8
Есть много возможных причин. Проверьте следующее.
Вам нужно создать VPC.
Разрешение DNS и имена хостов DNS должны быть включены.
Выберите свой VPC → Действия → Изменить разрешение DNS → Включить. Выберите свой VPC → Действия → Изменить имена хостов DNS → Включить.
В VPC может быть нужна частная и общедоступная подсеть.
В частной подсети у вас должен быть ассоциированный с этим шлюз NAT. В общедоступной подсети необходимо, чтобы к этому был привязан интернет-шлюз.
Вам необходимо включить автоматическое назначение IP для вашей общедоступной подсети. Выберите общедоступную подсеть → Действия → Изменить параметры автоматического назначения IP → Включить
Позже, когда вы запустите новый экземпляр на шаге 3: Настройте детали экземпляра.
Вы должны выбрать свой VPC и свою общедоступную подсеть. А в разделе "Автоматическое назначение публичного IP" выберите "Использовать настройку подсети (включено)"
Я думаю, что это должно решить вашу проблему...
Ответ 9
Моя большая проблема была при создании VPC & Подсети из стека CloudFormation, в моих подсетях отсутствовало свойство "MapPublicIpOnLaunch": true.