![Маршрут 53 — делегирование записи APEX между счетами](https://rvso.com/image/756225/%D0%9C%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%2053%20%E2%80%94%20%D0%B4%D0%B5%D0%BB%D0%B5%D0%B3%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8%20APEX%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83%20%D1%81%D1%87%D0%B5%D1%82%D0%B0%D0%BC%D0%B8.png)
Мы внедряем стек AWS serverless с несколькими средами. Стараясь следовать лучшим практикам, мы создали несколько учетных записей для разных целей.
ЕстьДНСаккаунт, который должен содержать все размещенные зоны, связанные с этим проектом. Он имеет размещенную зону для example.org
.
У нас есть несколько сред и соответствующий аккаунт для каждой. Сейчас я сосредоточусь надевипродукт.
Вот как должна выглядеть конфигурация хоста:
РАЗРАБОТКА
- app.dev.example.org (дистрибуция CloudFront в аккаунте разработчика)
- login.dev.example.org (дистрибутив CloudFront для Cognito Hosted UI в учетной записи разработчика)
- api.dev.example.org (API Gateway в учетной записи разработчика)
- cdn.dev.example.org (дистрибуция CloudFront в аккаунте разработчика)
ПРОИЗВОДСТВО
- example.org (дистрибуция CloudFront в аккаунте prod)
- login.example.org (дистрибутив CloudFront для Cognito Hosted UI в учетной записи prod)
- api.example.org (API Gateway в учетной записи prod)
- cdn.example.org (дистрибуция CloudFront в учетной записи prod)
девпросто. Настройка NS-записей для поддомена dev.example.org
с использованием NS-серверов из размещенной зоны dev.example.org
вдевсчет и все готово.
продуктэто сложно, так как мы хотели бы использовать запись APEX example.org
. Кроме того, login.example.org
и api.example.org
не cdn.example.org
имеют общего поддомена.
В поисках возможных решений я пришел к следующим вариантам:
- Вместо этого создайте размещенную зону для
example.org
учетной записи в производстве. Делегируйте поддомены другим учетным записям (т.е.дев) оттуда. - (Не уверен): Создайте повторно используемый набор делегирования. Таким образом можно создать две размещенные зоны (если я правильно понял), одну вДНСсчет и один впродуктаккаунт. Они будут использовать одни и те же серверы имен. Я не смог выяснить, работает ли это между аккаунтами, и пока не проверял.
- (Не уверен): Настройка размещенных зон впродуктдля каждого
login.example.org
,api.example.org
иcdn.example.org
. Это позволит устанавливать записи APEX поддоменов изprod
учетной записи. Это не решение для записи APEXexample.org
. Кроме того, это 3 дополнительные размещенные зоны (только для выполнения обходного пути).
Я хотел посмотреть, не упустил ли я чего-то фундаментального и/или у кого-то была похожая ситуация и альтернативное/лучшее решение. Этот вариант использования не должен быть слишком экзотическим?
решение1
Выберите 1 — это самый простой вариант.
Или 4 — используйте кросс-аккаунтный доступ для вставки записей в зону в учетной записи «dns» из учетной записи «prod».
Также обратите внимание, что записи ALIAS могут указывать на ресурсы в других учетных записях, они не обязательно должны находиться в одной и той же.
Надеюсь, это поможет :)