プライベートサービス接続の設定(GCP)
このガイドでは、Zilliz Cloudクラスタから異なるGCP VPCでホストされているサービスへのプライベートリンクを設定する手順を説明します。
この機能は専用クラスタでのみ利用可能です。
プライベートリンクはプロジェクトレベルで設定され、同じプロジェクト内の同じクラウドプロバイダーとリージョンにデプロイされたすべてのクラスタに対して有効です。
Zilliz Cloudはプライベートリンクの利用料を請求しません。ただし、クラウドプロバイダーは、Zilliz Cloudにアクセスするために作成した各エンドポイントに対して料金を請求する場合があります。
開始する前に
以下の条件が満たされていることを確認してください:
- サービスとZilliz Cloudクラスタが異なるリージョンにあり、サービスがプライベートサービス接続エンドポイント経由でクラスタにアクセスしたい場合、エンドポイントを作成する際にグローバルアクセスを有効にする必要があります。
プライベートエンドポイントの作成
Zilliz Cloudは、プライベートエンドポイントを追加するための直感的なWebコンソールを提供します。対象のプロジェクトに移動し、左側のナビゲーションでネットワーク > プライベートエンドポイントをクリックし、+ プライベートエンドポイントをクリックします。

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

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

Zilliz Cloudコンソールでコピーして移動をクリックしてGCPでプライベートサービス接続リストを開き、以下の手順に従ってエンドポイントを作成します:
-
開くプライベートサービス接続ページで、+ エンドポイントを接続をクリックします。
-
ターゲットで、公開サービスを選択します。
-
ターゲットサービスで、Zilliz Cloudコンソールからコピーしたものを貼り付けます。
-
エンドポイント名で、エンドポイントに使用する名前を入力します。
-
エンドポイントのネットワークを選択します。Zilliz Cloudクラスタに接続する必要があるサービスは、指定されたVPC内で実行されている必要があります。
-
エンドポイントのサブネットワークを選択します。
-
エンドポイントのIPアドレスを選択するか、新しいものを作成します。
-
サービスと対象のZilliz Cloudクラスタが異なるリージョンにあり、サービスがプライベートサービス接続エンドポイント経由でクラスタにアクセスしたい場合、エンドポイントのグローバルアクセスを有効にするを選択します。
-
ドロップダウンリストから名前空間を選択するか、新しい名前空間を作成します。
-
エンドポイントを追加をクリックします。
-
エンドポイント名をコピーし、Zilliz Cloudコンソールに戻ります。
CLI経由

-
CLI経由タブに切り替えます。
-
プロジェクトIDを入力します。
Google CloudプロジェクトIDを取得するには、
-
Google Cloudダッシュボードを開きます。
-
目的のプロジェクトIDを見つけ、そのIDをコピーします。
-
Zilliz CloudのGoogle CloudプロジェクトIDにこのIDを入力します。
-
-
VPC名を入力します。
VPCエンドポイントを作成する前に、GCPコンソールにVPCが必要です。VPCを表示するには、以下のようにします:
-
Google Cloud VPCダッシュボードを開きます。
-
ナビゲーションペインでVPCネットワークを選択します。
-
目的のVPCを見つけ、その名前をコピーします。
-
Zilliz CloudのVPC名にこの名前を入力します。
VPCネットワークを作成するには、VPCネットワークの作成と管理を参照してください。
-
-
サブネット名を入力します。
サブネットはVPCの分割です。作成するプライベートリンクと同じリージョンにあるサブネットが必要です。サブネットを表示するには、以下のようにします:
-
VPCネットワークリストを開きます。
-
ナビゲーションペインでVPCネットワークを選択します。
-
目的のVPCの名前をクリックします。
-
目的のサブネットを見つけ、その名前をコピーします。
-
Zilliz Cloudのサブネット名にこの名前を入力します。
-
-
プライベートサービス接続エンドポイントプレフィックスを入力します。
利便性のため、プライベートサービス接続エンドポイントプレフィックスでエンドポイントプレフィックスを設定する必要があります。これにより、作成する転送ルールはすべてこのプレフィックスを持つことになります。
-
コードブロックス内のコピーアイコンをクリックし、Google Cloudコンソールに移動します。
上部ナビゲーションでGoogle Cloud Cloud Shellを起動します。Cloud ShellでZilliz CloudからコピーしたCLIコマンドを実行します。

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

プライベートリンクを取得
提出した上記の属性を検証および承認した後、Zilliz Cloudはこのエンドポイントにプライベートリンクを割り当てます。このプロセスには約5分かかります。
プライベートリンクが準備できると、Zilliz Cloudのプライベートリンクページで確認できます。
ファイアウォールルールとDNSレコードを設定
Zilliz Cloudが割り当てたプライベートリンク経由でクラスタにアクセスする前に、プライベートリンクをVPCエンドポイントのDNS名に解決するために、DNSゾーンにCNAMEレコードを作成する必要があります。
ファイアウォールルールを作成
管理対象クラスタへのプライベートアクセスを許可するには、適切なファイアウォールルールを追加します。以下のスニペットは、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ゾーンを作成します。

-
ゾーンタイプでプライベートを選択します。
-
ゾーン名を
zilliz-privatelink-zoneまたは適切な他の値に設定します。 -
DNS名をステップ7で取得したプライベートリンクに設定します。
有効なDNS名は
in01-xxxxxxxxxxxxxxx.gcp-us-west1.vectordb.zillizcloud.comのようになります。 -
ネットワークで適切なVPCネットワークを選択します。
-
作成をクリックします。
ホストゾーンにレコードを作成
-
上記で作成したゾーンで、レコードセットタブの標準を追加をクリックします。
-
レコードセットの作成ページで、デフォルト設定でAレコードを作成します。

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

-
作成をクリックします。
クラスタへのインターネットアクセスを管理
プライベートエンドポイントを設定した後、クラスタのパブリックエンドポイントを無効にして、プロジェクトへのインターネットアクセスを制限することを選択できます。パブリックエンドポイントを無効にすると、ユーザーはプライベートリンクを使用してのみクラスタに接続できます。
パブリックエンドポイントを無効にするには:
-
対象クラスタのクラスタ詳細ページに移動します。
-
接続セクションに移動します。
-
クラスタのパブリックエンドポイントの隣にある設定アイコンをクリックします。
-
情報を読み、パブリックエンドポイントの無効化ダイアログボックスで無効化をクリックします。
プライベートエンドポイントはデータプレーンアクセスにのみ影響します。コントロールプレーンは引き続き公開インターネット経由でアクセスできます。
パブリックエンドポイントを再度有効にした後、パブリックエンドポイントにアクセスできるようになるまで、ローカルDNSキャッシュの有効期限が切れるのを待つ必要がある場合があります。

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

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

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