> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Сетевая безопасность BYOC

> Развертывание ClickHouse в собственной облачной инфраструктуре

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

<div id="connection-between-clickhouse-and-byoc">
  ## Соединения между плоскостью управления ClickHouse и вашей VPC BYOC
</div>

Плоскость управления ClickHouse Cloud поддерживает несколько типов подключений, необходимых для работы и сопровождения вашего развертывания BYOC:

| Назначение                                        | Тип соединения                                                         | Примечания                                                                                                                                                                                                                             |
| ------------------------------------------------- | ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Повседневные операции — API-сервер Kubernetes** | Публичное подключение с фильтрацией по IP (по умолчанию) или Tailscale | Сервисы управления взаимодействуют с API-сервером EKS через публичную сеть; доступ ограничен списками разрешённых IP-адресов. После первоначального развертывания при желании можно переключиться на Tailscale для приватного доступа. |
| **Повседневные операции — API AWS**               | VPC ClickHouse → AWS                                                   | Сервисы управления вызывают API AWS (например, EKS, EC2) из собственной VPC ClickHouse Cloud в AWS. Это не задействует ни вашу VPC, ни Tailscale.                                                                                      |
| **Устранение неполадок — сервис ClickHouse**      | Tailscale                                                              | Инженеры ClickHouse получают доступ к сервису ClickHouse (например, к системным таблицам) для диагностики через Tailscale.                                                                                                             |
| **Устранение неполадок — API-сервер Kubernetes**  | Tailscale                                                              | Инженеры ClickHouse получают доступ к API-серверу EKS для диагностики кластера через Tailscale.                                                                                                                                        |

В следующем разделе описано, как частная сеть **Tailscale** используется для устранения неполадок и, при необходимости, для доступа к управлению.

<div id="tailscale-private-network">
  ## Частная сеть Tailscale
</div>

Tailscale обеспечивает подключение к частной сети с нулевым доверием между сервисом управления ClickHouse Cloud и вашим развертыванием BYOC. Этот защищенный канал позволяет инженерам ClickHouse выполнять диагностику и операции управления без необходимости предоставлять публичный доступ в интернет или настраивать сложные VPN-конфигурации.

<div id="tailscale-overview">
  ### Обзор
</div>

Tailscale создает зашифрованный частный сетевой туннель между плоскостью управления ClickHouse (в VPC ClickHouse) и вашей плоскостью данных BYOC (в вашей VPC). Это соединение используется исключительно для:

* **Операций управления**: сервисы управления ClickHouse координируют работу с вашей инфраструктурой BYOC
* **Доступа для устранения неполадок**: инженеры ClickHouse получают доступ к API-серверам Kubernetes и системным таблицам ClickHouse для диагностики
* **Доступа к метрикам**: централизованные панели мониторинга ClickHouse получают метрики из стека Prometheus, развернутого в вашей VPC BYOC, обеспечивая инженерам ClickHouse обсервабилити этой среды.

<Warning>
  Tailscale используется **только для операций управления и устранения неполадок**. Он **никогда не используется для передачи трафика запросов** или доступа к данным клиентов. Все данные клиентов остаются в вашей VPC и никогда не передаются через Tailscale.
</Warning>

<div id="how-tailscale-works">
  ### Как работает Tailscale в BYOC
</div>

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/Rni6DhA8claMk_Qk/images/cloud/reference/byoc-tailscale-1.png?fit=max&auto=format&n=Rni6DhA8claMk_Qk&q=85&s=08e255b25144b4c83b311ce3e294e6c5" size="lg" alt="BYOC Tailscale" border width="3484" height="1792" data-path="images/cloud/reference/byoc-tailscale-1.png" />

Для каждого сервиса или конечной точки, к которым нужен доступ через Tailscale, ClickHouse BYOC развертывает:

1. **Регистрация адреса tailnet**: Каждая конечная точка регистрирует уникальный адрес tailnet (например, `k8s.xxxx.us-east-1.aws.byoc.clickhouse-prd.com` для API-сервера Kubernetes)

