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

ClickPipes 向け AWS PrivateLink

AWS PrivateLink を使用すると、トラフィックをパブリックインターネットに公開することなく、 VPC、AWS サービス、オンプレミスシステム、および ClickHouse Cloud 間に安全な接続を確立できます。

このドキュメントでは、AWS PrivateLink VPC エンドポイントをセットアップするための ClickPipes のリバースプライベートエンドポイント機能について概要を説明します。

サポートされている ClickPipes データソース

ClickPipes のリバース PrivateLink エンドポイントの機能は、次の データソース種別にのみ対応しています。

  • Kafka
  • Postgres
  • MySQL
  • MongoDB

ClickPipes のリバースプライベートエンドポイントは、次のいずれかの AWS PrivateLink 方式で構成できます:

VPC リソース

情報

リージョン間(cross-region)はサポートされていません。

VPC リソースには、PrivateLink を使用して ClickPipes からアクセスできます。この方法では、データソースの前段にロードバランサーを設定する必要はありません。

リソース設定では、特定のホストまたは RDS クラスター ARN を対象として指定できます。

RDS クラスターから Postgres の CDC データを取り込む場合に推奨される方法です。

VPC リソースに対して PrivateLink をセットアップするには、次の手順を実行します。

  1. リソースゲートウェイを作成する
  2. リソース設定を作成する
  3. リソース共有を作成する

リソースゲートウェイを作成する

リソースゲートウェイは、VPC 内で指定したリソース向けのトラフィックを受信するポイントです。

注記

リソースゲートウェイにアタッチするサブネットには、十分な数の IP アドレスが確保されていることが推奨されます。 各サブネットについて、少なくとも /26 のサブネットマスクを使用することを推奨します。

VPC エンドポイント(各 Reverse Private Endpoint)ごとに、AWS はサブネットごとに連続した 16 個の IP アドレスブロック(/28 サブネットマスク)を要求します。 この要件を満たしていない場合、Reverse Private Endpoint は失敗状態に遷移します。

AWS コンソールから、または次のコマンドを使用してリソースゲートウェイを作成できます。

aws vpc-lattice create-resource-gateway \
    --vpc-identifier <VPC_ID> \
    --subnet-ids <SUBNET_IDS> \
    --security-group-ids <SG_IDs> \
    --name <RESOURCE_GATEWAY_NAME>

出力にはリソースゲートウェイ ID が含まれます。この ID は次のステップで必要になります。

先に進む前に、リソースゲートウェイが Active 状態になるまで待つ必要があります。状態は次のコマンドで確認できます。

aws vpc-lattice get-resource-gateway \
    --resource-gateway-identifier <RESOURCE_GATEWAY_ID>

VPC Resource-Configuration を作成する

Resource-Configuration はリソースゲートウェイに関連付けられ、リソースへのアクセスを可能にします。

AWS コンソールから、または次のコマンドを使用して Resource-Configuration を作成できます。

aws vpc-lattice create-resource-configuration \
    --resource-gateway-identifier <RESOURCE_GATEWAY_ID> \
    --type <RESOURCE_CONFIGURATION_TYPE> \
    --resource-configuration-definition <RESOURCE_CONFIGURATION_DEFINITION> \
    --name <RESOURCE_CONFIGURATION_NAME>

最も単純なリソース構成タイプは、単一の Resource-Configuration です。ARN を直接指定するか、パブリックに名前解決可能な IP アドレスまたはドメイン名を共有して構成できます。

例として、RDS クラスターの ARN で構成する場合は次のようになります。

aws vpc-lattice create-resource-configuration \
    --name my-rds-cluster-config \
    --type ARN \
    --resource-gateway-identifier rgw-0bba03f3d56060135 \
    --resource-configuration-definition 'arnResource={arn=arn:aws:rds:us-east-1:123456789012:cluster:my-rds-cluster}'
注記

パブリックアクセス可能なクラスターに対しては、リソース構成を作成できません。 クラスターがパブリックアクセス可能な場合、リソース構成を作成する前に クラスターをプライベートに変更するか、 代わりに IP アローリスト を使用する必要があります。 詳細については、AWS のドキュメントを参照してください。

出力には Resource-Configuration ARN が含まれ、これは次のステップで必要になります。また、Resource-Configuration ID も含まれており、VPC リソースを用いた ClickPipe 接続の設定時に必要です。

Resource-Share を作成する

リソースを共有するには Resource-Share が必要です。これは Resource Access Manager (RAM) を通じて行われます。

AWS コンソールを使用するか、ClickPipes アカウント ID 072088201116(arn:aws:iam::072088201116:root)を指定して次のコマンドを実行することで、Resource-Configuration を Resource-Share に追加できます。

aws ram create-resource-share \
    --principals 072088201116 \
    --resource-arns <RESOURCE_CONFIGURATION_ARN> \
    --name <RESOURCE_SHARE_NAME>

出力には Resource-Share ARN が含まれており、これは VPC リソースを用いた ClickPipe 接続の設定時に必要です。

これで、VPC リソースを使用してReverse private endpoint を利用した ClickPipe を作成する準備ができました。次の設定を行う必要があります。

  • VPC endpoint typeVPC Resource に設定します。
  • Resource configuration ID を、ステップ 2 で作成した Resource-Configuration の ID に設定します。
  • Resource share ARN を、ステップ 3 で作成した Resource-Share の ARN に設定します。

VPC リソースと組み合わせた PrivateLink の詳細については、AWS ドキュメントを参照してください。

MSK マルチ VPC 接続

Multi-VPC connectivity は、複数の VPC を 1 つの MSK クラスターに接続できる AWS MSK の組み込み機能です。 プライベート DNS は標準でサポートされており、追加の設定は不要です。 クロスリージョン接続には対応していません。

