Как реализовать конфигурацию с указанием региона c для стека и ресурсов CloudFormation AWS - PullRequest
0 голосов
/ 28 февраля 2020

Сценарий:

  1. Нам необходимо создать стек CloudFormation с определенным набором ресурсов, таких как Lambda, API Gateway, DynamoDB, ElasticSearch et c.
  2. Эти стеки должны быть развернуты в нескольких регионах, чтобы быть более точными c 5 различных областей, таких как Орегон, Сидней и др. c.
  3. Каждый стек имеет различную конфигурацию в зависимости от региона, например, автоматическое масштабирование DynamoDB значения различаются для каждого региона и типов лямбда-параллелизма или экземпляров для ElasticSearch et c. указаны регионы c.

Что мы в настоящее время делаем:

В настоящее время у нас есть один шаблон CloudFormation с Mappings , определенным для значения региона c. то есть мы используем условные функции , как if-else, чтобы проверить текущую AWS область, и на основании этого мы выбираем отображение для этой области.

Проблема:

  • По мере роста потребности в поддержке все большего количества регионов размер сопоставлений также увеличивается
  • Для каждого добавляемого нового ресурса нам необходимо обновлять сопоставление, чтобы добавить конфигурацию для нового ресурса
  • Поддержка нескольких регионов и конфигураций ресурсов, а также условий, которые становятся неуправляемыми

Ожидание:

Мы ищем комплексное решение для поддержки нескольких регионов с использованием тот же шаблон CloudFormation и необходимо избавиться от отображений и найти более управляемый способ обработки конфигураций, заданных для региона c.

Любая помощь высоко ценится.

1 Ответ

1 голос
/ 29 февраля 2020

Вы можете использовать параметры SSM для решения вашей проблемы. Если вы не знаете, SSM позволяет хранить параметры в вашей среде AWS. Параметры относятся к каждому региону. Процедура будет такой:

  1. Создать шаблон CloudFormation со всеми параметрами. Создайте стек в каждом регионе, используя определенные значения для этого региона;
  2. Измените текущий шаблон для чтения параметров из хранилища параметров вместо карты параметров;
  3. Создайте свой основной стек.

Вы можете найти больше информации об этой функции здесь .

...