Репликация DMS между учетными записями для экземпляров RDS за машинами Bastion

У меня есть производственные стеки внутри производственной учетной записи и стеки разработки внутри учетной записи разработчика. Стеки идентичны и настроены следующим образом:

  • Каждый стек как отдельный VPC.
  • В VPC есть две общедоступные подсети, охватывающие зоны доступности, и две частные подсети, охватывающие зоны доступности.
  • Частные подсети содержат экземпляр RDS.
  • Общедоступные подсети содержат экземпляр Bastion EC2, который может получить доступ к экземпляру RDS.

Чтобы получить доступ к экземпляру RDS, мне нужно либо подключиться к машине Bastion по SSH и получить к ней доступ оттуда, либо я создаю туннель SSH через Bastion для доступа к нему через клиентское приложение базы данных, такое как PGAdmin.

Текущая настройка DMS:

Я хотел бы иметь возможность использовать DMS (службу миграции базы данных) для репликации экземпляра RDS из производства в разработку. Пока я пытаюсь сделать следующее, но не могу заставить его работать:

Создайте пиринговое соединение VPC между Development VPC и производственным VPC. Создайте экземпляр репликации в частной подсети Development VPC. Обновите таблицы маршрутов частной подсети в Development VPC, чтобы направить трафик на CIDR производственного VPC через одноранговое соединение VPC. Группа безопасности для экземпляра репликации может получить доступ к обоим экземплярам RDS.

Основная проблема:

При создании исходной конечной точки в DMS мастер показывает только экземпляры RDS из той же учетной записи и того же региона и позволяет настраивать экземпляры RDS только с использованием имен серверов и портов, однако к экземплярам RDS в моих стеках можно получить доступ только через Машины бастиона, использующие проходку туннелей. Поэтому соединение с тестовой конечной точкой всегда не работает.

Есть идеи о том, как добиться этой репликации между учетными записями?

Есть какие-нибудь хорошие пошаговые блоги, в которых подробно рассказывается, как это сделать? Я нашел несколько, но, похоже, у них нет экземпляров RDS, сидящих за машинами-бастионами, и поэтому все они предполагают, что мастер настройки конечной точки может быть заполнен с использованием имен серверов и портов.

Большое спасибо.


person user1638152    schedule 25.03.2019    source источник


Ответы (1)


Защита экземпляров RDS с помощью хоста Bastion, конечно же, является надежной практикой безопасности для доступа разработчиков / сотрудников.

Однако для службы миграции DMS следует ожидать открытия группы безопасности как для целевого, так и для исходного экземпляров базы данных RDS, чтобы позволить экземпляру миграции иметь доступ к обоим.

Из Network Security for AWS Database Migration Service:

Экземпляр репликации должен иметь доступ к исходной и целевой конечным точкам. Группа безопасности для экземпляра репликации должна иметь сетевые списки контроля доступа или правила, разрешающие выход из экземпляра через порт базы данных к конечным точкам базы данных.

Конечные точки базы данных должны включать сетевые ACL и правила группы безопасности, разрешающие входящий доступ из экземпляра репликации. Вы можете добиться этого, используя группу безопасности экземпляра репликации, частный IP-адрес, общедоступный IP-адрес или общедоступный адрес шлюза NAT, в зависимости от вашей конфигурации.

См. https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.Network.html

Для сетевой адресации и открытия частной подсети RDS вам понадобится NAT как для источника, так и для цели. Их можно легко добавить, а затем прекратить после миграции.

Теперь вы можете использовать шлюз трансляции сетевых адресов (NAT), управляемый сервис AWS с высокой доступностью, который упрощает подключение к Интернету из экземпляров в частной подсети в виртуальном частном облаке AWS (VPC).

См. https://aws.amazon.com/about-aws/whats-new/2015/12/introduction-amazon-vpc-nat-gateway-a-managed-nat-service/

person Rodrigo M    schedule 25.03.2019
comment
Спасибо, Родриго. Думаю, я изо всех сил пытаюсь понять, как установить соединение. RDS находится в частной подсети с частным IP-адресом. Что мне делать, чтобы открыть к нему доступ? - person user1638152; 25.03.2019
comment
Вам понадобится NAT как на источнике, так и на цели. Их можно легко добавить и прекратить после миграции. - person Rodrigo M; 26.03.2019