Перейти к основному содержимому
Перейти к основному содержимому

Архитектура

Ключевые понятия

Диаграмма ниже показывает, как между собой связаны организации ClickHouse Cloud, облачные аккаунты и инфраструктура BYOC.

Иерархия организаций BYOC, показывающая связь между организациями, облачными аккаунтами, регионами и инфраструктурой BYOCClickHouse Cloud OrgClickHouse BYOC OrgUsersAWS Account 1123456789012AWS Account 2987654321098GCP Project 1my-gcp-projectus-east-1us-west-2us-west-2europe-west1BYOC Infra 1VPC | K8s Cluster | S3 BucketsClickHouse Service 1ClickHouse Service 2ClickHouse Service 3BYOC Infra 2VPC | K8s Cluster | S3 BucketsClickHouse Service 4ClickHouse Service 5BYOC Infra 3VPC | K8s Cluster | S3 BucketsClickHouse Service 6BYOC Infra 4VPC | GKE Cluster | GCS BucketsClickHouse Service 7Cloud Account / ProjectRegionBYOC InfrastructureClickHouse ServiceOrganization
  • Организация ClickHouse Cloud: Сущность верхнего уровня в ClickHouse Cloud, которая управляет пользователями, биллингом и сервисами ClickHouse, не относящимися к BYOC. Пользователи организации могут получать доступ как к стандартным сервисам Cloud, так и к сервисам BYOC.
  • Организация ClickHouse BYOC: Отдельная организация для управления развертываниями BYOC. Она использует тех же пользователей, что и организация Cloud, но связана с одним или несколькими облачными аккаунтами, в которых развернута инфраструктура BYOC.
  • Cloud Account / Project: Принадлежащая клиенту учетная запись AWS или проект GCP, в котором развертывается инфраструктура BYOC. В каждом аккаунте или проекте можно размещать развертывания BYOC в одном или нескольких регионах. Для изоляции рекомендуется выделять отдельный аккаунт или проект для каждого развертывания BYOC.
  • Инфраструктура BYOC: Набор облачных ресурсов, развернутых в определенном регионе облачного аккаунта, включая VPC, кластер Kubernetes (EKS/GKE), бакеты хранилища, роли IAM и вспомогательные сервисы. Один облачный аккаунт может содержать несколько инфраструктур BYOC в разных регионах.
  • Сервис ClickHouse: Отдельный кластер ClickHouse, работающий в инфраструктуре BYOC. В одной инфраструктуре BYOC может работать несколько сервисов.

Глоссарий

  • ClickHouse VPC: VPC, принадлежащая ClickHouse Cloud.
  • Customer BYOC VPC: VPC, принадлежащая облачному аккаунту клиента, подготавливается и управляется ClickHouse Cloud и выделяется для развертывания ClickHouse Cloud BYOC.
  • Customer VPC: Другие VPC, принадлежащие облачному аккаунту клиента и используемые приложениями, которым необходимо подключаться к Customer BYOC VPC.

Техническая архитектура

BYOC разделяет плоскость управления ClickHouse (ClickHouse control plane), которая работает в VPC ClickHouse, и плоскость данных (data plane), которая полностью работает в вашем облачном аккаунте. VPC ClickHouse размещает ClickHouse Cloud Console, аутентификацию, управление пользователями, API, биллинг и компоненты управления инфраструктурой, такие как контроллер BYOC, а также инструменты оповещения и реагирования на инциденты. Эти сервисы оркестрируют и мониторят ваше развертывание, но не хранят ваши данные.

В вашей клиентской BYOC VPC ClickHouse разворачивает кластер Kubernetes (например, Amazon EKS), который реализует плоскость данных ClickHouse. Как показано на диаграмме, это включает сам кластер ClickHouse, оператор ClickHouse и вспомогательные сервисы, такие как входной шлюз (Входной шлюз / Ingress), DNS, управление сертификатами, экспортеры состояния и сборщики. Также в вашей VPC работает выделенный стек мониторинга (Prometheus, Grafana, Alertmanager и Thanos), что гарантирует, что метрики и оповещения формируются в вашей среде и остаются в ней.


Архитектура BYOC

Основные облачные ресурсы, которые ClickHouse Cloud развернет в вашем аккаунте:

  • VPC: виртуальная частная сеть (Virtual Private Cloud), выделенная для вашего развертывания ClickHouse. Она может управляться как ClickHouse, так и вами, клиентом, и обычно пирингуется с вашими VPC приложений.
  • Роли и политики IAM: роли и разрешения, необходимые для Kubernetes, сервисов ClickHouse и стека мониторинга. Они могут быть созданы ClickHouse или предоставлены клиентом.
  • Бакеты хранилища: используются для хранения частей, резервных копий и (опционально) долгосрочных метрик и архивов логов.
  • Кластер Kubernetes: это может быть Amazon EKS, Google GKE или Azure AKS, в зависимости от вашего облачного провайдера; он размещает серверы ClickHouse и вспомогательные сервисы, показанные на архитектурной диаграмме.

По умолчанию ClickHouse Cloud создает новую выделенную VPC и настраивает необходимые роли IAM, чтобы обеспечить безопасную работу сервисов Kubernetes. Для организаций с расширенными требованиями к сети или безопасности также существует возможность самостоятельного управления VPC и ролями IAM. Такой подход позволяет более гибко настраивать сетевую конфигурацию и точнее контролировать разрешения. Однако выбор самостоятельного управления этими ресурсами увеличит ваши операционные обязанности.

Хранение данных

