mx-central-1 является разрешённым регионом потребителя, хотя сервисы, размещённые в нём, не могут включить межрегиональный доступ.
AWS взимает плату за межрегиональную передачу данных. Подробнее см. в разделе тарифы AWS PrivateLink.
- Получите значение “Service name” для конечной точки.
- Создайте AWS endpoint.
- Добавьте “Endpoint ID” в организацию ClickHouse Cloud.
- Добавьте “Endpoint ID” в список разрешённых для сервиса ClickHouse.
Важные замечания
Необходимые условия для этого процесса
- Ваша учетная запись AWS.
- API key ClickHouse с необходимыми разрешениями для создания частных конечных точек и управления ими на стороне ClickHouse.
Шаги
Получение значения «Service name» для конечной точки
Вариант 1: консоль ClickHouse Cloud
Service name и DNS name, затем перейдите к следующему шагу.
Вариант 2: API
INSTANCE_ID ClickHouse, отфильтровав по региону, провайдеру и Service name:
endpointServiceId и privateDnsHostname для конфигурации PrivateLink:
endpointServiceId и privateDnsHostname, затем перейдите к следующему шагу.
Создание AWS endpoint
Вариант 1: консоль AWS
Service nameконсоль или endpointServiceIdAPI, полученные на шаге получения значения «Service name» для конечной точки . Нажмите Verify service:
Для межрегионального подключения установите флажок Cross region endpoint и укажите регион сервиса, в котором запущен ваш сервис ClickHouse.
Убедитесь, что в группе безопасности разрешены порты
443, 8443, 9440, 3306.Endpoint ID; оно понадобится вам на следующем шаге.
Вариант 2: AWS CloudFormation
Service nameконсоль или endpointServiceIdAPI, полученные на шаге получения значения «Service name» для конечной точки .
Убедитесь, что используете правильные идентификаторы подсетей, групп безопасности и VPC.
Endpoint ID; оно понадобится на одном из следующих шагов.
Вариант 3: Terraform
service_name ниже — это Service nameконсоль или endpointServiceIdAPI, полученные на шаге получения значения «Service name» для конечной точки
Endpoint ID; оно понадобится вам на следующем шаге.
Настройте частное DNS-имя для конечной точки
Существует несколько способов настройки DNS. Настройте DNS в соответствии с вашим сценарием использования.
Добавьте «Endpoint ID» в список разрешённых для сервиса ClickHouse»
Вариант 1: консоль ClickHouse Cloud
Endpoint ID, полученный на шаге создание AWS endpoint. Нажмите “Create endpoint”.
Если вы хотите разрешить доступ через существующее подключение PrivateLink, используйте раскрывающееся меню существующей конечной точки.
Вариант 2: API
ENDPOINT_ID, используя данные из шага создание AWS endpoint.
Перед выполнением каких-либо команд задайте следующие переменные окружения:
Доступ к экземпляру через PrivateLink
privateDnsHostnameAPI или DNS Nameconsole из шага получение значения «Service name» для конечной точки.
Получение частного DNS-имени
Вариант 1: консоль ClickHouse Cloud
Вариант 2: API
INSTANCE_ID на этом шаге.
privateDnsHostname будет маршрутизироваться через PrivateLink, а подключение по имени хоста endpointServiceId — через Интернет.
Устранение неполадок
Несколько PrivateLink в одном регионе
Несколько PrivateLink в одном регионе
В большинстве случаев для каждой VPC достаточно создать один сервис конечной точки. Эта конечная точка может маршрутизировать запросы из VPC к нескольким сервисам ClickHouse Cloud.
См. здесь
Время ожидания подключения к частной конечной точке истекло
Время ожидания подключения к частной конечной точке истекло
- Подключите группу безопасности к VPC Endpoint.
- Проверьте правила
inboundв группе безопасности, подключённой к Endpoint, и разрешите доступ к портам ClickHouse. - Проверьте правила
outboundв группе безопасности, подключённой к VM, используемой для проверки подключения, и разрешите подключения к портам ClickHouse.
Частное имя хоста: адрес хоста не найден
Частное имя хоста: адрес хоста не найден
- Проверьте конфигурацию DNS
Соединение сброшено удалённой стороной
Соединение сброшено удалённой стороной
- Скорее всего, Endpoint ID не был добавлен в список разрешённых для сервиса; см. шаг
Проверка фильтров конечных точек
Проверка фильтров конечных точек
Перед выполнением каких-либо команд задайте следующие переменные среды:Вы можете получить
INSTANCE_ID из шага.Подключение к удалённой базе данных
Подключение к удалённой базе данных
Согласно документации AWS PrivateLink:
Используйте AWS PrivateLink, если у вас есть клиент-серверная архитектура и вы хотите предоставить одной или нескольким VPC-потребителям однонаправленный доступ к определённому сервису или набору экземпляров в VPC поставщика сервиса. Только клиенты в VPC-потребителе могут инициировать подключение к сервису в VPC поставщика сервиса.Чтобы подключить табличные функции MySQL или PostgreSQL в ClickHouse Cloud к базе данных, размещённой в вашей AWS VPC, настройте группы безопасности AWS так, чтобы разрешить подключения из ClickHouse Cloud. См. IP-адреса egress по умолчанию для регионов ClickHouse Cloud, а также доступные статические IP-адреса.