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

# アーキテクチャ

> お使いのクラウドインフラストラクチャにClickHouseをデプロイ

export const Image = ({img, alt, size = "lg", background}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  const backgroundColor = background === "white" ? "white" : background === "black" ? "rgb(31 31 28)" : undefined;
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} style={{
    backgroundColor
  }} />
      </Frame>
    </div>;
};

<div id="key-concepts">
  ## 主要な概念
</div>

以下の図は、ClickHouse Cloud の組織、クラウドアカウント、BYOC インフラストラクチャの関係を示しています。

<Image img="https://mintcdn.com/private-7c7dfe99-parallel-read-in-order-multi-part/xI74_SSNk8kNyW21/images/cloud/reference/byoc-organization-hierarchy.svg?fit=max&auto=format&n=xI74_SSNk8kNyW21&q=85&s=d61fe44a2d70354b5a50b8e372d6cdc5" size="lg" alt="BYOC 組織階層" width="960" height="720" data-path="images/cloud/reference/byoc-organization-hierarchy.svg" />

* **ClickHouse Cloud organization:** ClickHouse Cloud における最上位のエンティティで、ユーザー、課金、および BYOC 以外の ClickHouse サービスを管理します。1 つの組織内のユーザーは、標準の Cloud サービスと BYOC サービスの両方にアクセスできます。
* **ClickHouse BYOC organization:** BYOC デプロイメントの管理に特化した独立した組織です。Cloud organization とユーザーを共有しますが、BYOC インフラストラクチャがデプロイされる 1 つ以上の クラウドアカウントに関連付けられています。
* **Cloud account/project/subscription:** BYOC インフラストラクチャがプロビジョニングされる、お客様所有の AWS アカウント、GCP プロジェクト、または Azure サブスクリプションです。各アカウント/プロジェクト/サブスクリプションでは、1 つ以上のリージョンで BYOC デプロイメントをホストできます。分離のため、BYOC デプロイメントごとに専用のアカウント/プロジェクト/サブスクリプションを使用することを推奨します。
* **BYOC infrastructure:** クラウドアカウント内の特定リージョンにデプロイされるクラウドリソース一式で、VPC/VNet、Kubernetes クラスター (EKS/GKE/AKS)、オブジェクトストレージバケット、IAM ロール/サービスアカウント/サービスプリンシパル、および関連サービスが含まれます。1 つの クラウドアカウントに、異なるリージョンにまたがる複数の BYOC インフラストラクチャを含めることができます。
* **ClickHouse Service:** BYOC インフラストラクチャ内で稼働する個別の ClickHouse クラスターです。同じ BYOC インフラストラクチャ内で複数のサービスを実行できます。

<Note>
  同じ組織内で AWS アカウント、GCP プロジェクト、および Azure サブスクリプションを混在させられるのは、[cloud service provider marketplace](/ja/products/cloud/reference/billing/marketplace/overview) 経由で設定されていないお客様に限られます。
</Note>

<h2 id="glossary">
  用語集
</h2>

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

<div id="architecture">
  ## 技術アーキテクチャ
