Private Service Connect(GCP)を設定する
このガイドでは、異なる GCP VPC でホストされているサービスに対して、Zilliz Cloud クラスターからプライベートリンクを設定する手順を説明します。
プライベートリンクはプロジェクトレベルで設定され、このプロジェクト配下で同じクラウドプロバイダーおよびリージョンにデプロイされているすべての Dedicated サービングクラスターと on-demand クラスターに対して有効です。
プライベートエンドポイントはプロジェクトごとに最大 10 個まで作成できます。
Zilliz Cloud は、プライベートエンドポイントの作成および使用に対して課金しません。ただし、Zilliz Cloud へのアクセスのために作成するエンドポイントごとに、クラウドプロバイダーから課金される場合があります。
事前準備
以下の条件を満たしていることを確認してください。
- サービスと Zilliz Cloud クラスターが異なるリージョンにあり、そのサービスから Private Service Connect エンドポイント経由でクラスターにアクセスする場合は、エンドポイントの作成時にグローバルアクセスを有効にすること。
プライベートエンドポイントを作成する
Zilliz Cloud では、直感的な Web コンソールからプライベートエンドポイントを追加できます。対象のプロジェクトに移動し、左側のナビゲーションで Network > Private Endpoint をクリックします。+ Private Endpoint をクリックします。

クラウドプロバイダーとリージョンを選択する
GCP リージョンにデプロイされたクラスター用のプライベートエンドポイントを作成するには、Cloud Provider ドロップダウンリストから GCP を選択します。Region では、プライベートにアクセスするクラスターが配置されているリージョンを選択します。Next をクリックします。
利用可能なクラウドプロバイダーとリージョンの詳細については、Cloud Providers & Regions を参照してください。

エンドポイントを作成する
エンドポイントは、Google Cloud Dashboard(via UI Console)または gCloud CLI(via CLI)のいずれかで作成できます。以下の手順を実行する前に、VPC をすでに作成し、Zilliz Cloud に接続する必要があるサービスをその VPC 内で実行していることを確認してください。
UI コンソール経由

Zilliz Cloud コンソールで Copy and Go をクリックして GCP の Private Service Connect リストを開き、以下の手順に従ってエンドポイントを作成します。
開いた Private Service Connect ページで、+ Connect endpoint をクリックします。
Target で Published service を選択します。
Target Service には、Zilliz Cloud コンソールからコピーした値を貼り付けます。
Endpoint name には、エンドポイントに使用する名前を入力します。
エンドポイントの Network を選択します。Zilliz Cloud クラスターに接続する必要があるサービスは、指定した VPC 内で実行されている必要があります。
エンドポイントの Subnetwork を選択します。
エンドポイントの IP address を選択するか、新しく作成します。
サービスと対象の Zilliz Cloud クラスターが異なるリージョンにあり、そのサービスから Private Service Connect エンドポイント経由でクラスターにアクセスする場合は、エンドポイントの Enable global access を選択します。
ドロップダウンリストから Namespace を選択するか、新しい名前空間を作成します。
Add endpoint をクリックします。
エンドポイント名をコピーし、Zilliz Cloud コンソールに戻ります。
CLI 経由

Via CLI タブに切り替えます。
Project ID を入力します。
Google Cloud のプロジェクト ID を取得するには、次のようにします。
-
Google Cloud Dashboard を開きます。
-
目的のプロジェクト ID を見つけて、その ID をコピーします。
-
この ID を Zilliz Cloud の Google Cloud Project ID に入力します。
VPC Name を入力します。
VPC エンドポイントを作成する前に、GCP コンソール上に VPC が必要です。VPC を表示するには、次のようにします。
-
Google Cloud VPC Dashboard を開きます。
-
ナビゲーションペインで VPC networks を選択します。
-
目的の VPC を見つけて、その名前をコピーします。
-
Zilliz Cloud の VPC Name にこの名前を入力します。
VPC ネットワークを作成するには、Create and manage VPC networks を参照してください。
Subnet Name を入力します。
サブネットは VPC の下位区分です。作成するプライベートリンクと同じリージョンに存在するサブネットが必要です。サブネットを表示するには、次のようにします。
-
VPC network list を開きます。
-
ナビゲーションペインで VPC networks を選択します。
-
目的の VPC の名前をクリックします。
-
目的のサブネットを見つけて、その名前をコピーします。
-
Zilliz Cloud の Subnet Name にこの名前を入力します。
Private Service Connect Endpoint Prefix を入力します。
便宜上、作成するすべての転送ルールにこのプレフィックスが付くように、Private Service Connect Endpoint prefix でエンドポイントプレフィックスを設定する必要があります。
コードブロック内のコピーアイコンをクリックし、Google Cloud コンソールに移動します。
上部のナビゲーションで Google Cloud Cloud Shell を起動します。Zilliz Cloud から先ほどコピーした CLI コマンドを Cloud Shell で実行します。

