Как вручную добавить записи DNS в размещенную зону, управляемую обнаружением службы AWS ECS? - PullRequest
1 голос
/ 07 ноября 2019

Я использую обнаружение служб для контейнеров в AWS ECS, для частной размещенной зоны staging.example.com..

Теперь, рядом с контейнерами, я хотел бы сопоставить базу данных AWS RDS с db.staging.example.com. Однако я не могу изменить размещенную зону Route53, так как AWS отказывает мне в доступе, поскольку зона управляется обнаружением службы

AccessDenied: The resource hostedzone/*** can only be managed through servicediscovery.amazonaws.com (***)

. Любые советы о том, как я могу выполнить свой пользовательский поддомен, очень приветствуются. Существует также Cloud Map и App Mesh в качестве сервисов AWS с аналогичными целями в отношении управления DNS, но я не смог найти никакой документации относительно моего сценария.

1 Ответ

0 голосов
/ 12 ноября 2019

Оказывается, AWS Service Discovery использует API Cloud Map для выполнения своих услуг. Он регистрирует контейнеры в размещенной зоне, добавляя записи SRV, которые ссылаются на записи A и определенные порты. Это означает, что ваши клиенты должны понимать эти SRV записи, поскольку они не получат A записи сразу при выполнении поиска DNS. Керл, например, не понимает SRV записей .

Поэтому я вернулся к использованию ECS с автоматической регистрацией балансировщика нагрузки. Затем ECS зарегистрирует новые службы в целевой группе, которая ранее была сопоставлена ​​с прослушивателем балансировщика нагрузки. Затем записи DNS управляются полностью независимо, добавляя некоторые записи псевдонимов, которые указывают на балансировщик нагрузки, в то время как другие, такие как запись db.staging.example.com, используют псевдоним конечной точки баз данных RDS.

Поскольку службы ECS могут регистрировать себя в несколькихцелевые группы, вы также можете использовать несколько балансировщиков нагрузки, например один для публичного доступа и один доступный только в вашем VPC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...