</div>

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、スクレーパーなどの補助サービスが含まれます。専用の監視スタック (Prometheus、Grafana、AlertManager、Thanos) もお客様の VPC 内で稼働するため、メトリクスとアラートはお客様の環境内で生成され、監視データ自体もお客様のアカウント内にとどまります。ClickHouse Cloud へ転送されるのは、限定された運用テレメトリー (課金用の使用量メトリクス、サービスおよびバックアップの状態イベント、ヘルスアラート) のみで、それ以外は一切エクスポートされません。全体の一覧については [ネットワーク境界](/ja/products/bring-your-own-cloud/reference/network-security#outbound-connections) を参照してください。このエクスポートとは別に、ClickHouse のダッシュボード、および承認されたエスカレーション時にはそのエンジニアが、Tailscale 経由でスタックとお客様のログをその場でクエリできますが、ClickHouse 側には何も保持されません。詳細は [ClickHouse データアクセス](/ja/products/bring-your-own-cloud/reference/clickhouse-data-access) を参照してください。

<br />

<Image img="https://mintcdn.com/private-7c7dfe99-parallel-read-in-order-multi-part/xRBSgHpXzTyj2f9W/images/cloud/reference/byoc-architecture.svg?fit=max&auto=format&n=xRBSgHpXzTyj2f9W&q=85&s=8b8f505d54d7068a785874570e3a2dcf" size="lg" alt="BYOC アーキテクチャ: ClickHouse VPC 内の ClickHouse コントロールプレーンが、お客様のクラウドアカウント内の Kubernetes データプレーンを管理します。ClickHouse のデータ、バックアップ、ログ、監視データはお客様のアカウント内にとどまり、エクスポートされるのは限定された運用テレメトリーのみです。" width="1280" height="762" data-path="images/cloud/reference/byoc-architecture.svg" />

<br />

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

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

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

<div id="data-storage">
  ### データストレージ
</div>

ClickHouse のデータ、バックアップ、ログ、監視データは、お客様のクラウドアカウント内に保持されます。外部にエクスポートされるデータは、[ネットワーク境界](/ja/products/bring-your-own-cloud/reference/network-security#outbound-connections)に記載された限定的な使用状況およびヘルスのテレメトリーのみです。データパーツとバックアップはお客様のオブジェクトストレージ (たとえば Amazon S3) に保存され、ログは ClickHouse ノードに接続されたストレージボリュームに保存されます。今後のアップデートでは、ログは LogHouse に書き込まれるようになる予定です。LogHouse は ClickHouse ベースのロギングサービスで、お客様の BYOC VPC 内でも実行されます。メトリクスはローカルに保存することも、長期保持のためにお客様自身のアカウント内の専用バケットに保存することもできます。オブジェクトストレージは VPC/VNet の外部に位置し、プロバイダーのストレージ API 経路を通じてアクセスされます。ClickHouse VPC とお客様の BYOC VPC 間のコントロールプレーン接続は管理操作にのみ使用され、クエリトラフィックに使用されることは一切ありません。デフォルトでは、ClickHouse の管理サービスはクラスターの Kubernetes API にパブリックエンドポイント経由でアクセスしますが、このエンドポイントが無制限に公開されることはありません。AWS では ClickHouse の送信元 IP 範囲のみを許可する IP 許可リストで制限され、GCP では Google Cloud IAM、Azure では Microsoft Entra ID と Azure RBAC によってアクセスが認可されます。代わりに、図に示すように、デプロイメントごとにプライベート接続を有効にすることもできます (AWS VPC Lattice、GCP の GKE DNS ベースのコントロールプレーンエンドポイント、または Azure プライベートリンク)。Tailscale は、すべてのクラウドで ClickHouse エンジニアによるトラブルシューティングアクセスに加え、メトリクスとダッシュボードの通信を担います。Kubernetes API への経路をプライベートにした場合でも、Tailscale は引き続き使用されます。

<div id="control-plane-communication">
  ### コントロールプレーン通信
</div>

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

<div id="key-requirements">
  ## BYOC の主要要件
</div>

BYOC のデプロイモデルでは、信頼性の高い運用、保守の容易さ、セキュリティを確保するために、2 つの不可欠な要素が必要です。

<h3 id="cross-account-iam-permissions">
  クロスアカウント IAM 権限
</h3>

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

* **インフラストラクチャをプロビジョニングする**: VPC、サブネット、セキュリティグループ、そのほかのネットワーク関連コンポーネントを作成および設定する
* **Kubernetes クラスターを管理する**: EKS/GKE/AKS クラスター、ノードグループ、クラスターコンポーネントをデプロイおよび維持する
* **ストレージリソースを作成する**: データとバックアップ用に S3 バケットまたは同等のオブジェクトストレージをプロビジョニングする
* **IAM ロールを管理する**: Kubernetes のサービスアカウントや補助サービス向けの IAM ロールを作成および設定する
* **補助サービスを運用する**: 監視スタック、イングレスコントローラー、そのほかのインフラストラクチャコンポーネントをデプロイおよび管理する

これらの権限は、初回のオンボーディング プロセス中に作成するクロスアカウント IAM ロール (AWS)、サービスアカウント (GCP)、またはマルチテナント サービスプリンシパル (Azure) を通じて付与されます。このロールは最小権限の原則に従っており、権限の範囲は BYOC の運用に必要なもののみに限定されます。

必要な具体的権限の詳細については、[BYOC Privilege Reference](/ja/products/bring-your-own-cloud/reference/privilege) を参照してください。

<div id="tailscale-private-network">
  ### Tailscale プライベートネットワーク接続
</div>

Tailscale は、ClickHouse Cloud とお客様の BYOC デプロイメントの間に、安全なゼロトラストのプライベートネットワークを提供します。このネットワークでは、ClickHouse のエンジニアによるトラブルシューティングアクセスのほか、ClickHouse がお客様のデプロイメントを監視するためのメトリクスやダッシュボードがやり取りされます。また、プライベート API エンドポイントが有効な場合は、Kubernetes API のトラフィックもこのネットワークを経由します。この接続により、次のことが可能になります。

* **継続的な監視**: ClickHouse のエンジニアは、お客様の BYOC VPC にデプロイされた Prometheus 監視スタックにアクセスし、サービスの健全性とパフォーマンスを監視できます
* **プロアクティブなメンテナンス**: エンジニアは、定期的な保守、アップグレード、トラブルシューティングを実施できます
* **緊急サポート**: サービスに問題が発生した場合、エンジニアはお客様の環境に迅速にアクセスして、問題を診断・解決できます
* **インフラストラクチャ管理**: プライベート Kubernetes API エンドポイントが有効な場合、管理サービスはパブリックエンドポイントではなくこの接続を経由して Kubernetes API にアクセスします

お客様のクラスター内の Tailscale エージェントが行う接続は**アウトバウンドのみ**です。Tailscale 自体のためにインバウンドのセキュリティグループ、ファイアウォール、ネットワークセキュリティグループのルールを追加する必要はないため、外部への露出を抑えられます。すべてのアクセスには、次の特性があります。

* **承認・監査済み**: エンジニアは社内承認システムを通じてアクセスを申請する必要があります
* **時間制限付き**: アクセスは設定された期間が過ぎると自動的に失効します
* **制限付き**: エンジニアがアクセスできるのはシステムテーブルとインフラストラクチャ コンポーネントのみであり、顧客データには決してアクセスできません
* **暗号化**: すべての通信はエンドツーエンドで暗号化されます

なお、このアウトバウンドのみという特性は Tailscale 自体に当てはまるもので、すべての管理経路に当てはまるわけではありません。お客様のクラスターの Kubernetes API server は、パブリックエンドポイント経由かプライベート接続経由かを問わず、引き続き TCP 443 で ClickHouse の管理サービスからの接続を受け付けます。リスナーの全一覧については、[インバウンド接続](/ja/products/bring-your-own-cloud/reference/network-security#inbound-connections)を参照してください。

BYOC における Tailscale の仕組みとセキュリティ制御の詳細については、[ネットワークセキュリティのドキュメント](/ja/products/bring-your-own-cloud/reference/network-security#tailscale-private-network) を参照してください。

<div id="why-requirements-matter">
  ### これらの要件が重要な理由
</div>

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

* **信頼性の維持**: 問題を未然に防ぐために、お客様のデプロイメントを継続的に監視し、保守する
* **セキュリティの確保**: 完全な監査証跡を確保しつつ、最小権限のアクセスを適用する
* **運用の簡素化**: お客様が制御を維持したまま、インフラストラクチャ管理を自動化する
* **サポートの提供**: 問題が発生した際に、迅速に対応して解決する

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

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

* BYOC VPC のネットワーク CIDR 範囲が、ピアリングを予定している既存の VPC と重複しないようにしてください。
* 管理やサポートを容易にするため、リソースにはわかりやすいタグを付けてください。
* 高可用性を確保するために、十分なサブネットサイズとアベイラビリティゾーン間での適切な分散を計画してください。
* ClickHouse Cloud がお客様の環境内で稼働する際の責任分界とベストプラクティスを理解するために、[セキュリティプレイブック](/ja/products/cloud/guides/security/audit-logging/byoc-security-playbook)を参照してください。
* 初期アカウント設定、VPC 構成、ネットワーク接続 (たとえば、VPC peering) 、IAM ロールの委任に関する段階的な手順を確認するには、オンボーディングガイド全体を確認してください。

固有の要件や制約がある場合は、高度なネットワーク構成やカスタム IAM ポリシーについて ClickHouse Support にお問い合わせください。
