メインコンテンツへスキップ
メインコンテンツへスキップ

アーキテクチャ

用語集

  • ClickHouse VPC: ClickHouse Cloud が所有する VPC。
  • Customer BYOC VPC: 顧客のクラウドアカウントが所有する VPC で、ClickHouse Cloud によってプロビジョニングおよび管理され、ClickHouse Cloud の BYOC デプロイメント専用となるもの。
  • Customer VPC: 顧客のクラウドアカウントが所有する VPC のうち、Customer BYOC VPC への接続が必要なアプリケーションで使用されるその他の VPC。

アーキテクチャ

BYOC は、ClickHouse VPC 内で動作する ClickHouse コントロールプレーン と、利用者のクラウドアカウント内でのみ動作する データプレーン を分離します。ClickHouse VPC には、ClickHouse Cloud Console、認証およびユーザー管理、API、課金機能に加えて、BYOC コントローラーやアラート/インシデント管理ツールなどのインフラストラクチャ管理コンポーネントがホストされます。これらのサービスはデプロイメントをオーケストレーションおよび監視しますが、データそのものを保存することはありません。

Customer BYOC VPC 内では、ClickHouse は ClickHouse データプレーンを実行する Kubernetes クラスター(例: Amazon EKS)をプロビジョニングします。図に示すように、ここには ClickHouse クラスター本体、ClickHouse Operator、イングレス、DNS、証明書管理、state exporter および scraper といった補助サービスが含まれます。専用のモニタリングスタック(Prometheus、Grafana、Alertmanager、Thanos)も VPC 内で動作し、メトリクスおよびアラートが利用者の環境内から発生し、その中にとどまることを保証します。


BYOC アーキテクチャ

ClickHouse Cloud がアカウント内にデプロイする主なクラウドリソースは次のとおりです:

  • VPC: ClickHouse デプロイメント専用の Virtual Private Cloud です。これは ClickHouse または利用者(顧客)のいずれかが管理でき、通常はアプリケーション VPC とピアリングされます。
  • IAM ロールとポリシー: Kubernetes、ClickHouse サービス、およびモニタリングスタックに必要なロールと権限です。これらは ClickHouse がプロビジョニングすることも、顧客側で用意することもできます。
  • ストレージバケット: パーツ、バックアップ、そして(任意で)長期保存用のメトリクスおよびログアーカイブを保存するために使用されます。
  • Kubernetes クラスター: クラウドプロバイダーに応じて、Amazon EKS、Google GKE、または Azure AKS となり、アーキテクチャ図に示されている ClickHouse サーバーおよび補助サービスをホストします。

デフォルトでは、ClickHouse Cloud は新しい専用 VPC をプロビジョニングし、Kubernetes サービスの安全な運用を保証するために必要な IAM ロールを設定します。高度なネットワーキングまたはセキュリティ要件を持つ組織向けには、VPC と IAM ロールを独自に管理するオプションも用意されています。このアプローチにより、ネットワーク構成をより柔軟にカスタマイズでき、権限をより厳密に制御できます。ただし、これらのリソースを自前で管理することを選択した場合、運用上の責任は増大します。

データストレージ

すべての ClickHouse のデータ、バックアップ、およびオブザーバビリティデータは、利用者のクラウドアカウント内に保持されます。データのパーツとバックアップはオブジェクトストレージ(例えば Amazon S3)に保存され、ログは ClickHouse ノードに接続されたストレージボリューム上に保存されます。今後のアップデートでは、ログは LogHouse に書き込まれる予定です。LogHouse は ClickHouse ベースのロギングサービスであり、BYOC VPC 内で動作します。メトリクスはローカル、または長期保存のために BYOC VPC 内の独立したバケットに保存できます。ClickHouse VPC と BYOC VPC 間のコントロールプレーン接続は、安全でスコープが厳密に制限されたチャネル(図に示す Tailscale 経由など)を介して提供されます。これは管理オペレーションのみに使用され、クエリトラフィックには使用されません。

コントロールプレーン通信

ClickHouse VPC は、構成変更、ヘルスチェック、デプロイメントコマンドなどのサービス管理操作のために、HTTPS(ポート 443)経由でユーザーの BYOC VPC と通信します。このトラフィックには、オーケストレーション用のコントロールプレーンデータのみが含まれます。重要なテレメトリおよびアラートは、リソース使用状況および健全性の監視を行うために、ユーザーの BYOC VPC から ClickHouse VPC へ送信されます。

BYOC の主な要件

BYOC デプロイメントモデルでは、信頼性の高い運用、保守の容易さ、セキュリティを確保するために、2つの重要なコンポーネントが必要です。

