Я настроил VPC, используя сценарий 2 из Документов AWS: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html
Я назначил эластичный IP-адрес экземпляру EC2, работающему в общедоступной подсети. SSH работает нормально, и я могу получить доступ к веб-сайту, работающему на нем. Однако я не могу делать исходящие запросы HTTP или HTTPS (я заметил это при попытке запустить yum update
).
Я считаю, что все мои настройки безопасности верны. Могу ли я выполнять исходящие запросы HTTP / HTTPS через интернет-шлюз? Я специально просил не назначать публичный IP-адрес этому экземпляру при создании, потому что я знал, что собираюсь назначить эластичный IP-адрес, который понравится DNS веб-сайта. У меня есть настройка NAT для экземпляров в частной подсети, но в настоящее время у меня работают только экземпляры RDS, поэтому я не тестировал исходящие запросы оттуда.
Группа безопасности для этого экземпляра EC2 имеет следующие исходящие правила:
Таблица маршрутов для этой подсети имеет следующие параметры:
Сетевой ACL имеет следующие настройки:
Набор опций DHCP по умолчанию имеет следующие настройки:
domain-name = ec2.internal
domain-name-servers = AmazonProvidedDNS
По умолчанию /etc/resolv.conf
настройки:
search ec2.internal
nameserver 10.0.0.2
Блоки CIDR для VPC и подсетей следующие:
VPC: 10.0.0.0/16
Public Subnet: 10.0.0.0/24
Private DB Subnet in US East 1A: 10.0.1.0/24
Private DB Subnet in US East 1C: 10.0.2.0/24
Все еще удивляет
Почему в этом случае не работает предоставленный DNS-сервер AWS?
ПРОБЛЕМА
Проблема заключалась в том, что имена DNS не разрешались через локальный DNS-сервер, чем предоставленный Amazon при первоначальном создании VPC. Я обнаружил, что могу устанавливать исходящие HTTP / HTTPS-соединения с IP-адресами, для разрешения которых не нужно связываться с DNS-сервером.
РЕШЕНИЕ
Мне пришлось создать настраиваемый набор параметров DHCP в консоли Amazon VPC AWS и установить общедоступные IP-адреса DNS Google как domain-name-servers = 8.8.8.8, 8.8.4.4
.
Потом пришлось обновить /etc/resolv.conf
установка того же:
nameserver 8.8.8.8
nameserver 8.8.4.4