AWS 向けの顧客管理 VPC (BYO-VPC)
1
既存の VPC を設定する
- VPC に
clickhouse-byoc="true"タグを付与します。 - ClickHouse Cloud で使用できるよう、3 つの異なるアベイラビリティゾーンにまたがるプライベートサブネットを少なくとも 3 つ割り当てます。
- ClickHouse のデプロイメントに十分な IP アドレスを確保できるよう、各サブネットの CIDR 範囲が少なくとも
/23(例: 10.0.0.0/23) であることを確認します。 - ロードバランサーが適切に設定されるよう、各サブネットに
kubernetes.io/role/internal-elb=1とclickhouse-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 のいずれかを使用して実行できます。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 を使用する場合は、次の module を使用してください。5
BYOC インフラストラクチャをセットアップする
ClickHouse Cloud console で新しいインフラストラクチャをセットアップする際は、次の項目を設定します。
- VPC configuration で Use existing VPC を選択します。
- VPC ID を入力します (例:
vpc-0bb751a5b888ad123)。 - 先ほど設定した 3 つのサブネットの Private subnet IDs を入力します。
- 構成上パブリック向けロードバランサーが必要な場合は、必要に応じて Public subnet IDs を入力します。
- Set up Infrastructure をクリックしてプロビジョニングを開始します。
新しいリージョンのセットアップには最大 40 分かかる場合があります。
顧客管理 IAM ロール
顧客管理 IAM ロールはプライベートプレビューです。以下の手順を実行する前に、この機能を組織で有効にするため、ClickHouse Support にお問い合わせください。
- ClickHouse Cloud が通常作成するインフラストラクチャごとの IAM ロールを事前に作成する
- クロスアカウントアクセスに使用する
ClickHouseManagementRoleから IAM の書き込み権限を削除する - ロールの権限と信頼関係を完全に管理する
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
インフラストラクチャごとのロールを最新の状態に保つ