Skip to main content

AWS 向けの顧客管理 VPC (BYO-VPC)

ClickHouse Cloud に新しい VPC をプロビジョニングさせる代わりに、既存の VPC を使用して ClickHouse BYOC をデプロイする場合は、以下の手順に従ってください。この方法では、ネットワーク構成をより柔軟に制御でき、既存のネットワークインフラストラクチャに ClickHouse BYOC を統合できます。
1

既存の VPC を設定する

  1. VPC に clickhouse-byoc="true" タグを付与します。
  2. ClickHouse Cloud で使用できるよう、3 つの異なるアベイラビリティゾーンにまたがるプライベートサブネットをちょうど 3 つ割り当てます。
  3. 各サブネットの CIDR 範囲が少なくとも /25 (例: 10.0.0.0/25) であることを確認します。/25 では、アベイラビリティゾーンごとにおよそ 10 台の ClickHouse server ノードをサポートできます。ほとんどのデプロイメントには /24 を推奨し、拡張が見込まれるデプロイメントにはより大きなサブネットを使用してください。ポッドの IP アドレスはサブネット自体から割り当てられるため、各レプリカがサブネットアドレスを消費します。
  4. ロードバランサーが適切に設定されるよう、各サブネットに kubernetes.io/role/internal-elb=1clickhouse-byoc="true" のタグを追加します。
2

S3 ゲートウェイエンドポイントを設定する

VPC に S3 ゲートウェイエンドポイントがまだ設定されていない場合は、VPC と Amazon S3 の間で安全かつプライベートに通信できるよう、これを作成する必要があります。このエンドポイントを使用すると、ClickHouse のサービスはパブリックインターネットを経由せずに S3 にアクセスできます。設定例については、以下のスクリーンショットを参照してください。
3

ネットワーク接続を確認する

Outbound インターネットアクセス ClickHouse BYOC コンポーネントが Tailscale の control plane と通信できるようにするため、VPC では少なくともアウトバウンドのインターネットアクセスを許可する必要があります。Tailscale は、プライベートな管理操作のために安全なゼロトラストネットワークを提供する目的で使用されます。Tailscale への初回登録と初期セットアップにはパブリックインターネット接続が必要であり、これは直接接続または NAT ゲートウェイ経由で実現できます。この接続は、BYOC デプロイメントのプライバシーとセキュリティの両方を維持するために必要です。DNS 名前解決 VPC で DNS 名前解決が正しく機能しており、標準の DNS 名がブロック、改変、上書きされていないことを確認してください。ClickHouse BYOC は、Tailscale の control server と ClickHouse service の endpoint を名前解決するために DNS に依存しています。DNS が利用できない、または設定に不備がある場合、BYOC サービスが接続できなかったり、正常に動作しなかったりする可能性があります。
4

AWS アカウントを設定する

初回の BYOC セットアップでは、ClickHouse Cloud の BYOC コントローラーがインフラストラクチャを管理できるようにするため、特権 IAM ロール (ClickHouseManagementRole) が作成されます。これは、CloudFormation template または Terraform module (以下を参照) のいずれかを使用して実行できます。
IAM ロール名は必須要件です。 ClickHouse が事前に別の名前に明示的に同意している場合を除き、ロールはデフォルト名の ClickHouseManagementRole を維持する必要があります。組織の命名規則に従うためのプレフィックスや接尾辞の追加、リネームはできません (Terraform の role_name 入力は、ClickHouse と連携してのみ変更してください)。リネームしたロールは正常に適用されますが、ClickHouse が想定されたロールを引き受けられないため、その後のプロビジョニングは失敗します。より一般的には、ClickHouse の明示的な承認なしに、提供された template や module を変更しないでください。サポートされるカスタマイズはパラメーターとして公開されています。
BYO-VPC セットアップをデプロイする場合は、IncludeVPCWritePermissions パラメーターを false に設定し、ClickHouse Cloud に顧客管理 VPC を変更する権限が付与されないようにしてください。
Storage buckets、Kubernetes クラスター、コンピュートリソースはこの初期セットアップには含まれていません。これらは後続の手順でプロビジョニングされます。VPC はお客様が管理しますが、ClickHouse Cloud が AWS アカウント内で Kubernetes クラスター、service account 用の IAM ロール、S3 bucket、そのほかの必須リソースを作成および管理するには、引き続き IAM 権限が必要です。

