Парень, с которым я работаю, дал мне учетные данные EC2 для входа на консоль EC2. Я не был тем, кто это настраивал. Некоторые экземпляры показывают публичное имя DNS, а другие имеют пустой публичный DNS. Я хочу иметь возможность подключаться к экземплярам, которые имеют пустой публичный DNS. Я не смог понять, почему они отображаются как пустые.
amazon-web-services
amazon-ec2
amazon-vpc
user1456508
источник
источник
DNS hostnames: no
, но я не могу изменить это значение, и добавление нового VPC также не дает мне выбора.DNS hostname: yes
, но при запуске экземпляра используется только Private ID. Я могу получить Public IP только при использовании Elastic IP.Ответы:
У меня была та же проблема, и я решил ее. Посмотрите на пошаговые инструкции:
Надеюсь это поможет!
ура
источник
На самом деле в VPC есть настройка, называемая «DNS-имена хостов». Вы можете изменить VPC, в котором существует экземпляр EC2, и изменить его на «Да». Это должно делать свое дело.
Я столкнулся с этим вопросом вчера и попробовал вышеуказанный ответ от Мэнни, который не сработал. Установка VPC, однако, сделал работу для меня.
В конечном итоге я добавил EIP и использую его для подключения.
источник
Похоже, экземпляр был запущен в VPC, и при этом флажок
Automatically assign a public IP address to your instances
не был установлен. Следовательно, экземпляр не имеет публичного IPВы можете назначить Elastic IP этому экземпляру и затем войти в систему, используя этот IP.
источник
В моем случае я нашел ответ от slayedbylucifer и других, которые указывают на то же самое.
Даже если установлено, что
DNS hostname: yes
общедоступный IP-адрес не назначен для my-pvc (только для приватного IP-адреса).источник
В конце вы получите ваш публичный днс.
источник
Это совет, предоставленный для решения проблемы, которая не работает:
Совет. Если у вашего экземпляра нет общедоступного DNS-имени, откройте консоль VPC, выберите VPC и откройте вкладку Сводка. Если разрешение DNS или имена хостов DNS - нет, нажмите «Изменить» и измените значение на «да».
Предполагая, что вы сделали это, но вы все еще не получаете публичный IP, перейдите к соответствующей подсети на экране администратора VPC, и вы, вероятно, обнаружите, что для «Автоматическое назначение публичного IP» не установлено значение «да». Затем измените этот параметр, и я знаю, что вы не хотите здесь это создавать новый экземпляр в этой подсети. Насколько я могу сказать, вы не можете изменить это на хосте, я пытался и пытался, просто прекратить его.
источник
Для меня проблема была в настройках подсети.
источник
Это связано с функцией VPC под названием «DNS-имена хостов». Вы можете включить или отключить его. Перейдите в VPC, в меню «Действия» выберите пункт «Изменить имена хостов DNS», а затем выберите «Да». После этого должен отображаться общедоступный DNS экземпляров EC2.
источник
Просто запустите другой экземпляр (а также удалите тот, о котором идет речь, если он не используется) и убедитесь, что на этот раз вы отметили «Автоматически назначать публичный IP-адрес вашему экземпляру». Если нет, то как предположил slayedbylucifer; назначьте Elastic IP (EIP) экземпляру, а затем войдите в систему, используя этот IP. Однако будьте осторожны, если вы используете бесплатный уровень AWS, EIP будет стоить вам денег - это целая другая тема.
источник
Прежде всего, для этого может быть две причины:
Чтобы решить это:
i) Перейдите в консоль AWS VPC и выберите созданный вами VPC.
ii) Затем нажмите Действия и затем включите Разрешение DNS.
Здесь вы не можете изменить настройку; поэтому создайте образ ami, а затем воссоздайте экземпляр из этого.
источник
Здесь я обобщу наиболее распространенные проблемы, которые возникают:
Когда вы создаете пользовательский VPC, если вы хотите, чтобы ресурсы aws, такие как экземпляры ec2, получали общедоступные IP-адреса, чтобы Интернет мог взаимодействовать с ними, сначала вы должны убедиться, что экземпляр ec2 связан с общедоступной подсетью пользовательского VPC. Это означает, что с подсетью связан интернет-шлюз. Также необходимо убедиться, что в группе безопасности VPC, связанной с экземпляром ec2, есть правила, разрешающие входящий трафик на нужные порты, такие как ssh, http и https. НО вот некоторые общие упущения, которые все еще происходят:
1) Вы должны убедиться, что DNS-имена хостов включены для VPC
2) Необходимо убедиться, что в общедоступной подсети, связанной с экземпляром EC2, включен флаг «Автоматическое назначение публичного IP».
3) Если экземпляр уже создан, вам может потребоваться прервать его и создать новый экземпляр для заполнения общедоступных полей IP и общедоступных DNS.
источник
После проверки параметров VPC и Subnet у моего экземпляра EC2 все еще не было общедоступного DNS. После дня поиска решения я наконец понял это.
Мне пришлось создать новый Elastic IP-адрес, а затем связать его с моим экземпляром.
С панели управления EC2:
Перейдите на Elastic IPs из боковой панели.
Нажмите Выделить новый адрес , затем Выделите .
Вернитесь к приборной панели EC2. Перейти к сетевым интерфейсам .
Выберите экземпляр EC2 без общедоступного DNS. Тогда Действия - Ассоциированный Адрес .
В поле Адрес выберите новый эластичный IP-адрес.
В поле « Связать с частным IP-адресом» выберите частный IP-адрес без общедоступного DNS.
Нажмите Связать адрес .
Ваш экземпляр EC2 теперь должен иметь публичный DNS.
источник
Изменить настройку DNS-имен хостов также можно с помощью интерфейса командной строки AWS:
(Где $ vpc_id - это идентификатор VPC, к которому прикреплен ваш экземпляр.)
Как только VPC обновляется, экземпляр получает общедоступный DNS.
источник
Для тех, кто использует CloudFormation, ключевыми свойствами являются EnableDnsSupport и EnableDnsHostnames, которые должны быть установлены в true
источник
Если экземпляр находится в VPC, убедитесь, что для параметра «Разрешение DNS» и «Имена узлов DNS» установлено значение «Да». Вы можете сделать это в пользовательском интерфейсе консоли Aws. НТН!
источник
Перейдите в консоль VPC, выберите свой VPC и нажмите меню «ДЕЙСТВИЯ», выберите «Изменить имена хостов DNS» - выберите «Да». Это должно исправить это.
источник
Вам не нужно назначать публичный IP-адрес вашему экземпляру. Вы можете использовать экземпляры NAT или NAT Gateway.
https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-comparison.html
источник
Я попытался исправить «нет общедоступного DNS», как только EC2 был запущен, я не мог добавить общедоступный DNS
это даже после выполнения описанных выше шагов, делая моды для VPC или подсети
Итак, мне пришлось внести изменения в подсеть и vpc, прежде чем запускать другой экземпляр, а затем запустить новый экземпляр.
новый экземпляр имел публичный DNS. Вот как это работает для меня.
источник