Настройка AWS PrivateLink для открытия доступа ClickPipes к приватной RDS
Шаги по настройке доступа ClickPipes к приватной RDS через AWS PrivateLink, включая поддержку межрегионального доступа.
Создание Private Link
Выполните следующие шаги, чтобы создать VPC сервис конечной точки для вашего экземпляра RDS. Повторите эти шаги, если у вас несколько экземпляров RDS, для которых требуются сервисы конечных точек (или если для разных экземпляров используются разные порты listener):
-
Найдите свой VPC и создайте NLB
- Перейдите к целевому VPC и создайте Network Load Balancer (NLB). Обратите внимание, что NLB должен быть внутренним (private), а не общедоступным (public).
-
Настройте целевую группу
- целевая группа должна указывать на IP-адрес конечной точки и порт экземпляра RDS (обычно 5432 для PostgreSQL или 3306 для MySQL).
- ВАЖНО: Убедитесь, что в случае DB Cluster/Aurora используется конечная точка экземпляра RDS — ТОЛЬКО конечная точка записи, а НЕ общая конечная точка.
- Убедитесь, что используется протокол TCP, чтобы избежать завершения TLS на NLB.
-
Задайте порт listener
- Порт listener балансировщика нагрузки должен совпадать с портом, используемым в целевой группе (обычно 5432 для PostgreSQL или 3306 для MySQL).
-
Создайте VPC сервис конечной точки
- В VPC создайте сервис конечной точки, указывающий на NLB.
- Включите прием запросов на подключение от определенных аккаунтов.
-
Разрешите ClickPipes использовать сервис конечной точки
- Предоставьте аккаунту ClickPipes разрешение запрашивать этот сервис конечной точки.
- Настройте разрешенные субъекты, добавив следующий ID субъекта:
arn:aws:iam::072088201116:root
- Настройте разрешенные субъекты, добавив следующий ID субъекта:
- Предоставьте аккаунту ClickPipes разрешение запрашивать этот сервис конечной точки.
-
Отключите "Enforce Security Group Inbound Rules on Private Link Traffic" на NLB (если к NLB привязана группа безопасности)
- Перейдите в настройки NLB и отключите параметр "Enforce Security Group Inbound Rules on Private Link Traffic", если к NLB привязана группа безопасности.
- Если вы используете Terraform, установите для NLB атрибут
enforce_security_group_inbound_rules_on_private_link_trafficв значениеoff - Этот параметр обязателен, чтобы разрешить трафик из VPC ClickPipes к NLB.
-
Необязательно: включите поддержку межрегиональную, если регион вашей database отличается от региона ClickPipes
- В разделе
Endpoint Servicesв консоли VPC выберите ваш сервис конечной точки. - Нажмите кнопку
Actionsи выберитеModify supported Regions. - Добавьте регионы, из которых вы хотите разрешить доступ к сервису конечной точки; список регионов ClickPipes см. здесь.
- В разделе
-
Рекомендуется для MySQL
- Если вы используете MySQL, рекомендуется установить
skip_name_resolve=1как параметр в исходной базе данных. Из-за повторяющихся проверок работоспособности со стороны NLB MySQL будет блокировать хосты NLB. Установка этого параметра полностью отключает DNS lookup имен хостов, поэтому хосты NLB никогда не будут блокироваться. При использовании RDS это потребует перезапуска экземпляра.
- Если вы используете MySQL, рекомендуется установить
Инициация соединения
Когда всё будет готово, вы можете воспользоваться руководством, чтобы установить соединение
Когда в консоли статус изменится на Ready, вы можете перейти к следующему разделу, чтобы создать свой ClickPipe.
Создание ClickPipes
Используйте DNS-имя, полученное на предыдущем шаге, чтобы создать ClickPipe.
Динамическое обновление IP-адреса конечной точки RDS
Когда IP-адрес конечной точки RDS меняется (например, при перезапусках, failover или обновлениях), необходимо обновить целевую группу NLB, указав новый IP-адрес. Этот процесс можно автоматизировать с помощью AWS Lambda или других средств автоматизации.