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

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

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

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

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

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

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

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

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

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

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

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

1 Ответ

0 голосов
/ 25 марта 2019

Защита экземпляров 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/

...