ClickHouse Cloud поддерживает cross-region PrivateLink из следующих регионов:
- sa-east-1
- il-central-1
- me-south-1
- mx-central-1
- eu-central-2
- eu-north-1
- eu-south-2
- eu-west-3
- eu-south-1
- eu-west-2
- eu-west-1
- eu-central-1
- ca-west-1
- ca-central-1
- ap-northeast-1
- ap-southeast-2
- ap-southeast-1
- ap-northeast-2
- ap-northeast-3
- ap-south-1
- ap-southeast-4
- ap-southeast-3
- ap-south-2
- ap-east-1
- af-south-1
- us-west-2
- us-west-1
- us-east-2
- us-east-1 Обратите внимание на стоимость: AWS взимает плату за межрегиональную передачу данных, подробнее о тарифах здесь.
- Получите Endpoint “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:
Если вы хотите установить межрегиональное подключение через PrivateLink, установите флажок “Cross region endpoint” и укажите регион сервиса. Регион сервиса — это регион, в котором запущен экземпляр ClickHouse.
Если возникнет ошибка “Service name couldn’t be verified.”, обратитесь в службу поддержки с запросом на добавление новых регионов в список поддерживаемых регионов.
Затем выберите VPC и подсети:
При необходимости назначьте группы безопасности и теги:
Убедитесь, что в группе безопасности разрешены порты
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 в одном регионе
Превышено время ожидания подключения к частной конечной точке
- Прикрепите группу безопасности к конечной точке VPC.
- Проверьте правила
inboundв группе безопасности, прикреплённой к конечной точке, и разрешите порты ClickHouse. - Проверьте правила
outboundв группе безопасности, прикреплённой к виртуальной машине, используемой для проверки подключения, и разрешите подключения к портам ClickHouse.
Приватное имя хоста: адрес хоста не найден
- Проверьте конфигурацию DNS
Соединение сброшено удалённой стороной
- Скорее всего, Endpoint ID не был добавлен в список разрешённых для сервиса, см. шаг
Проверка фильтров конечной точки
INSTANCE_ID, выполнив действия из этого шага.
Подключение к удалённой базе данных
Используйте AWS PrivateLink, если у вас есть клиент-серверная архитектура и вы хотите предоставить одной или нескольким VPC-потребителям однонаправленный доступ к определённому сервису или набору экземпляров в VPC поставщика сервиса. Только клиенты в VPC-потребителе могут инициировать подключение к сервису в VPC поставщика сервиса.Чтобы подключить табличные функции MySQL или PostgreSQL в ClickHouse Cloud к базе данных, размещённой в вашей AWS VPC, настройте группы безопасности AWS так, чтобы разрешить подключения из ClickHouse Cloud. См. IP-адреса egress по умолчанию для регионов ClickHouse Cloud, а также доступные статические IP-адреса.