Назад | Перейти на главную страницу

Разрешение AWS DNS разрешает только внутренний IP-адрес в одну сторону?

У меня три экземпляра в двух отдельных VPC. Я установил пиринг между VPC, оба VPC имеют разрешение DNS и DNS-имена хостов, в пиринговом соединении включен параметр «Разрешить DNS-разрешение от однорангового VPC [...]», а в таблицах маршрутизации для обоих VPC есть записи для маршрутизации через одноранговое соединение с адресным пространством другого VPC.

Назовем их экземпляром 1 (который находится в VPC A) и экземплярами 2 и 3 (которые находятся в VPC B) ...

При моих текущих настройках звоню nslookup ec2-[instance2].compute-1.amazonaws.com на экземпляре 1 возвращается адрес 10.x.x.x для экземпляра 2, а имя хоста amazonaws.com для экземпляра 3 возвращает адрес 10.x.x.x для экземпляра 3. Это соответствует ожиданиям.

ОДНАКО, когда я звоню nslookup ec2-[instance1].compute-1.amazonaws.com из экземпляра 2 или экземпляра 3 он возвращает публичный адрес 54.x.x.x для экземпляра 1 вместо своего адреса 10.x.x.x.

Что я упускаю или делаю не так? Я мог делать это раньше (много месяцев назад), я не понимаю, почему это не работает сейчас.

Консоль, похоже, не позволяет вам настраивать это на обеих сторонах соединения, когда одна и та же учетная запись AWS владеет VPC как «запрашивающий», так и «принимающий», поэтому одностороннее разрешение, похоже, единственное, что вы действительно можете настроить с консоли - разрешить можно только хосты VPC запрашивающей стороны.

Похоже, вы можете исправить это с помощью aws-cli.

aws ec2 modify-vpc-peering-connection-options \
    --vpc-peering-connection-id 'pcx-xxxxxxxx" \
    --requester-peering-connection-options '{"AllowDnsResolutionFromRemoteVpc":true}' \
    --accepter-peering-connection-options '{"AllowDnsResolutionFromRemoteVpc":true}' \
    --region us-east-1

Разрывы строк для ясности, укажите в регионе VPC --region вариант и идентификатор вашего пирингового соединения с --vpc-peering-connection-id.

Действительно, вышеизложенное изменяет значение, возвращаемое aws ec2 describe-vpc-peering-connections, которое ранее показывало ложь с одной стороны и истину с другой после установки флажка в консоли.

Несколько необычно, но вполне вероятно, что возможности не включаются в консоль, а доступны только через API.