標準オンボーディングとは?
標準オンボーディング は、BYOC を使用してお客様自身のクラウドアカウントに ClickHouse をデプロイするための、標準的なガイド付きワークフローです。この方式では、ClickHouse Cloud が、デプロイに必要な主要なクラウドリソース (VPC/VNet、サブネット、セキュリティグループ、Kubernetes (EKS/GKE/AKS) クラスター、関連する IAM ロール、サービスアカウント、サービスプリンシパルなど) を、お客様の AWS アカウント、GCP プロジェクト、または Azure サブスクリプション内にまとめてプロビジョニングします。これにより、一貫性のある安全な構成を確保しつつ、お客様のチームに必要な手動作業を最小限に抑えられます。
標準オンボーディングでは、専用の AWS アカウント、GCP プロジェクト、または Azure サブスクリプションを用意し、初期スタック (CloudFormation または Terraform) を実行して、ClickHouse Cloud が以降のセットアップをオーケストレーションするために必要な最小限の権限と信頼関係を作成するだけで済みます。それ以降のすべての手順 (インフラストラクチャのプロビジョニングやサービスの起動を含む) は、ClickHouse Cloud の Web コンソールから管理されます。
権限とリソースをより適切に分離するため、ClickHouse BYOC デプロイをホストするための専用の AWS アカウント、GCP プロジェクト、または Azure サブスクリプションを用意することを強く推奨します。ClickHouse は、お客様のアカウント内に、専用のクラウドリソース一式 (VPC/VNet、Kubernetes クラスター、IAM ロール、サービスアカウント、サービスプリンシパル、オブジェクトストレージバケットなど) をデプロイします。
より柔軟にカスタマイズしたセットアップ (たとえば既存の VPC へのデプロイ) が必要な場合は、Customized Onboarding のドキュメントを参照してください。
アクセスを申請する
オンボーディングを開始するには、お問い合わせください。当社のチームがBYOCの要件をご案内し、最適なデプロイメントオプションの選定を支援するとともに、お客様のアカウントを許可リストに追加します。
オンボーディング
AWS アカウント/GCP プロジェクト/Azure サブスクリプションを準備する
組織配下に新しい AWS アカウント、GCP プロジェクト、または Azure サブスクリプションを用意します。
クラウドプロバイダーを選択

アカウント/プロジェクト/サブスクリプションの準備
初期のBYOCセットアップは、CloudFormation template (AWS)、Terraform module (GCP)、または Terraform module (Azure) を使用して実行できます。これにより、高い権限を持つID (IAM role/service account/service principal) が作成され、ClickHouse CloudのBYOC controllersがインフラストラクチャを管理できるようになります。

AWS向けTerraform Module
AWSデプロイメントでCloudFormationではなくTerraformを使用する場合は、terraform-byoc-onboarding moduleを使用してください。
module "clickhouse_onboarding" {
source = "github.com/ClickHouse/terraform-byoc-onboarding.git//modules/aws?ref=<version>"
external_id = "<external-id-provided-by-clickhouse>"
}<version>を、モジュールのリリースページにある最新のタグに置き換えます。常に最新リリースを使用してください。
このモジュールはclickhouse_management_role_arnを出力します。標準的なフローでは、この値に対して何かを行う必要はありません。オンボーディングはClickHouse Cloud consoleで続行されます。ただし、設定がデフォルトと異なる場合 (たとえば、連携するカスタムロール名を使用する場合) はClickHouseからこの値の提示を求められるため、控えておいてください。
AWS 外部ID
AWSでは、セットアップ時に作成されるIAMロールが、混乱した代理者問題を防ぐために外部ID (sts:ExternalId) を使用してClickHouse Cloudを信頼します。ClickHouse Cloud consoleは、オンボーディングを開始するとAWSアカウント用の外部IDを生成し、CloudFormationリンクにあらかじめ入力します。Terraformを使用する場合は、同じ値をexternal_idとして渡してください。同じAWSアカウント上のすべてのBYOCインフラストラクチャは、同じ外部IDを共有します。
BYOC インフラストラクチャをセットアップする
ClickHouse Cloud コンソールから、オブジェクトストレージバケット、VPC/VNet、Kubernetes クラスターを含むインフラストラクチャのセットアップを求められます。一部の設定は後から変更できないため、この段階で決定する必要があります。具体的には次のとおりです。
-
リージョン: BYOC デプロイメントでは、サポート対象リージョンのドキュメントに記載されているすべてのパブリックリージョンを利用できます。現在、Private Region はサポートされていません。
-
VPC/VNet CIDR 範囲: デフォルトでは、BYOC VPC (AWS/GCP) または VNet (Azure) の CIDR 範囲として
10.0.0.0/16を使用します。別のアカウントとの VPC/VNet peering を予定している場合は、CIDR 範囲が重複しないようにしてください。最小サイズはクラウドによって異なります。- AWS:
/23 - Azure:
/23 - GCP:
/20
これらは推奨値ではなく下限です。レプリカごとに IP アドレスを消費するため、大規模なデプロイメントにはより大きな範囲が必要です。
- AWS:
-
アベイラビリティゾーン: VPC peering を予定している場合は、ソースアカウントと BYOC アカウントのアベイラビリティゾーンを揃えることで、AZ 間トラフィックのコスト削減につながる場合があります。たとえば AWS では、アベイラビリティゾーンの接尾辞 (
a、b、c) が、アカウントごとに異なる物理ゾーン ID を表すことがあります。詳細については、AWS ガイドを参照してください。