Terraform module

CloudFormation ではなく Terraform を使用する場合は、terraform-byoc-onboarding module を使用してください。
<version> を、module のリリースページにある最新のタグに置き換えます。常に最新リリースを使用してください。module は clickhouse_management_role_arn を出力します。標準フローでは対応は不要で、オンボーディングは ClickHouse Cloud console で続行されます。ただし、セットアップがデフォルトと異なる場合 (たとえば、カスタムロール名を連携する場合) は ClickHouse から求められるため、手元に控えておいてください。external_id の値は ClickHouse Cloud console によって生成され、同じ AWS アカウント上のすべての BYOC インフラストラクチャで共有されます。legacy emptyid プレースホルダーを含む詳細については、AWS external ID を参照してください。
module は以前、https://s3.us-east-2.amazonaws.com/clickhouse-public-resources.clickhouse.cloud/tf/byoc.tar.gz の tarball として配布されていました。この URL は引き続き利用できますが、非推奨です。上記の GitHub module を使用してください。
5

BYOC インフラストラクチャをセットアップする

ClickHouse Cloud console で新しいインフラストラクチャをセットアップする際は、次の項目を設定します。
  1. VPC configurationUse existing VPC を選択します。
  2. VPC ID を入力します (例: vpc-0bb751a5b888ad123)。
  3. 先ほど設定した 3 つのサブネットの Private subnet IDs を入力します。
  4. 構成上パブリック向けロードバランサーが必要な場合は、必要に応じて Public subnet IDs を入力します。
  5. Set up Infrastructure をクリックしてプロビジョニングを開始します。
新しいリージョンのセットアップには最大 40 分かかる場合があります。

顧客管理 IAM ロール

高度なセキュリティ要件や厳格なコンプライアンスポリシーがある組織では、ClickHouse Cloud に IAM ロールを作成させる代わりに、独自の IAM ロールを指定できます。この方法では、IAM 権限を完全に制御でき、組織のセキュリティポリシーを適用できます。
顧客管理 IAM ロールはプライベートプレビューです。以下の手順を実行する前に、この機能を組織で有効にするため、ClickHouse Support にお問い合わせください。
顧客管理 IAM ロールを使用すると、次のことが可能になります。
  • ClickHouse Cloud が通常作成するインフラストラクチャごとの IAM ロールを事前に作成する
  • クロスアカウントアクセスに使用する ClickHouseManagementRole から IAM の書き込み権限を削除する
  • ロールの権限と信頼関係を完全に管理する
以下の両方の module は、ClickHouse Cloud console で生成された external_id を受け取ります。同じ AWS account 内のすべての BYOC インフラストラクチャは、同じ external ID を共有します。旧来の emptyid プレースホルダーを含む詳細については、AWS external ID を参照してください。
1

IAM の書き込み権限なしで管理ロールを設定する

初回の BYOC セットアップを実行する際は、管理ロールの IAM 書き込み権限を無効にします。CloudFormation template では、IncludeIAMWritePermissions パラメータを false に設定します。Terraform module の場合は次のとおりです。
<version> は、module の releases page にある最新のタグに置き換えてください。必ず最新のリリースを使用してください。
2

インフラストラクチャごとの IAM ロールを作成する

各 BYOC インフラストラクチャがプロビジョニングされる前に、terraform-byoc-onboarding の per-infra module を使用して、必要な IAM ロール (EKS pod identity roles、ClickHouse S3 access role、data-plane management role) を作成します。
<version> は、module の releases page にある最新のタグに置き換えてください。必ず最新のリリースを使用してください。
3

インフラストラクチャごとのロールを最新の状態に保つ

ClickHouse では、新しいプラットフォーム機能に必要なロールや権限が定期的に追加されます。ClickHouse から更新通知を受けたら、最新リリースの per-infra module を再適用してください。古いバージョンを使用していると、BYOC インフラストラクチャの Provisioning や Upgrades が失敗する可能性があります。
ClickHouse Cloud がデフォルトで作成する IAM ロールについては、BYOC Privilege Reference を参照してください。
最終更新日 2026年8月14日