これは、MSK 向け ClickPipes で推奨されるオプションです。 詳細は getting started ガイドを参照してください。

情報

MSK クラスターのポリシーを更新し、MSK クラスターで許可されたプリンシパルの一覧に 072088201116 を追加してください。 詳細は、AWS の attaching a cluster policy ガイドを参照してください。

接続のセットアップ方法については、ClickPipes 向け MSK セットアップガイド を参照してください。

VPC エンドポイントサービス

VPC エンドポイントサービス は、データソースを ClickPipes と共有するためのもう 1 つの方法です。 データソースの前段に NLB(Network Load Balancer)を設定し、 その NLB を使用するように VPC エンドポイントサービスを構成する必要があります。

VPC エンドポイントサービスは プライベート DNS を用いて構成 でき、ClickPipes 用の VPC 内からアクセス可能になります。

次のような用途に適しています。

  • プライベート DNS サポートが必要なオンプレミスの Kafka セットアップ
  • Postgres CDC のクロスリージョン接続
  • MSK クラスターのクロスリージョン接続。サポートが必要な場合は ClickHouse サポートチームまでお問い合わせください。

詳細については、はじめに ガイドを参照してください。

情報

ClickPipes のアカウント ID 072088201116 を、VPC エンドポイントサービスの許可プリンシパルに追加してください。 詳細については、AWS の アクセス許可の管理 ガイドを参照してください。

情報

クロスリージョンアクセス は ClickPipes に対して構成できます。お使いの VPC エンドポイントサービスの許可リージョンに、ClickPipe のリージョン を追加してください。

リバースプライベートエンドポイントを使用した ClickPipe の作成

ClickHouse Cloud サービスの SQL Console にアクセスします。

ClickPipes サービス

左側メニューで Data Sources ボタンを選択し、「Set up a ClickPipe」をクリックします。

インポートの選択

データソースとして Kafka または Postgres のいずれかを選択します。

データソースの選択

Reverse private endpoint オプションを選択します。

リバースプライベートエンドポイントの選択

既存のリバースプライベートエンドポイントのいずれかを選択するか、新しく作成します。

情報

RDS へのリージョンをまたぐアクセスが必要な場合は、VPC エンドポイントサービスを作成する必要があり、 このガイド がセットアップを始めるうえでの良い出発点になります。

同一リージョン内でのアクセスには、VPC Resource を作成する方法が推奨されます。

リバースプライベートエンドポイントの選択

選択したエンドポイントタイプに必要なパラメータを入力します。

リバースプライベートエンドポイントの選択
  • VPC resource の場合は、configuration share ARN と configuration ID を指定します。
  • MSK multi-VPC の場合は、クラスター ARN と、作成したエンドポイントで使用する認証方式を指定します。
  • VPC endpoint service の場合は、サービス名を指定します。

Create をクリックし、リバースプライベートエンドポイントの準備が完了するまで待ちます。

新しいエンドポイントを作成する場合、エンドポイントのセットアップに時間がかかることがあります。 エンドポイントの準備ができると、ページは自動的に更新されます。 VPC endpoint service の場合は、AWS コンソールで接続リクエストを承諾する必要がある場合があります。

リバースプライベートエンドポイントの選択

エンドポイントの準備が完了したら、その DNS 名を使用してデータソースに接続できます。

エンドポイントの一覧で、利用可能なエンドポイントの DNS 名を確認できます。 これは、ClickPipes が内部的にプロビジョニングした DNS 名、または PrivateLink サービスから提供されたプライベート DNS 名のいずれかになります。 DNS 名は完全なネットワークアドレスではありません。 データソースに応じてポート番号を追加してください。

MSK の接続文字列は AWS コンソールから参照できます。

DNS 名の一覧全体は、ClickHouse Cloud サービスの設定から確認できます。

既存のリバースプライベートエンドポイントの管理

ClickHouse Cloud のサービス設定で、既存のリバースプライベートエンドポイントを管理できます:

サイドバーの Settings ボタンをクリックします。

ClickHouse Cloud settings

ClickPipe reverse private endpoints セクション内の Reverse private endpoints をクリックします。

ClickHouse Cloud settings

リバースプライベートエンドポイントの詳細情報がフライアウトパネルに表示されます。

ここからエンドポイントを削除できます。削除すると、このエンドポイントを使用しているすべての ClickPipes に影響します。

AWS PrivateLink のサポートは、ClickPipes 向けには特定の AWS リージョンに限定されています。 利用可能なリージョンについては、ClickPipes のリージョン一覧 を参照してください。

この制限は、リージョン間接続を有効化した PrivateLink VPC エンドポイントサービスには適用されません。

制限事項

ClickHouse Cloud で作成された ClickPipes 用の AWS PrivateLink エンドポイントが、 ClickHouse Cloud サービスと同じ AWS リージョン内に作成されることは保証されません。

現在のところ、VPC エンドポイントサービスのみが リージョンをまたぐ接続をサポートしています。

プライベートエンドポイントは特定の ClickHouse サービスに関連付けられており、サービス間で付け替えることはできません。 1 つの ClickHouse サービスに対する複数の ClickPipes では、同じエンドポイントを再利用できます。

AWS MSK は、認証タイプ(SASL_IAM または SASL_SCRAM)ごとに、MSK クラスターあたり 1 つの PrivateLink(VPC エンドポイント)のみをサポートします。その結果、複数の ClickHouse Cloud サービスまたは組織が、同じ認証タイプを使用して同一の MSK クラスターに対して個別の PrivateLink 接続を作成することはできません。