事前検証
Set up Infrastructure をクリックすると、ClickHouse Cloud はリソースを作成する前に、アカウントに対して一連の読み取り専用のプリフライトチェックを実行します。すべてのチェックに合格すると、プロビジョニングが続行されます。チェックに失敗した場合、セットアップは一時停止され、問題の内容が console に正確に表示されるため、リソースが作成される前に修正できます。
チェックでは次の点が確認されます。
- 権限 — 管理ID (IAM role / service account / service principal) に、ClickHouse Cloudがデプロイメントをプロビジョニングおよび運用するために必要な権限が付与されています。
- 有効化されたサービス (GCP) — 必要なGoogle Cloud API (Compute Engine、Kubernetes Engine、Cloud Storage、Network Connectivity、IAM) がプロジェクトで有効になっています。
- ネットワーク (AWS の既存VPC使用) — VPCとサブネットが、サブネットサイズ、必要なタグ、アベイラビリティゾーンの分散、アウトバウンド接続、利用可能なIPアドレスに関するネットワーク要件を満たしています。
- クォータとガードレール (AWS) — アカウントに十分なサービスクォータ (VPC、NAT ゲートウェイ、Elastic IP、EKS クラスター、vCPUs) があり、必要なアクションを妨げる組織ポリシー (SCP) が設定されていません。
チェックが失敗した場合、各チェックには対応するアクションと失敗理由が併記されて一覧表示されます (例: iam:CreateRole · explicitDeny)。成功したチェックをすべて確認するには、Show passed checks を展開してください。

これらの失敗を解消するには、最新のClickHouse CloudFormationまたはTerraform stackを再実行するか、報告されたactionsを管理用のidentity (IAM role / service account / service principal) に付与したうえで、次のいずれかを選択してください。
- 再検証 — 事前チェックを再実行します。報告された問題を修正した後、プロビジョニング前にセットアップの準備が整っていることを確認するために使用してください。
- それでも続行 — チェックがFailedでもプロビジョニングを続行します。報告された失敗が誤検知であると確信できる場合にのみ使用してください。そうでない場合、プロビジョニングが途中で失敗する可能性があります。
よくある障害の解決には、以下の表を参照してください。
| 検証エラー | 考えられる原因 | 解決方法 |
|---|---|---|
| 管理ロールを引き受けられない (AWS) | オンボーディングスタックが完了していないか、ロールまたは外部 ID が一致していません | 最新のオンボーディングスタックを再実行し、consoleに表示される外部IDがtrust policyのものと一致することを確認してください |
| 管理用service accountを偽装できません (GCP) | オンボーディング用Terraformが完了していないか、clickhouse-managementサービスアカウントが存在しないか、ClickHouseによる権限借用を許可していません |
最新のオンボーディング用Terraformを再実行し、clickhouse-management サービスアカウントが存在し、ClickHouseにそのサービスアカウントを偽装する権限が付与されていることを確認してください |
| 必要な権限がない (例: VPCの作成、IAMロールの作成、Kubernetesクラスターの作成) | 管理アイデンティティに必要な権限がありません。多くの場合、カスタマイズされたスタックまたは古いスタックが原因です | すべての権限セットを付与する最新のオンボーディングスタックを再実行します。意図的に権限を制限している場合は、報告された権限を追加します |
| 必要な API が有効になっていません (GCP) | プロジェクトで必要な Google Cloud サービス API が無効になっている | たとえば、gcloud services enable compute.googleapis.com --project <your-project>を実行して有効にします |
| サブネットまたはVPCの設定に関する問題 (AWS bring-your-own-VPC) — CIDRが小さすぎる、タグがない、アベイラビリティゾーンが少なすぎる、アウトバウンドegressがない、または空きIPアドレスが少なすぎる | 指定された VPC が BYOC のネットワーク要件を満たしていない | VPCを調整して、ネットワーク要件を満たしてください |
| サービスクォータが不足しています (AWS) | 必要なリソースに対するアカウントのクォータが不足しています | クラウドプロバイダーにクォータの引き上げを依頼してください。詳細については、AWS サービス制限を参照してください |
| 組織ポリシー / SCP によってブロック (AWS) | 組織のガードレールにより、アカウントに必要なアクションが拒否されています | クラウド管理者と連携し、BYOCアカウントでそのアクションを許可してください |
最初の BYOC ClickHouse サービスを作成する
BYOC インフラストラクチャのプロビジョニングが完了したら、最初の ClickHouse サービスを起動する準備は整っています。ClickHouse Cloud コンソールを開き、BYOC 環境を選択して、画面の案内に従って新しいサービスを作成します。

サービスの作成時には、次のオプションを設定します。
- サービス名: ClickHouse サービスに、わかりやすく説明的な名前を入力します。
- BYOC インフラストラクチャ: サービスを実行する BYOC 環境 (クラウドアカウントとリージョンを含む) を選択します。
- リソース構成: ClickHouse レプリカに割り当てる CPU とメモリの量を選択します。
- レプリカ数: 高可用性を高めるため、レプリカ数を設定します。