メインコンテンツまでスキップ

PrivateLink (AWS) を設定する

このガイドでは、異なる AWS VPC でホストされているサービスに対して、Zilliz Cloud クラスターからプライベートリンクを設定する手順を説明します。

プライベートリンクはプロジェクトレベルで設定され、このプロジェクト配下で同じクラウドプロバイダーおよびリージョンにデプロイされたすべての Dedicated サービングクラスターと on-demand クラスターに対して有効です。

📘Note

プロジェクトごとに最大 10 個のプライベートエンドポイントを作成できます。

Zilliz Cloud はプライベートエンドポイントの作成および使用に対して課金しません。ただし、Zilliz Cloud へのアクセスのために作成する各エンドポイントについては、クラウドプロバイダーから課金される場合があります

開始前に

以下を確認してください。

  • サービスと Zilliz Cloud クラスターが異なるリージョンにあり、そのサービスが AWS PrivateLink 経由でクラスターにアクセスする必要がある場合は、チケットを送信してください。こちらで対応します。

プライベートエンドポイントを作成する

Zilliz Cloud では、直感的な Web コンソールでプライベートエンドポイントを追加できます。対象のプロジェクトに移動し、左側のナビゲーションで Network > Private Endpoint をクリックします。+ Private Endpoint をクリックします。

I02ibsAgioWpuLxwzHDcp1c2nge

ステップ 1: クラウドプロバイダーとリージョンを選択する

AWS リージョンにデプロイされたクラスター用のプライベートエンドポイントを作成するには、Cloud Provider ドロップダウンリストから AWS を選択します。Region では、プライベートにアクセスしたいクラスターが配置されているリージョンを選択します。Next をクリックします。

利用可能なクラウドプロバイダーとリージョンの詳細については、Cloud Providers & Regions を参照してください。

NxuFbXh41oA53VxB4sPcfR9snVg

ステップ 2: エンドポイントを作成する

