Экземпляр EC2 не имеет общего DNS

Парень, с которым я работаю, дал мне учетные данные EC2 для входа на консоль EC2. Я не тот, кто его создал. В некоторых экземплярах отображается общедоступное имя DNS, а у других - пустой публичный DNS. Я хочу иметь возможность подключаться к экземплярам, ​​которые имеют пустой публичный DNS. Я не смог понять, почему они выглядят пустым.

Ответ 1

У меня была та же проблема, что и решена. Посмотрите пошаговые инструкции:

  • Перейдите на console.aws.amazon.com
  • Перейти к Услуги → VPC
  • Откройте Ваши VPC
  • выберите ваш VPC, подключенный к вашему EC2 и
  • выберите Действия = > Изменить имена хостов DNS --- > Изменить имена хостов DNS: YES

Надеюсь, это поможет!

Приветствия

Ответ 2

Фактически есть параметр в VPC, называемый "DNS HostNames". Вы можете изменить VPC, в котором существует экземпляр EC2, и изменить его на "Да". Это должно сделать трюк.

Я столкнулся с этим вопросом вчера и попробовал вышеупомянутый ответ от Мэнни, который не работал. Однако настройка VPC работала для меня.

В конечном итоге я добавил EIP, и я использую его для подключения.

Ответ 3

Похоже, что экземпляр был запущен в VPC, и при этом флажок для Automatically assign a public IP address to your instances не был проверен. Следовательно, экземпляр не имеет открытого IP-адреса

Вы можете назначить Elastic IP этому экземпляру и затем войти в систему с использованием этого IP-адреса.

Ответ 4

  • Перейдите в AWS Console.
  • Перейдите в раздел Службы и выберите VPC
  • Нажмите vpc.
  • выберите экземпляр и нажмите "Действие".
  • Выберите "Изменить имя хоста DNS", нажмите "Да".

В конце вы получите свои публичные DNS.

Ответ 5

Это подсказка для решения проблемы, которая не работает:

Совет. Если ваш экземпляр не имеет открытого DNS-имени, откройте консоль VPC, выберите VPC и проверьте вкладку "Сводка". Если DNS-разрешение или имена хостов DNS нет, нажмите "Изменить" и измените значение на "Да".

Предполагая, что вы это сделали, и вы по-прежнему не получаете публичный IP-адрес, а затем переходите к подсети, находящейся на вопросе на экране администрирования VPC, и вы, вероятно, обнаружите, что для параметра "Автоматический присвоение общедоступного IP-адреса" не установлен "Да". Измените этот параметр, и я знаю, что вы не хотите здесь, создайте новый экземпляр в этой подсети. Насколько я могу судить, вы не можете изменить это на хосте, я попытался и попробовал, просто прекратить его.

Ответ 6

В моем случае я нашел ответ от slayedbylucifer и другие, которые указывают на то же самое, действительны.
Даже если установлено, что DNS hostname: yes, на my-pvc публичный IP не назначается (только Privat IP).

Определенно, что Автоматически назначить общедоступный IP-адрес Enable.
Если он не выбран, то по умолчанию он устанавливается на Use subnet setting (Disable)

Назначить публичный IP

Ответ 7

Просто запустите другой экземпляр (а также удалите его, если он не используется) и убедитесь, что на этот раз вы проверяете "Автоматически назначать публичный IP-адрес вашему экземпляру". Если нет, то, как предложил slayedbylucifer; назначить Elastic IP (EIP) экземпляру и затем войти в систему с использованием этого IP-адреса. Будьте осторожны, хотя, если вы используете бесплатный AWS-уровень, EIP будет стоить вам денег - это целая "тема".

Ответ 8

Для меня проблема была в настройках подсети.

  • Откройте https://console.aws.amazon.com/vpc
  • Перейдите в подсети в левом меню
  • Выберите свою подсеть
  • Изменить автоматическое назначение настроек IP для включения

Ответ 9

Прежде всего, для этого могут быть две причины:

  • Вы создали свой собственный VPC и забыли включить Public DNS.

Чтобы решить эту проблему:

i) Перейдите в консоль VPS VPC и выберите созданный VPC.

ii) Затем нажмите "Действия", а затем включите разрешение DNS.

            OR
  1. В конфигурации EC2 вы не включили опцию public ip-assign.

Здесь вы не можете изменить настройку; поэтому создайте изображение ami, а затем заново создайте экземпляр из этого.

Ответ 10

Перейдите на консоль VPC, выберите VPC и нажмите меню ACTIONS, выберите "Редактировать имена хостов DNS" - выберите "Да". Это должно исправить это.

Ответ 11

Если экземпляр находится в VPC, убедитесь, что для параметра "Разрешение DNS" и "DNS-имена хостов" установлено значение "да". Вы можете сделать это в пользовательском интерфейсе консоли Aws. НТН!

Ответ 12

Для тех, кто использует CloudFormation, ключевыми свойствами являются EnableDnsSupport и EnableDnsHostnames, для которых должно быть установлено значение true

VPC: {
    Type: 'AWS::EC2::VPC',
    Properties: {
      CidrBlock: '10.0.0.0/16',
      EnableDnsSupport: true,
      EnableDnsHostnames: true,
      InstanceTenancy: 'default',
      Tags: [
        {
          Key: 'env',
          Value: 'dev'
        }]
    }
  }

Ответ 13

Изменение параметра DNS Hostnames также может быть выполнено с помощью AWS CLI:

aws ec2 modify-vpc-attribute --vpc-id $vpc_id --enable-dns-hostnames '{"Value": true}'

(Где $vpc_id - это идентификатор VPC, к которому прикреплен ваш экземпляр.)

Как только VPC будет обновлен, экземпляр получит общедоступный DNS.