アカウント間 IAM 権限

ClickHouse Cloud は、お客様のクラウドアカウント内でリソースをプロビジョニングおよび管理するために、アカウント間の IAM 権限を必要とします。これにより ClickHouse は次のことが可能になります。

  • インフラストラクチャのプロビジョニング: VPC、サブネット、セキュリティグループ、その他のネットワークコンポーネントを作成および構成
  • Kubernetes クラスターの管理: EKS/GKE クラスター、ノードグループ、およびクラスターコンポーネントをデプロイおよび管理
  • ストレージリソースの作成: データおよびバックアップ用の S3 バケットまたは同等のオブジェクトストレージをプロビジョニング
  • IAM ロールの管理: Kubernetes のサービスアカウントおよび周辺サービス用の IAM ロールを作成および構成
  • 周辺サービスの運用: 監視スタック、イングレスコントローラー、およびその他のインフラストラクチャコンポーネントをデプロイおよび管理

これらの権限は、初回のオンボーディングプロセス中に作成するアカウント間 IAM ロール(AWS)またはサービスアカウント(GCP)を通じて付与されます。このロールは最小権限の原則に従い、BYOC の運用に必要な範囲にのみ権限が付与されます。

必要となる具体的な権限の詳細については、BYOC 権限リファレンスを参照してください。

Tailscale プライベートネットワーク接続

Tailscale は、ClickHouse Cloud の管理サービスと BYOC デプロイメント間に、安全なゼロトラストのプライベートネットワーク接続を提供します。この接続により、次のことが可能になります:

  • 継続的な監視: ClickHouse エンジニアが、サービスの健全性とパフォーマンスを監視するために、BYOC VPC 内にデプロイされた Prometheus モニタリングスタックへアクセスできます
  • プロアクティブなメンテナンス: エンジニアが定期メンテナンス、アップグレード、およびトラブルシューティング作業を実行できます
  • 緊急時サポート: サービスに問題が発生した場合、エンジニアはお客様の環境へ迅速にアクセスし、問題の診断と解決を行えます
  • インフラ管理: 管理サービスが BYOC インフラと連携し、自動化されたオペレーションを実行できます

Tailscale 接続は BYOC VPC からの アウトバウンド専用 であり、インバウンド接続は不要なため、セキュリティリスクを低減できます。すべてのアクセスは次のように管理されます:

  • 承認および監査対象: エンジニアは内部承認システムを通じてアクセスを申請する必要があります
  • 時間制限付き: アクセスはあらかじめ定められた期間が過ぎると自動的に失効します
  • 制限付き: エンジニアがアクセスできるのはシステムテーブルおよびインフラコンポーネントのみであり、顧客データへは一切アクセスできません
  • 暗号化: すべての通信はエンドツーエンドで暗号化されます

BYOC における Tailscale の動作とセキュリティ制御の詳細については、Network Security ドキュメント を参照してください。

なぜこれらの要件が重要なのか

これら 2 つのコンポーネントを組み合わせることで、ClickHouse Cloud は次のことを実現できます。

  • 信頼性を維持する: 問題を未然に防ぐために、デプロイメントをプロアクティブに監視・維持する
  • セキュリティを確保する: 完全な監査可能性を備えた最小権限アクセスを使用する
  • 運用を簡素化する: コントロールを維持しつつ、インフラストラクチャ管理を自動化する
  • サポートを提供する: 問題発生時に迅速に対応し、解決する

すべての顧客データはお客様のクラウドアカウント内にとどまり、これらの管理チャネルを通じてアクセスされたり送信されたりすることはありません。

追加の推奨事項と考慮事項:

  • BYOC VPC のネットワーク CIDR レンジが、ピアリングを予定している既存のいずれの VPC とも重複しないようにしてください。
  • 管理およびサポートを容易にするため、リソースに明確なタグを付与してください。
  • 高可用性のために、サブネットの十分なサイズ確保とアベイラビリティゾーン間での適切な分散を計画してください。
  • ClickHouse Cloud がお客様の環境内で動作する際の責任共有モデルとベストプラクティスを理解するために、セキュリティプレイブック を参照してください。
  • 初期アカウント設定、VPC 構成、ネットワーク接続(例: VPC ピアリング)、および IAM ロール委任に関するステップバイステップの手順について、オンボーディングガイド全体を確認してください。

固有の要件や制約がある場合は、ClickHouse Support に連絡し、高度なネットワーク構成やカスタム IAM ポリシーに関するガイダンスを受けてください。