このステップは、クラウドプロバイダーのコンソールで UI コンソールまたは CLI を使用して完了する必要があります。

  • UI コンソールを使用する場合

    AJlTbcoxNoXKBIxAxz6cYrkBnrc

    1

    Via UI Console タブに切り替え、Service Name をコピーします。

    2

    AWS コンソールに移動し、右上でサービスが稼働しているリージョンを選択します。次に、左側のナビゲーションで Endpoints をクリックします。Create Endpoint をクリックします。

    📘Notes

    必ず、Zilliz Cloud クラスターへのアクセスが必要なサービスが存在するリージョンを使用してください。

    • サービスが Zilliz Cloud クラスターをホストしているリージョンと同じリージョンで動作している場合は、そのリージョンを使用します。

    • サービスが Zilliz Cloud クラスターをホストしているリージョンとは異なるリージョンで動作している場合は、サービスが動作しているリージョンを使用します。

    setup_private_link_window_aws

    3

    Create Endpoint ページで、エンドポイントの Type として Endpoint services that use NLBs and GWLBs を選択します。

    create_endpoint_type_gcp

    4

    Service Settings で、Zilliz Cloud Web コンソールからコピーした Service NameService Name フィールドに貼り付けます。その後、Verify service をクリックします。

    enter_service_name_gcp

    📘📘 Notes

    サービスが Zilliz Cloud クラスターがホストされているリージョンとは異なるリージョンで動作している場合は、Enable Cross Region endpoint を選択し、Zilliz Cloud クラスターが稼働しているリージョンを選択してください。その後、Verify service をクリックします。

    次の図では、Zilliz Cloud クラスターは Europe (Frankfurt) で稼働しており、サービスは別のリージョンで稼働しているものとしています。

    NX2AbfqBfokf1axbn4LchJfZnqS

    5

    サービス名の検証が完了したら、まずサブネットとセキュリティグループを設定し、その後 Create をクリックします。

    6

    エンドポイントの作成に成功したら、Endpoint ID(vpce- で始まる)をコピーします。

  • CLI を使用する場合

    TzQdb9ReToZlkTxGRVZcCdUbnOe

    1

    Via CLI タブに切り替えます。

    2

    VPC ID を入力します。

    VPC を確認するには、Amazon VPC console に移動します。ナビゲーションペインで Your VPCs を選択します。目的の VPC を見つけて ID をコピーします。この ID を Zilliz Cloud の VPC ID に入力します。

    VPC の作成については、Create a VPC を参照してください。

    3

    Subnet IDs を入力します。

    サブネットは VPC の下位区分です。作成するプライベートエンドポイントと同じリージョンに存在するサブネットが必要です。サブネットを確認するには、Amazon VPC console に移動します。現在のリージョンを、プライベートリンクの作成用に指定したリージョンに変更します。ナビゲーションペインで Subnets を選択します。目的のサブネットを見つけて ID をコピーします。この ID を Zilliz Cloud の Subnet IDs に入力します。

    サブネットの作成については、Create a Subnet in Your VPC を参照してください。

    4

    コードブロックのコピーアイコンをクリックし、AWS コンソールに移動します。

    上部ナビゲーションで AWS CloudShell を起動します。Zilliz Cloud からコピーした CLI コマンドを CloudShell で実行します。

    setup_private_link_aws_cloud_shell

    返されるメッセージは次のようになります。

    json
    {
    "VpcEndpoint": {
    # Copy this and fill it in "Your VPC Private Link ID"
    "VpcEndpointId": "vpce-0ce90d01341533a5c",
    "VpcEndpointType": "Interface",
    ...
    "DnsEntries": [
    {
    # Copy this one and use it as "VPCE_DNS" in the next step.
    "DnsName": "vpce-0ce90d01341533a5c-ngbqfdnj.vpce-svc-0b62964bfd0edfb74.us-west-2.vpce.amazonaws.com",
    "HostedZoneId": "Z1YSA3EXCYUU9Z"
    },
    {
    "DnsName": "vpce-0ce90d01341533a5c-ngbqfdnj-us-west-2a.vpce-svc-0b62964bfd0edfb74.us-west-2.vpce.amazonaws.com",
    "HostedZoneId": "Z1YSA3EXCYUU9Z"
    }
    ]
    }

    返されたメッセージで、作成された VPC エンドポイントの VpcEndpointId(vpce- で始まる)をコピーします。

ステップ 3: エンドポイントを承認する

AWS コンソールから取得したエンドポイント ID を、Zilliz Cloud の Endpoint ID ボックスに貼り付けます。Create をクリックします。

setup_private_link_aws_authorize_endpoint

送信した VPC エンドポイントの検証および承認が完了すると、Zilliz Cloud はこのエンドポイントに対してプライベートリンクを割り当てます。このプロセスには約 5 分かかります。

プライベートリンクの準備が完了すると、Zilliz Cloud の Private Link ページで確認できます。

DNS レコードを設定する

Zilliz Cloud によって割り当てられたプライベートリンク経由でクラスターにアクセスする前に、DNS ゾーンで CNAME レコードを作成し、プライベートリンクを VPC エンドポイントの DNS 名に解決できるようにする必要があります。

  • Amazon Route 53 を使用してホストゾーンを作成する

    Amazon Route 53 は Web ベースの DNS サービスです。DNS レコードを追加できるように、ホスト DNS ゾーンを作成します。

    A1zxblLRPo96Kvx0zzccZ485nGb

    1

    AWS アカウントにログインし、Hosted zones に移動します。

    2

    Create hosted zone をクリックします。

    3

    Hosted zone configuration セクションで、次のパラメーターを設定します。

    パラメーター名

    パラメーターの説明

    Domain name

    • サービングクラスター: 対象のサービングクラスターに対して Zilliz Cloud が割り当てた Private Link。

    • オンデマンドコンピューティング: サービスのプロジェクトエンドポイント。

    Description

    ホストゾーンを区別するために使用する説明です。

    Type

    Private hosted zone を選択します。

    4

    ホストゾーンに関連付ける VPC のセクションで、VPC ID を追加してホストゾーンに関連付けます。

  • ホストゾーンにエイリアスレコードを作成する

    エイリアスレコードは、エイリアス名を実際のドメイン名または正規ドメイン名にマッピングする DNS レコードの一種です。Zilliz Cloud によって割り当てられたプライベートリンクを、VPC エンドポイントの DNS 名にマッピングするためのエイリアスレコードを作成します。これにより、プライベートリンクを使用してクラスターにプライベートにアクセスできるようになります。

    VoCsbJtTDo1glVx0vtGcqWPRnEd

    1

    作成したホストゾーンで、Create record をクリックします。

    2

    Create record ページで、Alias をオンにし、次のように Route traffic to を選択します。

    1. 1 つ目のドロップダウンリストで Alias to VPC endpoint を選択します。

    2. 2 つ目のドロップダウンリストでクラウドリージョンを選択します。

    3. 上で作成した VPC エンドポイントの DNS 名を入力します。

    3

    Create records をクリックします。

クラスターへのインターネットアクセスを管理する

プライベートエンドポイントを設定した後、クラスターのパブリックエンドポイントを無効にして、プロジェクトへのインターネットアクセスを制限することを選択できます。パブリックエンドポイントを無効にすると、ユーザーはプライベートリンクを使用してのみクラスターに接続できます。

パブリックエンドポイントを無効にするには、次の手順を実行します。

1

対象クラスターの Cluster Details ページに移動します。

2

Connect セクションに移動します。

3

クラスターのパブリックエンドポイントの横にある設定アイコンをクリックします。

4

情報を読み、Disable Public Endpoint ダイアログボックスで Disable をクリックします。

📘📘 Notes
  • プライベートエンドポイントは data plane アクセスにのみ影響します。Control plane には引き続きパブリックインターネット経由でアクセスできます。

  • パブリックエンドポイントを再度有効にした後、パブリックエンドポイントにアクセスできるようになるまで、ローカル DNS キャッシュの有効期限が切れるのを待つ必要がある場合があります。

disable_public_endpoint

FAQ

通常、タイムアウトは次の理由で発生します。

  • プライベート DNS レコードが存在しない。

    DNS レコードが存在する場合、次のようにプライベートリンクに ping を実行できます。

    QOanbDGrYovMXHxczXmcCbUcnsc

    📘Notes

    ping リクエストの出力で VPC エンドポイントの IP アドレスが正しく解決されていれば、DNS レコードは機能しています。

    次のように表示される場合は、DNS レコードを設定する必要があります。

    X5ahblpw1oRxp8xKR3OczuD9nFf

  • セキュリティグループルールが存在しない、または無効である。

    AWS コンソールで、EC2 インスタンスから VPC エンドポイントへのトラフィックに対してセキュリティグループルールを適切に設定する必要があります。VPC 内の適切なセキュリティグループは、プライベートリンクに付加されたポートで、EC2 インスタンスからのインバウンドアクセスを許可する必要があります。

    curl コマンドを使用してプライベートリンクの接続性をテストできます。正常な場合は 400 レスポンスが返されます。

    ERtlbR2v7oA3Q4xXRlccM3VhnNc

    次のスクリーンショットのように curl コマンドが応答なしでハングする場合は、Create a VPC endpoint のステップ 9 を参照して、適切なセキュリティグループルールを設定する必要があります。

    KHj0bEy7ZojM6axnR0ocg1LPnue

    📘Notes

    2 つのセキュリティグループを設定する必要があります。1 つは EC2 インスタンス用で、プライベートリンクに関連付けられたポートでのトラフィックを許可する必要があります。もう 1 つは VPC エンドポイント用で、EC2 インスタンスの IP アドレスからのトラフィックを許可し、指定されたポート番号を対象とする必要があります。

既存のクラスターに対してプライベートエンドポイントを作成できますか?

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

Ctrl I