Все данные ClickHouse, резервные копии и данные обсервабилити остаются в вашем аккаунте в облаке. Части и резервные копии хранятся в вашем объектном хранилище (например, Amazon S3), а логи — на томах хранилища, подключенных к вашим узлам ClickHouse. В одном из следующих обновлений логи будут записываться в LogHouse — сервис логирования на базе ClickHouse, который также запускается внутри вашего BYOC VPC. Метрики могут храниться локально или в отдельном бакете в вашем BYOC VPC для длительного хранения. Подключение плоскости управления между VPC ClickHouse и вашим BYOC VPC обеспечивается по защищенному, строго ограниченному каналу (например, через Tailscale, как показано на диаграмме); он используется только для операций управления, а не для трафика запросов.

Взаимодействие с плоскостью управления

VPC ClickHouse обменивается данными с вашей BYOC VPC по HTTPS (порт 443) для операций по управлению сервисом, включая изменения конфигурации, проверки работоспособности и команды развертывания. Этот трафик содержит только данные плоскости управления для оркестрации. Критически важные данные телеметрии и оповещения передаются из вашей BYOC VPC в VPC ClickHouse, обеспечивая мониторинг использования ресурсов и состояния системы.

Основные требования для BYOC

Для модели развертывания BYOC необходимы два ключевых компонента, обеспечивающих надежную работу, простоту обслуживания и безопасность:

Межаккаунтные права доступа IAM

ClickHouse Cloud требуются межаккаунтные права доступа IAM для развертывания и управления ресурсами в вашей облачной учетной записи. Это позволяет ClickHouse:

  • Развертывать инфраструктуру: Создавать и настраивать VPC, подсети, группы безопасности и другие сетевые компоненты
  • Управлять кластерами Kubernetes: Развертывать и обслуживать кластеры EKS/GKE, группы узлов и компоненты кластера
  • Создавать ресурсы хранилища: Подготавливать бакеты S3 или эквивалентное объектное хранилище для данных и резервных копий
  • Управлять ролями IAM: Создавать и настраивать роли IAM для сервисных аккаунтов Kubernetes и вспомогательных сервисов
  • Управлять вспомогательными сервисами: Развертывать и управлять стеками мониторинга, контроллерами Входного шлюза (Ingress) и другими инфраструктурными компонентами

Эти права предоставляются через межаккаунтную роль IAM (AWS) или сервисный аккаунт (GCP), которые вы создаете в ходе первоначального процесса первичной настройки. Роль следует принципу наименьших привилегий, а права ограничены только тем, что необходимо для операций BYOC.

Подробную информацию о требуемых правах см. в разделе BYOC Privilege Reference.

Частное сетевое подключение через Tailscale

Tailscale обеспечивает безопасное частное сетевое подключение по модели zero trust между управляющими сервисами ClickHouse Cloud и вашим развертыванием BYOC. Это подключение позволяет:

  • Непрерывный мониторинг: инженеры ClickHouse могут получать доступ к стеку мониторинга Prometheus, развернутому в вашей BYOC VPC, для контроля работоспособности сервиса и его производительности
  • Проактивное обслуживание: инженеры могут выполнять плановое обслуживание, обновления и операции по устранению неполадок
  • Экстренная поддержка: в случае проблем с сервисом инженеры могут оперативно получить доступ к вашей среде для диагностики и решения проблем
  • Управление инфраструктурой: управляющие сервисы могут взаимодействовать с вашей инфраструктурой BYOC для автоматизированных операций

Подключение Tailscale является только исходящим из вашей BYOC VPC — входящие подключения не требуются, что снижает вашу поверхность атаки. Весь доступ:

  • Одобряется и аудируется: инженеры должны запрашивать доступ через внутреннюю систему утверждения
  • Ограничен по времени: доступ автоматически истекает по завершении заданного периода
  • Ограничен по функциям: инженеры могут получать доступ только к системным таблицам и компонентам инфраструктуры, но никогда не к данным клиентов
  • Зашифрован: вся передача данных шифруется по принципу сквозного шифрования

Подробную информацию о том, как Tailscale работает в BYOC и какие применяются меры безопасности, см. в разделе документации по сетевой безопасности.

Почему эти требования важны

Вместе эти два компонента позволяют ClickHouse Cloud:

  • Поддерживать надежность: Проактивно мониторить и обслуживать ваше развертывание, предотвращая инциденты
  • Обеспечивать безопасность: Использовать доступ с наименьшими привилегиями с полной возможностью аудита
  • Упрощать эксплуатацию: Автоматизировать управление инфраструктурой при сохранении вашего контроля
  • Оказывать поддержку: Быстро реагировать на инциденты и устранять проблемы по мере их возникновения

Все данные клиентов остаются в вашем облачном аккаунте и никогда не считываются и не передаются через эти каналы управления.

Дополнительные рекомендации и соображения:

  • Убедитесь, что сетевые диапазоны CIDR для вашей VPC BYOC не пересекаются с какими-либо существующими VPC, с которыми вы планируете настроить пиринг.
  • Помечайте ваши ресурсы понятными тегами, чтобы упростить управление и поддержку.
  • Спланируйте достаточный размер подсетей и их распределение по зонам доступности для обеспечения высокой отказоустойчивости.
  • Ознакомьтесь с security playbook, чтобы понять модель разделения ответственности и лучшие практики, когда ClickHouse Cloud работает в рамках вашей среды.
  • Изучите полное руководство по onboarding для пошаговых инструкций по первоначальной настройке аккаунта, конфигурации VPC, сетевой связности (например, VPC peering) и делегированию ролей IAM.

Если у вас есть уникальные требования или ограничения, обратитесь в ClickHouse Support за рекомендациями по продвинутым сетевым конфигурациям или пользовательским политикам IAM.