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

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

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

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

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

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

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

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

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

Любые идеи о том, как добиться этой кросс-учетной записи?

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

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

1 ответ

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

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

Из службы сетевой безопасности для службы миграции баз данных AWS:

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

Конечные точки базы данных должны включать сетевые 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/introducing-amazon-vpc-nat-gateway-a-managed-nat-service/

Другие вопросы по тегам