2. **Контейнер агента Tailscale**: В вашем кластере EKS запускается контейнер агента Tailscale, который отвечает за:
   * Подключение к серверу координации Tailscale
   * Регистрацию сервисов, чтобы их можно было обнаруживать
   * Координацию настройки сети с подами Nginx

3. **Под Nginx**: Под Nginx, который:
   * Терминирует TLS-трафик из Tailscale
   * Маршрутизирует трафик на соответствующие IP-адреса внутри вашего кластера EKS

<div id="tailscale-connection-process">
  ### Процесс сетевого соединения
</div>

Установление соединения в Tailscale включает следующие этапы:

1. **Начальное подключение**:
   * Агенты Tailscale на обеих сторонах (в среде инженера ClickHouse и в вашем кластере BYOC EKS) подключаются к серверу координации Tailscale
   * Агент кластера EKS регистрирует сервис Kubernetes, чтобы он стал доступен для обнаружения
   * Инженеры ClickHouse должны пройти внутреннюю эскалацию, чтобы получить доступ к сервису

2. **Режим подключения**:
   * **Прямой режим**: агенты пытаются установить прямое соединение через туннель с обходом NAT
   * **Релейный режим**: если установить прямое соединение не удается, обмен данными переключается в релейный режим через сервер Tailscale DERP (Distributed Encrypted Relay Protocol)

3. **Шифрование**:
   * Весь обмен данными шифруется по схеме end-to-end
   * Каждый агент Tailscale генерирует собственную пару открытого и закрытого ключей (аналогично PKI)
   * Трафик остается зашифрованным независимо от того, используется прямой или релейный режим

<div id="tailscale-security">
  ### Функции безопасности
</div>

**Только исходящие соединения**:

* Агенты Tailscale в вашем кластере EKS инициируют исходящие соединения с серверами координации и ретрансляции Tailscale
* **Входящие соединения не требуются** — правила Security Group не должны разрешать входящий трафик к агентам Tailscale
* Это снижает поверхность атаки и упрощает настройку сетевой безопасности

**Управление доступом**:

* Прежде чем Tailscale сможет направить их к конечной точке клиента, инженеры должны запросить доступ через внутренний процесс согласования
* Доступ ограничен по времени и автоматически истекает
* Все обращения проходят аудит и записываются в журнал

Полную политику доступа к данным — что могут видеть инженеры, аутентификацию по сертификатам и аудит на стороне клиента — см. в разделе [доступ ClickHouse к данным](/ru/products/bring-your-own-cloud/reference/clickhouse-data-access).

<div id="management-services-access">
  ### Доступ сервисов управления
</div>

По умолчанию сервисы управления ClickHouse получают доступ к вашему Kubernetes-кластеру BYOC через публичный IP-адрес API-сервера EKS, к которому разрешён доступ только с IP-адресов шлюза NAT ClickHouse.

**Необязательная настройка частной конечной точки**:

* Вы можете настроить API-сервер EKS так, чтобы он использовал только частную конечную точку
* В этом случае сервисы управления получают доступ к API-серверу через Tailscale (аналогично доступу для устранения неполадок у пользователей)
* Публичный доступ сохраняется как резервный механизм для экстренной диагностики и задач поддержки

<div id="tailscale-traffic-flow">
  ### Поток сетевого трафика
</div>

**Схема соединения Tailscale**:

1. Агент Tailscale в кластере EKS → сервер координации Tailscale (исходящее соединение)
2. Агент Tailscale на машине инженера → сервер координации Tailscale (исходящее соединение)
3. Между агентами устанавливается прямое соединение или соединение через ретранслятор
4. Зашифрованный трафик проходит через установленный туннель
5. Под Nginx в EKS завершает TLS и маршрутизирует трафик к внутренним сервисам

**Передача данных клиентов отсутствует**:

* Соединения Tailscale используются только для управления и устранения неполадок
* Трафик запросов и данные клиентов никогда не проходят через Tailscale
* Все данные клиентов остаются в пределах вашего VPC

Более подробную техническую информацию о том, как Tailscale реализован в BYOC, см. в [статье в блоге Building ClickHouse BYOC on AWS](https://clickhouse.com/blog/building-clickhouse-byoc-on-aws#tailscale-connection). О том, какие данные могут читать инженеры ClickHouse после подключения и как ClickHouse аудирует этот доступ, см. в разделе [доступ ClickHouse к данным](/ru/products/bring-your-own-cloud/reference/clickhouse-data-access).

<div id="network-boundaries">
  ## Сетевые границы
</div>

В этом разделе рассматриваются различные типы сетевого трафика в VPC BYOC клиента и из неё:

* **Входящий**: трафик, поступающий в VPC BYOC клиента.
* **Исходящий**: трафик, исходящий из VPC BYOC клиента и направляемый во внешний пункт назначения.
* **Публичный**: сетевая конечная точка, доступная из публичного интернета.
* **Приватный**: сетевая конечная точка, доступная только через приватные подключения, такие как пиринг VPC, VPC Private Link или Tailscale.

**Входной шлюз Istio развёрнут за AWS NLB для приёма трафика от клиента ClickHouse.**

*Входящий, публичный или приватный*

Входной шлюз Istio завершает TLS. Сертификат, выпущенный CertManager с помощью Let's Encrypt, хранится как secret внутри кластера EKS. Трафик между Istio и ClickHouse [шифруется средствами AWS](https://docs.aws.amazon.com/whitepapers/latest/logical-separation/encrypting-data-at-rest-and--in-transit.html#:~:text=All%20network%20traffic%20between%20AWS,supported%20Amazon%20EC2%20instance%20types), поскольку они находятся в одной VPC.

По умолчанию входной шлюз общедоступен с фильтрацией по списку разрешённых IP-адресов. Клиенты могут настроить пиринг VPC, чтобы сделать его приватным и отключить публичные подключения. Мы настоятельно рекомендуем настроить [IP-фильтр](/ru/products/cloud/guides/security/connectivity/setting-ip-filters), чтобы ограничить доступ.

<div id="troubleshooting-access">
  ### Доступ для устранения неполадок
</div>

*Входящий, приватный*

Инженерам ClickHouse Cloud требуется доступ для устранения неполадок через Tailscale. Для развертываний BYOC им предоставляется аутентификация по сертификатам по модели just-in-time. Полную политику доступа см. в разделе [доступ ClickHouse к данным](/ru/products/bring-your-own-cloud/reference/clickhouse-data-access).

<div id="billing-scraper">
  ### Скрапер биллинга
</div>

*Исходящий, приватный*

Скрапер биллинга собирает данные о биллинге из ClickHouse и отправляет их в S3 бакет, принадлежащий ClickHouse Cloud.

Он работает как sidecar рядом с контейнером ClickHouse server, периодически собирая метрики CPU и памяти. Запросы в том же регионе маршрутизируются через сервисные конечные точки шлюза VPC.

<div id="alerts">
  ### Оповещения
</div>

*Исходящий, публичный*

AlertManager настроен на отправку оповещений в ClickHouse Cloud, если кластер ClickHouse клиента работает некорректно.

Метрики и журналы хранятся внутри BYOC VPC клиента. В настоящее время журналы хранятся локально в EBS. В одном из следующих обновлений они будут храниться в LogHouse, сервисе ClickHouse внутри BYOC VPC. Для метрик используется стек Prometheus и Thanos, размещенный локально в BYOC VPC клиента.

<div id="service-state">
  ### Состояние сервиса
</div>

*Исходящий, публичный*

State Exporter отправляет сведения о состоянии сервиса ClickHouse в SQS, принадлежащую ClickHouse Cloud.
