AWS PrivateLink¶
AWS PrivateLink は、CIDR 範囲を調整することなく、ユーザーの VPC から Confluent Cloud クラスターへの一方向接続を提供します。Confluent Cloud への PrivateLink 接続は、登録されているユーザーの AWS アカウントの VPC からのみ確立できます。
AWS PrivateLink の詳細については、AWS のドキュメント を参照してください。
Confluent Cloud への AWS PrivateLink 接続を作成する¶
Confluent Cloud クラスターに接続する AWS PrivateLink を作成するには、以下の手順に従います。
注釈
AWS PrivateLink の概要と Confluent Cloud で AWS PrivateLink の使用を開始する詳細な手順については、「Announcing AWS PrivateLink Support in Confluent Cloud」を参照してください。
次の図に、ユーザーの VPC/アカウントと Confluent Cloud の VPC/アカウントを使用した AWS PrivateLink アーキテクチャの概要を示します。

- 前提条件
- AWS PrivateLink 対応の 専用 Kafka クラスター が AWS にあること。専用クラスターの作成方法について詳しくは、「Confluent Cloud でのクラスターの作成」を参照してください。
AWS の Confluent Cloud で専用クラスター向け AWS PrivateLink 接続を作成するには、以下の手順に従います。
- Confluent Cloud Console を使用して、Confluent Cloud に AWS のアカウントを登録します。
- AWS ポータルを使用して、AWS のアカウントで Confluent Cloud の PrivateLink サービスへの VPC エンドポイントをセットアップします。
- AWS ポータルを使用して、アベイラビリティゾーンにマッピングする DNS レコードをセットアップし、AWS VPC エンドポイントを使用できるようにします。
- Confluent Cloud への接続を確認します。
前提条件¶
Confluent Cloud で AWS PrivateLink を使用するには、DNS 解決、Confluent Cloud Schema Registry、Confluent CLI が機能するように、VPC でアウトバウンドインターネット接続を許可する必要があります。
- DNS requests to public authority traversing to private DNS zone is required.
- Provisioning new ksqlDB instances requires internet access. After ksqlDB instances are up and running, they are fully accessible over AWS PrivateLink connections.
- Confluent Cloud Schema Registry にはインターネット経由でアクセスできます。
トピック管理などの Confluent Cloud Console のコンポーネントはクラスターエンドポイントを使用するため、これらを機能させるには追加の構成が必要です。AWS PrivateLink で Confluent Cloud Console のすべての機能を使用する場合は、この手順 に従ってください。
警告
AWS PrivateLink 機能の制限については、「制限」を参照してください。
Confluent Cloud に AWS のアカウントを登録する¶
Confluent Cloud のクラスターへの AWS PrivateLink 接続を作成するには、使用する AWS アカウントの ID を登録する必要があります。これは、クラスターへの AWS PrivateLink 接続を、正当な組織のみが開始できるようにするためのセキュリティ対策です。登録された AWS アカウントに含まれていない VPC からの AWS PrivateLink 接続は、Confluent Cloud から承認されません。
複数の AWS アカウントを同一の Confluent Cloud クラスターに登録でき、登録済みの各 AWS アカウントで AWS PrivateLink 接続を複数の VPC から確立できます。
- Cluster Settings ページに移動し、Networking タブ、Add Account の順にクリックします。
- PrivateLink 接続を開始する VPC が含まれているアカウントを表す 12 桁の AWS アカウント番号を指定し、Save をクリックします。Confluent Cloud Console で AWS PrivateLink 接続ステータスが "Pending" から "Active" に変わります。クラスターに接続する前に、VPC で VPC エンドポイントも構成する必要があります。
AWS アカウントで AWS PrivateLink の VPC エンドポイントをセットアップする¶
Confluent Cloud Console で接続ステータスが "Active" になったら、Confluent Cloud クラスターへの AWS PrivateLink 接続を作成できるよう、VPC で VPC エンドポイントを構成する必要があります。
注釈
Confluent は、VPC エンドポイントの構成に Terraform 構成 を使用することをお勧めしています。この構成を使用すれば、以下で説明する手動の手順を自動化することができます。
Confluent Cloud Console の Cluster Settings セクションで、Confluent Cloud クラスターに関する次の情報を確認します。
- Kafka ブートストラップ(General タブ)
- アベイラビリティゾーンの ID(Networking タブ)
- VPC サービスエンドポイント名(Networking タブ)
- DNS ドメイン名(Networking タブ)
- ゾーン DNS サブドメイン名(Networking タブ)
サブネットのアベイラビリティを確認します。
Confluent Cloud のクラスターが作成される特定のゾーンと AWS PrivateLink 接続を開始するユーザーの VPC のゾーンを一致させると、最適な形で使用できます。これらのゾーンに、IP アドレスの割り当てに使用するユーザーの VPC のサブネットを設定する必要があります。これら以外のゾーンにサブネットを設定することもできます。この手順では AWS ゾーンの ID を使用する必要があります。Confluent Cloud クラスターの具体的なアベイラビリティゾーンは Confluent Cloud Console で確認できます。
注釈
Please note: Because Availability Zone names (for example,
us-west-2a
) are inconsistent across AWS accounts, Availability Zone IDs (like usw2-az1) are used.Verify that DNS hostnames and DNS resolution are enabled.
Open the AWS Management Console and go the the VPC Dashboard at https://console.aws.amazon.com/vpc/home.
In the navigation menu under VIRTUAL PRIVATE CLOUD, click Your VPCs.
The Your VPCs page appears.
Select your VPC, click Actions, and Edit DNS hostnames.
The Edit DNS hostnames page appears.
Verify that DNS hostnames is enabled.
Click Actions and then select Edit DNS resolution.
The Edit DNS resolution page appears.
Verify that DNS resolution is enabled.
Create the VPC endpoint.
Open the AWS Management Console and go the the VPC Dashboard at https://console.aws.amazon.com/vpc/home.
In the navigation menu under VIRTUAL PRIVATE CLOUD, click Endpoints.
The Endpoints page appears.
Click Create endpoint.
The Create endpoint page appears.
Under Service category, select Other endpoint services.
Under Service settings, enter the Service name for your Confluent Cloud VPC Service Endpoint Name. You can find this in the Confluent Cloud Console.
Click Verify service. If you get an error, ensure that your account is allowed to create PrivateLink connections.
Under VPC, select the VPC in which to create your endpoint.
Click Create endpoint.
Your VPC endpoint is created and displayed. Copy the VPC Endpoint ID for later use.
Confluent Cloud Console の Networking タブにある Confluent Cloud クラスターのアベイラビリティゾーンを確認します。それらのゾーン内のサービスを選択します。各ゾーンに、必要なサブネットが選択されていることを確認します。Confluent Cloud Console に表示されているすべてのゾーンを追加しないと、除外されたゾーンでブローカーへの接続に問題が発生し、クラスターが使用不可になる可能性があります。
注釈
Confluent Cloud のシングルアベイラビリティゾーンにあるクラスターは、1 つのゾーンでサービスとサブネットを選択する必要があります。一方、Confluent Cloud のマルチアベイラビリティゾーンにあるクラスターは、3 つのゾーンでサービスとサブネットを選択する必要があります。
VPC エンドポイントのセキュリティグループを選択または作成します。
- 対象の送信元(VPC の CIDR)のポート
80
、443
、9092
のそれぞれについて、3 つのインバウンドルールを追加します。これらの 3 つのルールのすべてについて、Protocol はTCP
にする必要があります。- ポート
80
は必須ではありませんが、必要に応じてhttps/443
へのリダイレクト専用として使用できます。Confluent Cloud から承認されるまで待ちます。即座に承認されます(1 分未満)。承認されると、エンドポイントが "Pending" から "Active" に変わります。
Set up DNS records to use AWS VPC endpoints¶
サポートされているパターンで、接続が AWS PrivateLink を介して確立されるためには、DNS を変更する必要があります。任意の DNS プロバイダーを使用できます。AWS Route53(この例で使用しているもの)にする必要はありません。以下のように DNS をルーティングできる任意の DNS プロバイダーを使用可能です。
注釈
DNS ヘルパースクリプト を実行すると、VPC エンドポイントの DNS ゾーンレコードがわかります。
AWS 管理コンソールで AWS Route53 を使用して DNS をアップデートします。
プライベートホストゾーン を作成します。
- Create Hosted Zone をクリックします。
- Confluent Cloud DNS を Domain Name に貼り付けます。これは Confluent Cloud Console で確認できます。
- Type を Private Hosted Zone for Amazon VPC に変更します。
- VPC エンドポイントを追加した VPC ID を選択します。
- Create をクリックします。
以下のようにして、Confluent Cloud のシングルアベイラビリティゾーンにあるクラスターに DNS レコードをセットアップします。
Create the following record with the Create Record button using the VPC Endpoint DNS Name map from the previous setup in the form.
*.$domain CNAME “The lone zonal VPC Endpoint” TTL 60
その例を次に示します。
*.l92v4.us-west-2.aws.confluent.cloud CNAME vpce-09f9f4e9a86682eed-9gxp2f7v-us-west-2c.vpce-svc-04689782e9d70ee9e.us-west-2.vpce.amazonaws.com TTL 60
以下のようにして、Confluent Cloud のマルチアベイラビリティゾーンにあるクラスターに DNS レコードをセットアップします。
- Create the following records with the Create Record button
をクリックして次のレコードを以下の形式で作成します。
*.$domain CNAME “All Zones VPC Endpoint” TTL 60
その例を次に示します。
*.l92v4.us-west-2.aws.confluent.cloud CNAME vpce-09f9f4e9a86682eed-9gxp2f7v.vpce-svc-04689782e9d70ee9e.us-west-2.vpce.amazonaws.com TTL 60
AWS が停止した場合に AWS Route53 の正常性の確認が確実に使用されるように、CNAME を使用します。
1 ゾーンにつき 1 レコードを以下の形式で作成します(これをすべてのゾーンについて繰り返します)。
*.$zoneid.$domain CNAME “Zonal VPC Endpoint” TTL 60
その例を次に示します。
*.usw2-az3.l92v4.us-west-2.aws.confluent.cloud. CNAME vpce-09f9f4e9a86682eed-9gxp2f7v-us-west-2a.vpce-svc-04689782e9d70ee9e.us-west-2.vpce.amazonaws.com TTL 60 *.usw2-az2.l92v4.us-west-2.aws.confluent.cloud. CNAME vpce-09f9f4e9a86682eed-9gxp2f7v-us-west-2c.vpce-svc-04689782e9d70ee9e.us-west-2.vpce.amazonaws.com TTL 60 *.usw2-az1.l92v4.us-west-2.aws.confluent.cloud. CNAME vpce-09f9f4e9a86682eed-9gxp2f7v-us-west-2b.vpce-svc-04689782e9d70ee9e.us-west-2.vpce.amazonaws.com TTL 60
Validate connectivity to Confluent Cloud¶
VPC(または前の手順で DNS をセットアップした場所)内のインスタンスから以下を実行して、AWS PrivateLink を介した Kafka 接続が正常に機能していることを確認します。
クラスターのブートストラップ URL を環境変数に設定します。
export BOOTSTRAP=$<bootstrap-server-url>
The Bootstrap URL displayed in Confluent Cloud Console includes the port (
9092
). TheBOOTSTRAP
value must include the full hostname and port.その例を次に示します。
export BOOTSTRAP=lkc-nkodz-0l6je.us-west-2.aws.confluent.cloud:9092
クラスターへの接続をテストします。
openssl s_client -connect $BOOTSTRAP -servername $BOOTSTRAP -verify_hostname $BOOTSTRAP </dev/null 2>/dev/null | grep -E 'Verify return code|BEGIN CERTIFICATE' | xargs
The Bootstrap URl displayed in Confluent Cloud Console includes the port (
9092
). The$BOOTSTRAP
value must include the full hostname and port (for example,lkc-kkkzpg-o6kyop.us-east-2.aws.glb.devel.cpdev.cloud:9092
).返された出力が
-----BEGIN CERTIFICATE----- Verify return code: 0 (ok)
であれば、ブートストラップへの接続を確認できたことになります。注釈
ネットワークセキュリティツールとファイアウォールをアップデートして接続を許可しなければならない場合があります。この手順を実行した後に接続に問題がある場合は、組織で使用されているネットワークセキュリティシステムを確認し、それらのシステムの構成に変更が必要かどうかを確認してください。それでも問題が解決しない場合は、デバッグ接続スクリプト を実行して出力結果を Confluent サポートに送り、PrivateLink のセットアップに関する支援を受けてください。
次に、Confluent Cloud CLI を使用して接続を確認します。
Confluent Cloud の認証情報を使用して Confluent CLI にログインします。
confluent login
組織のクラスターをリスト表示します。
confluent kafka cluster list
テストする AWS PrivateLink が存在するクラスターを選択します。
confluent kafka cluster use ...
その例を次に示します。
confluent kafka cluster use lkc-a1b2c
クラスターでの認証に使用するクラスター API キーを作成します。
confluent api-key create --resource ... --description ...
その例を次に示します。
confluent api-key create --resource lkc-a1b2c --description "connectivity test"
前の手順で作成した API キーを選択します。
confluent api-key use ... --resource ...
その例を次に示します。
confluent api-key use WQDMCIQWLJDGYR5Q --resource lkc-a1b2c
テストトピックを作成します。
confluent kafka topic create test
テストトピックからのイベントの消費を開始します。
confluent kafka topic consume test
ターミナルのタブまたはウィンドウをもう 1 つ開きます。
プロデューサーを起動します。
confluent kafka topic produce test
プロデューサーのタブに任意の入力を行い、
Enter
キーを押します。プロデューサーを停止するには、Ctrl+D
キーまたはCtrl+C
キーを押します。消費を実行しているタブに、生成を実行しているタブで入力した内容が出力されます。
これで終了です。クラスターは、使用できる状態です。
制限¶
- アフリカ(ケープタウン)リージョンのアベイラビリティゾーン
af-south-1
は、Confluent Cloud の AWS PrivateLink クラスターではサポートされていません。代わりに、このリージョンではクラスターに VPC ピアリング を使用することができます。ピアリングを使用しない場合は、別のリージョンのクラスターで AWS PrivateLink を使用してください。 - Confluent Cloud の AWS PrivateLink クラスターにおける、AWS の
us-east-1
リージョンのアベイラビリティゾーンのサポート状況は以下のとおりです。- サポートされるアベイラビリティゾーン:
use1-az1
、use1-az4
、use1-az5
- サポートされないアベイラビリティゾーン:
use1-az2
、use1-az3
、use1-az6
- サポートされるアベイラビリティゾーン:
- リージョン間の AWS PrivateLink 接続はサポートされていません。
- AWS PrivateLink は専用クラスターでのみ使用できます。
- 既存の Confluent Cloud クラスターを、AWS PrivateLink を使用するように変換することはできません。
- フルマネージド型 Confluent Cloud コネクターは、パブリック IP を使用してソースまたはシンクに接続できます。プライベート IP を使用したユーザーのネットワークのソースまたはシンクはサポートされていません。
- AWS PrivateLink 接続を複数の Confluent Cloud クラスターで共有することはできません。各 Confluent Cloud クラスターに対して別々の AWS PrivateLink 接続を作成する必要があります。
- Confluent Cloud クラスターと AWS PrivateLink サービスの配置のためのアベイラビリティゾーンの選択は、サポートされていません。
- Confluent Cloud のマルチアベイラビリティゾーンにある AWS PrivateLink を使用する各クラスターは、3 つのアベイラビリティゾーンのサービスエンドポイントにプロビジョニングされます。アベイラビリティゾーンが 3 つ以上ある AWS リージョンでは、Confluent Cloud 配置ポリシーに基づいてアベイラビリティゾーンが選択されます。AWS PrivateLink を介して、Confluent Cloud のマルチアベイラビリティゾーンにあるクラスターへの接続を確保するには、以下のいずれかの方法を使用できます。
- リージョンのすべてのアベイラビリティゾーンに VPC のサブネットをプロビジョニングする
- PrivateLink サービスエンドポイントがプロビジョニングされる 3 つ以上のアベイラビリティゾーンに VPC のサブネットをプロビジョニングする。この情報は、Confluent Cloud クラスターがプロビジョニングされた後に Confluent Cloud Console の Cluster Settings ページの Networking タブに表示されます。
- 現在 3 つ以上のアベイラビリティゾーンがあるリージョン:
us-east-1
(北バージニア)とus-west-2
(オレゴン)
- Confluent Cloud のシングルアベイラビリティゾーンにある AWS PrivateLink を使用する各クラスターは、1 つのアベイラビリティゾーンのサービスエンドポイントにプロビジョニングされます。Confluent Cloud 配置ポリシーに基づいてアベイラビリティゾーンが選択されます。AWS PrivateLink を介して、Confluent Cloud のシングルアベイラビリティゾーンにあるクラスターへの接続を確保するには、以下のいずれかの方法を使用できます。
- リージョンのすべてのアベイラビリティゾーンに VPC のサブネットをプロビジョニングする
- PrivateLink サービスエンドポイントがプロビジョニングされるシングルアベイラビリティゾーンに VPC のサブネットをプロビジョニングする。この情報は、Confluent Cloud クラスターがプロビジョニングされた後に Confluent Cloud Console の Cluster Settings ページの Networking タブに表示されます。
- Confluent Cloud のマルチアベイラビリティゾーンにある AWS PrivateLink を使用する各クラスターは、3 つのアベイラビリティゾーンのサービスエンドポイントにプロビジョニングされます。アベイラビリティゾーンが 3 つ以上ある AWS リージョンでは、Confluent Cloud 配置ポリシーに基づいてアベイラビリティゾーンが選択されます。AWS PrivateLink を介して、Confluent Cloud のマルチアベイラビリティゾーンにあるクラスターへの接続を確保するには、以下のいずれかの方法を使用できます。
- AWS PrivateLink 機能の要件については、「前提条件」を参照してください。