エンドポイントが作成されたら、Google Cloud Private Service Connect ページ に移動し、作成したエンドポイントの名前をコピーします。
エンドポイントを承認する
Google Cloud コンソールから取得したエンドポイント ID とプロジェクト ID を、Zilliz Cloud の Endpoint ID と Project ID の各ボックスにそれぞれ貼り付けます。Create をクリックします。

プライベートリンクを取得する
送信した上記の属性が検証および承認されると、Zilliz Cloud はこのエンドポイントにプライベートリンクを割り当てます。この処理には約 5 分かかります。
プライベートリンクの準備ができると、Zilliz Cloud の Private Link ページで確認できます。
ファイアウォールルールと DNS レコードを設定する
Zilliz Cloud によって割り当てられたプライベートリンクを介してクラスターにアクセスするには、プライベートリンクを VPC エンドポイントの DNS 名に解決する CNAME レコードを DNS ゾーンに作成する必要があります。
ファイアウォールルールを作成する
マネージドクラスターへのプライベートアクセスを許可するには、適切なファイアウォールルールを追加します。次のスニペットは、TCP ポート 22 経由のトラフィックを許可する方法を示しています。VPC_NAME を VPC の名前に設定する必要があることに注意してください。
VPC_NAME={{vpc-name}};
gcloud compute firewall-rules create psclab-iap-consumer --network $VPC_NAME --allow tcp:22 --source-ranges=35.235.240.0/20 --enable-logging
Cloud DNS を使用してホストゾーンを作成する
GCP コンソールで Cloud DNS に移動し、DNS ゾーンを作成します。

Zone type で Private を選択します。
Zone name を zilliz-privatelink-zone または適切な別の値に設定します。
DNS name を手順 7 で取得したプライベートリンクに設定します。
有効な DNS 名は in01-xxxxxxxxxxxxxxx.gcp-us-west1.vectordb.zillizcloud.com のようになります。
Networks で適切な VPC ネットワークを選択します。
CREATE をクリックします。
ホストゾーンにレコードを作成する
上で作成したゾーンで、RECORD SETS タブの ADD STANDARD をクリックします。
Create record set ページで、デフォルト設定の A レコードを作成します。

IPv4 Address で SELECT IP ADDRESS をクリックし、エンドポイントの IP アドレスを選択します。

CREATE をクリックします。
クラスターへのインターネットアクセスを管理する
プライベートエンドポイントを設定した後、クラスターのパブリックエンドポイントを無効にして、プロジェクトへのインターネットアクセスを制限できます。パブリックエンドポイントを無効にすると、ユーザーはプライベートリンクを使用してのみクラスターに接続できます。
パブリックエンドポイントを無効にするには、次の手順を実行します。
対象クラスターの クラスター Details ページに移動します。
Connection セクションに移動します。
クラスターのパブリックエンドポイントの横にある設定アイコンをクリックします。
情報を確認し、Disable Public Endpoint ダイアログボックスで Disable をクリックします。
-
プライベートエンドポイントが影響するのは data plane へのアクセスのみです。control plane には引き続きパブリックインターネット経由でアクセスできます。
-
パブリックエンドポイントを再度有効にした後、パブリックエンドポイントにアクセスできるようになるまで、ローカル DNS キャッシュが期限切れになるのを待つ必要がある場合があります。

FAQ
GCP 上でプライベートリンクに ping を実行すると、常に Name or service not known が報告されるのはなぜですか?
ファイアウォールルールと DNS レコードを設定する を参照して、DNS 設定を確認してください。
-
設定が正しい場合、プライベートリンクに ping を実行すると、次のように表示されるはずです。

-
設定が正しくない場合、プライベートリンクに ping を実行すると、次のように表示される場合があります。

既存のクラスターに対してプライベートエンドポイントを作成できますか?
はい。プライベートエンドポイントを作成すると、同じリージョンおよびプロジェクトに存在する既存および今後作成されるすべての Dedicated (Enterprise) クラスターに対して有効になります。必要なのは、異なるクラスターごとに異なる DNS レコードを追加することだけです。