注意
この機能は、 無料クラスターと Flex クラスターでは使用できません。使用できない機能の詳細については、Atlas 無料クラスターの制限 を参照してください。
クライアントがプライベートエンドポイントを使用して Atlas 専用クラスターに接続できるようにするには、次の手順に従います。
Atlas でプライベート エンドポイントを使用する方法の詳細については、「Atlas のプライベート エンドポイントについて」を参照してください。
必要なアクセス権
専有クラスターのプライベート エンドポイントを設定するには、プロジェクトに対する Organization Owner または Project Owner アクセス権が必要です。
前提条件、考慮事項、および制限事項
プライベートエンドポイントを設定する際の前提条件、考慮事項、制限については、以下のリソースを参照してください。
実行手順
Atlas CLI 経由で Amazon Web Services PrivateLink を設定するには、 Atlas CLI をインストールし、Atlas CLI から接続します。その後、次の手順を実行します。
Atlas でプライベートエンドポイント サービスを作成します。
Atlas CLI コマンドを実行して、Atlas で AWS PrivateLink の設定を開始します。Atlas はこれらのリソースをプライベートエンドポイント サービスの形式で表します。
--regionの値が、クラスターを配置したリージョンと一致していることを確認します。atlas privateEndpoints aws create [options] コマンドの構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas privateEndpoints aws create を参照してください。
マルチリージョンまたはマルチクラウド クラスターを使用していて、リージョン化されたプライベートエンドポイントを有効にしていない場合は、プロバイダーとリージョンごとにエンドポイントをプロビジョニングする必要があります。
レスポンスにあるプライベートエンドポイント サービスの ID に注目してください。この例では、IDは
6344ac8f51b94c6356527881です。Private endpoint '6344ac8f51b94c6356527881' created.
プライベートエンドポイント サービス名を取得します。
重要: Atlas がプライベートエンドポイントをプロビジョニングするには、しばらく時間がかかる場合があります。この手順を完了する前に、1-2 分待ちます。
Atlas CLI コマンドを実行し、ID を使用してプライベートエンドポイントを記述します。
atlas privateEndpoints aws describe <privateEndpointId> [options] コマンドの構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas privateEndpoints aws describe を参照してください。
レスポンス内にある
ENDPOINT SERVICEの値に注目してください。この値は、このプライベートエンドポイントに関連付けられている プライベートエンドポイント サービスの名前を示しています。この例では、エンドポイント サービスの名前はcom.amazonaws.vpce.us-east-1.vpce-svc-0705499aae25ac77cです。ID ENDPOINT SERVICE STATUS ERROR 6344ac8f51b94c6356527881 com.amazonaws.vpce.us-east-1.vpce-svc-0705499aae25ac77c AVAILABLE STATUSの値がINITIATINGである場合は、Atlas がプライベートエンドポイントをプロビジョニングするまでさらに 1 ~ 2 分待ちます。それから、このステップをもう一度試してください。
AWS でインターフェイスエンドポイントを作成します。
AWS CLI でコマンドを実行します。プレースホルダーは、適切な値に置き換えてください。
プレースホルダー説明{VPC ID}
ピア AWS VPCを識別する一意の文字列。この値は、AWS アカウントの VPC ダッシュボードで確認できます。
{REGION}
クラスターが存在する AWS リージョン。
{サブネット ID}
AWS VPC が使用するサブネットを識別する一意の文字列。これらの値は、 AWSアカウントの Subnet ダッシュボードで確認できます。
重要: 少なくとも 1 つのサブネットを指定する必要があります。指定しない場合、AWS は VPC にインターフェイス エンドポイントをプロビジョニングしません。VPC 内のクライアントがプライベート エンドポイントにトラフィックを送信するには、インターフェイス エンドポイントが必要です。
{サービス名}
以前に取得したプライベート エンドポイント サービスを識別する一意の文字列。
aws ec2 create-vpc-endpoint --vpc-id {VPC-ID} \ --region {REGION} --service-name {SERVICE-NAME} \ --vpc-endpoint-type Interface --subnet-ids {SUBNET-IDS} Amazon Web Services CLI の詳細については、「 インターフェイスエンドポイントの作成 」を参照してください。
フィールド
VpcEndpointIdのレスポンスの値に注目してください。これはプライベートエンドポイントを識別する 22 文字の英数字文字列です。この値は、AWS VPC ダッシュボードの Endpoints > VPC ID でも確認できます。
プライベートエンドポイントのVPCエンドポイントとなる接続されたデバイスIDを指定します。
Atlas CLI コマンドを実行し、Atlas エンドポイント サービス ID と VPC エンドポイント ID を使用して、インターフェイスエンドポイント情報を Atlas に提供します。この例では、次のパラメーターを設定します。
Parameterタイプ値の例endpointServiceIdArgument
6344ac8f51b94c6356527881privateEndpointIdオプション
vpce-00713b5e644e830a3atlas privateEndpoints aws interfaces create <endpointServiceId> [options] コマンドの構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas privateEndpoints aws interfaces create を参照してください。
インターフェイスエンドポイント にトラフィックを送信し、インターフェイスエンドポイントからトラフィックを受信するようにリソースのセキュリティ グループを設定します。
AWS PrivateLink を使用して Atlas クラスターに接続する必要があるリソースごとに、リソースのセキュリティグループは、すべてのポートでインターフェイスエンドポイントのプライベート IP アドレスへのアウトバウンド トラフィックを許可する必要があります。
詳細については、「セキュリティ グループへのルールの追加」を参照してください。
インターフェイスエンドポイントのセキュリティグループを作成して、リソースがアクセスできるようにします。
このセキュリティグループは、AWS PrivateLink を使用して Atlas クラスターに接続する必要がある各リソースからのすべてのポートでインバウンド トラフィックを許可する必要があります。
AWS コンソールで、VPC Dashboard に移動します。
[Security Groups をクリックし、[Create security group] をクリックします。
ウィザードを使用してセキュリティ グループを作成します。VPC リストから VPC を選択していることを確認します。
作成したセキュリティ グループを選択し、Inbound Rules タブをクリックします。
[Edit Rules] をクリックします。
Atlas クラスターに接続する VPC 内の各リソースからのすべてのインバウンド トラフィックを許可するルールを追加します。
[Save Rules] をクリックします。
[Endpoints] をクリックし、VPC のエンドポイントをクリックします。
[Security Groups] タブをクリックし、次に [Edit Security Groups] をクリックします。
作成したセキュリティ グループを追加し、Save をクリックします。
VPCセキュリティ グループ の詳細については、Amazon Web Services のドキュメント を参照してください。
プライベートエンドポイントが利用可能かどうか確認します。
Atlas がすべてのリソースの構成を完了し、プライベートエンドポイントが使用可能になったら、AWS PrivateLink プライベートエンドポイントを使用してクラスターに接続できます。
AWS プライベート エンドポイントが利用可能かどうかを確認するには、次の手順を実行します。
Atlas CLI コマンドを実行し、ID を使用してインターフェイスエンドポイントを記述します。この例では、次のパラメーターを設定します。
Parameterタイプ値の例interfaceEndpointIdArgument
vpce-00713b5e644e830a3endpointServiceIdオプション
6344ac8f51b94c6356527881atlas privateEndpoints aws interfaces describe <interfaceEndpointId> [options] コマンドの構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas privateEndpoints aws interfaces describe を参照してください。
次の例に示すように、
STATUSフィールドの値がAVAILABLEであることを確認します。ID STATUS ERROR vpce-00713b5e644e830a3 AVAILABLE
UI AWS PrivateLinkを通じて を設定するには、次の手順に従います。Atlas
注意
AWSではクロスリージョンのプライベートエンドポイント接続が利用できます。この機能により、単一のプライベートエンドポイント サービスを介して、異なるAWSリージョンから Atlas クラスターに接続できます。利用可能なエンドポイント リージョンの管理の詳細については、 AWS PrivateLink の利用可能なエンドポイント リージョンの管理 を参照してください。
Atlas で、プロジェクトの [Database & Network Access] ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
エンドポイントとなる接続されたデバイスのサービスを作成します。
Create Endpoint Serviceボタンをクリックします。
重要: 組織に支払い方法がまだ設定されていない場合は、Edit Payment Method フォームで請求情報を提供する必要があります。
AWSロゴをクリックして、クラウドプロバイダーを選択します。
Atlas Region リストから、Atlas クラスターが配置されているプライマリ リージョンを選択します。
任意: Accepted Endpoint Regions セクションで、エンドポイント接続を許可する追加のAWSリージョンを選択します。これにより、リージョンをまたいだプライベートエンドポイント接続が可能になります。
注意
プライマリ リージョンは自動的に許容リージョンとして含まれ、削除できません。いつでも追加のリージョンを追加または削除できます。詳細については、 AWS PrivateLink の受け入れ済みエンドポイント リージョンの管理 を参照してください。
[Create Endpoint Service] をクリックします。
エンドポイントとなる接続されたデバイス サービスの作成プロセスには、約 3-5 分かかります。
重要: 組織に支払い情報が保存されていない場合、Atlas は続行する前に支払い情報を追加するよう促します。
エンドポイントとなる接続されたデバイス サービスにエンドポイントを追加します。
エンドポイント サービスが作成されたら、AWS VPCをサービスに接続するためのエンドポイントを追加できます。
エンドポイントとなる接続されたデバイス サービス カードで、Add Endpoint ボタンをクリックします。
エンドポイントとなる接続されたデバイスを追加する方法を選択します。
新しいエンドポイントの作成: 提供されたAWS CLI コマンドを使用して、新しいAWS インターフェイスエンドポイントを作成します。
既存のエンドポイントを接続: すでに作成した既存のAWSインターフェイスエンドポイントを接続します。
新しいエンドポイントとなる接続されたデバイスを作成するか、既存のエンドポイントとなる接続されたデバイスを接続します。
新しいエンドポイントとなる接続されたデバイスを作成するには
Create New Endpoint を選択します。
Amazon Web Services VPCに関する次の詳細を入力します。
Your VPC ID
ピアAmazon Web Services VPCの一意の識別子。 この値は、 Amazon Web Services アカウントの VPC ダッシュボードで確認できます。
Your Subnet IDs
AWS VPC が使用するサブネットの一意の識別子。
これらの値は、AWSアカウントの Subnet ダッシュボードで確認できます。
少なくとも 1 つのサブネットを指定する必要があります。指定しない場合、AWS は VPC にインターフェイス エンドポイントをプロビジョニングしません。VPC 内のクライアントがプライベート エンドポイントにトラフィックを送信するには、インターフェイス エンドポイントが必要です。
Consumer Region
コンシューマー VPC が配置される AWS リージョン。このリージョンは、エンドポイントサービス用に構成された許容エンドポイント リージョンの 1 つである必要があります。
[Create Endpoint] をクリックします。
Atlas は、構成が事前に入力されたAWS CLI コマンドを提供します。
AWS CLI コマンドをコピーし、ターミナルで実行します。
重要: インターフェースエンドポイントを作成するには、必要なAWS権限が必要です。続行する前に、AWS コンソールでエンドポイントとなる接続されたデバイスが
Pending Acceptance状態であることを確認してください。詳細については、「インターフェイスエンドポイントの作成」を参照してください。
コマンドの実行中後、AWS CLI 出力から結果の VPC Endpoint ID をコピーします。これは 22 文字の英数字文字列(例: 、
vpce-0123456789abcdef0)です。VPC Endpoint ID をモーダルに貼り付け、Add Endpoint をクリックします。
Atlas はエンドポイントとなる接続されたデバイス接続を受け入れます。通常、このプロセスには数分かかります。エンドポイントとなる接続されたデバイスが準備完了すると、エンドポイントとなる接続されたデバイスのステータスは Available と表示されます。
AWSですでに作成した既存のエンドポイントを接続するには、次の手順に従います。
Connect Existing Endpoint を選択します。
VPC Endpoint ID を入力します。これは、AWSインターフェイスエンドポイントを識別する 22 文字の英数字文字列です(例: 、
vpce-0123456789abcdef0)。この値は、AWS VPCダッシュボードの Endpoints > VPC ID の下で確認できます。
[Submit Endpoint] をクリックします。
Atlas はエンドポイントとなる接続されたデバイスを検証し、プライベートエンドポイント サービスにリンクします。
インターフェイスエンドポイント にトラフィックを送信し、インターフェイスエンドポイントからトラフィックを受信するようにリソースのセキュリティ グループを設定します。
AWS PrivateLink を使用して Atlas クラスターに接続する必要があるリソースごとに、リソースのセキュリティグループは、すべてのポートでインターフェイスエンドポイントのプライベート IP アドレスへのアウトバウンド トラフィックを許可する必要があります。
詳細については、「セキュリティ グループへのルールの追加」を参照してください。
インターフェイスエンドポイントのセキュリティグループを作成して、リソースがアクセスできるようにします。
このセキュリティグループは、AWS PrivateLink を使用して Atlas クラスターに接続する必要がある各リソースからのすべてのポートでインバウンド トラフィックを許可する必要があります。
AWS コンソールで、VPC Dashboard に移動します。
[Security Groups をクリックし、[Create security group] をクリックします。
ウィザードを使用してセキュリティ グループを作成します。VPC リストから VPC を選択していることを確認します。
作成したセキュリティ グループを選択し、Inbound Rules タブをクリックします。
[Edit Rules] をクリックします。
Atlas クラスターに接続する VPC 内の各リソースからのすべてのインバウンド トラフィックを許可するルールを追加します。
[Save Rules] をクリックします。
[Endpoints] をクリックし、VPC のエンドポイントをクリックします。
[Security Groups] タブをクリックし、次に [Edit Security Groups] をクリックします。
作成したセキュリティ グループを追加し、Save をクリックします。
VPCセキュリティ グループ の詳細については、Amazon Web Services のドキュメント を参照してください。
Atlas で、プロジェクトの [Database & Network Access] ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
プライベートエンドポイントが利用可能であることを確認します。
すべてのリソースが構成され、プライベートエンドポイントが使用可能になったら、AWS PrivateLink プライベートエンドポイントを使用して Atlas クラスターに接続できます。
AWS PrivateLink プライベート エンドポイントが利用可能かどうかを確認するには、次の手順を実行します。
Private Endpoint ページでクラスター タイプを選択し、 AWS PrivateLink を使用して接続するクラスターが含まれるリージョンの、次のステータスを確認します。
Atlas Endpoint Service Status | 利用可能 |
Endpoint Status | 利用可能 |
ステータス値の詳細については、 「 プライベートエンドポイント接続の問題のトラブルシューティング 」を参照してください。
このようなステータスが表示されない場合は、追加情報については「 プライベートエンドポイント接続の問題のトラブルシューティング 」を参照してください。
注意
エンドポイントの失敗やリージョンの欠落など、エンドポイント接続で問題が発生した場合は、トラブルシューティング手順と一般的な解決策については、「プライベートエンドポイント接続の問題のトラブルシューティング」を参照してください。
クロスリージョンのプライベートエンドポイント接続、受け入れ可能なエンドポイントリージョン、制限の詳細については、 AWS PrivateLink の受け入れエンドポイントリージョンの管理 を参照してください。
Atlas CLI を介してAzure Private Link を設定するには、Atlas CLI をインストール し、Atlas CLI から接続 します。その後、次の手順を実行します。
Atlas でプライベートエンドポイント サービスを作成します。
Atlas CLI コマンドを実行して、Atlas でプライベートエンドポイントとプライベートエンドポイント サービスを作成します。
--regionの値が、クラスターを配置したリージョンと一致していることを確認します。atlas privateEndpoints azure create [options] コマンド構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas privateEndpoints azure create を参照してください。
マルチリージョンまたはマルチクラウド クラスターを使用していて、リージョン化されたプライベートエンドポイントを有効にしていない場合は、プロバイダーとリージョンごとにエンドポイントをプロビジョニングする必要があります。
レスポンスにあるプライベートエンドポイント サービスの ID に注目してください。この例では、IDは
6344ac8f51b94c6356527881です。Private endpoint '6344ac8f51b94c6356527881' created.
プライベートエンドポイント サービス名を取得します。
重要: Atlas がプライベートエンドポイントをプロビジョニングするには、しばらく時間がかかる場合があります。この手順を完了する前に、1-2 分待ちます。
Atlas CLI コマンドを実行し、サービス ID を使用してプライベートエンドポイントを記述します。
atlas privateEndpoints azure describe <privateEndpointId> [options] コマンドの構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas privateEndpoints azure describe を参照してください。
レスポンス内にある
ENDPOINT SERVICEの値に注目してください。この値は、エンドポイント サービスの名前を示しています。この例では、エンドポイント サービスの名前はpls_6344ac8f51b94c6356527881です。ID ENDPOINT SERVICE STATUS ERROR 6344ac8f51b94c6356527881 pls_6344ac8f51b94c6356527881 AVAILABLE STATUSの値がINITIATINGである場合は、Atlas がプライベートエンドポイントをプロビジョニングするまでさらに 1 ~ 2 分待ちます。それから、このステップをもう一度試してください。
Azure でエンドポイントを作成します。
Azure CLI で
az network private-endpoint createコマンドを実行します。プレースホルダーは、適切な値に置き換えてください。プレースホルダー説明{リソース グループ名}
Atlas への接続に使用する VNet を含む Azure リソース グループの名前。この値は、Azure ダッシュボードの Resource Group Properties ページで確認できます。
{仮想ネットワーク名}
Atlas への接続に使用する VNet の名前。この値は、 Azure ダッシュボードの Virtual Network ページで確認できます。
{サブネット名}
Azure VNet 内のサブネットの名前。この値は、Azure ダッシュボードの Virtual Network Subnets ページで確認できます。
{プライベートエンドポイント名}
Azure リソース グループ内のプライベートエンドポイントを識別する、人間が判読できるラベル。
{サブスクリプション ID}
Azure のサブスクリプションを識別する一意の文字列。この値は、Azure の Subscriptions ページで確認できます。
{リソース グループ ID}
Atlas 上のAzureリソースグループを識別する一意の文字列。この値は、Private Endpoint ページの Atlas UIの Network Access セクションで確認できます。
この値は
rg_で始まり、rg_65c66a56a3a43...に似た文字と数字の組み合わせを含みます。{エンドポイント サービス名}
エンドポイント サービスを識別する一意の文字列。これは、前のステップで返されたエンドポイント サービス名です。
az network private-endpoint create --resource-group {RESOURCE-GROUP-NAME} --name {PRIVATE-ENDPOINT-NAME} --vnet-name {VIRTUAL-NETWORK-NAME} --subnet {SUBNET-NAME} --private-connection-resource-id /subscriptions/{SUBSCRIPTION-ID}/resourceGroups/{RESOURCE-GROUP-ID}/providers/Microsoft.Network/privateLinkServices/{ENDPOINT-SERVICE-NAME} --connection-name {ENDPOINT-SERVICE-NAME} --manual-request true Azure CLI の詳細については、「 Azure CLI を使用したプライベートエンドポイントの作成 」を参照してください。
プライベートエンドポイントのリソースIDとプライベートIPを指定します。
Atlas CLI コマンドを実行し、Atlas エンドポイント サービス ID、 Azure リソース ID、Azure プライベート IP を使用して Atlas にインターフェイスエンドポイントを作成します。この例では、次のパラメーターを設定します。
Parameterタイプ値の例endpointServiceIdArgument
6344ac8f51b94c6356527881privateEndpointIdオプション
/subscriptions/4e133d35-e734-4385-a565-c0945567ae346/resourceGroups/rg_95847a959b876e255dbb9b33_dfragd7w/providers/Microsoft.Network/privateEndpoints/test-endpointprivateEndpointIpAddressオプション
10.0.0.4atlas privateEndpoints azure interfaces create <endpointServiceId> [options] コマンドの構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas privateEndpoints azure interfaces create を参照してください。
レスポンスにあるプライベートエンドポイントのインターフェイスエンドポイント ID に注目してください。この例では、ID は
/subscriptions/4e133d35-e734-4385-a565-c0945567ae346/resourceGroups/rg_95847a959b876e255dbb9b33_dfragd7w/providers/Microsoft.Network/privateEndpoints/cli-testです。Interface endpoint '/subscriptions/4e133d35-e734-4385-a565-c0945567ae346/resourceGroups/rg_95847a959b876e255dbb9b33_dfragd7w/providers/Microsoft.Network/privateEndpoints/cli-test' created.
プライベートエンドポイントが利用可能かどうか確認します。
Atlas がすべてのリソースの構成を完了し、プライベートエンドポイントが使用可能になったら、Azure Private Link プライベートエンドポイントを使用してクラスターに接続できます。
Azure プライベート エンドポイントが利用可能かどうかを確認するには、次の手順を実行します。
Atlas CLI コマンドを実行し、その ID と前のステップで取得したインターフェイスエンドポイント ID を使用してインターフェイスエンドポイントを記述します。この例では、次のパラメーターを設定します。
Parameterタイプ値の例privateEndpointResourceIdArgument
/subscriptions/4e133d35-e734-4385-a565-c0945567ae346/resourceGroups/rg_95847a959b876e255dbb9b33_dfragd7w/providers/Microsoft.Network/privateEndpoints/cli-testendpointServiceIdオプション
6344ac8f51b94c6356527881atlas privateEndpoints azure interfaces describe <privateEndpointResourceId> [options] コマンドの構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas privateEndpoints azure interfaces describe を参照してください。
次の例に示すように、
STATUSフィールドの値がAVAILABLEであることを確認します。ID STATUS ERROR pls_6344ac8f51b94c6356527881 AVAILABLE
Atlas UI を通じて Azure Private Link を設定するには、次の手順に従います。
Atlas で、プロジェクトの [Database & Network Access] ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
エンドポイントとなる接続されたデバイスのサービスを作成します。
Create Endpoint Serviceボタンをクリックします。
重要: 組織に支払い方法がまだ設定されていない場合は、Edit Payment Method フォームで請求情報を提供する必要があります。
Azureロゴをクリックして、クラウドプロバイダーを選択します。
Atlas Region リストから、Atlas クラスターが配置されているプライマリ リージョンを選択します。
[Create Endpoint Service] をクリックします。
エンドポイントとなる接続されたデバイス サービスの作成プロセスには、約 3-5 分かかります。
重要: 組織に支払い情報が保存されていない場合、Atlas は続行する前に支払い情報を追加するよう促します。
プライベートエンドポイントを設定します。
警告: 接続の中断を回避するには、正しい情報を指定する必要があります。このステップでは、コマンドとサブステップをスキップしないことをお勧めします。
Azure VNet に関する次の詳細を入力します。
Resource Group Name
Atlas への接続に使用する、VNet を含むリソース グループの名前。この値は、Azure ダッシュボードの Resource Group Properties ページで確認できます。
Virtual Network Name
Atlas への接続に使用する VNet の名前。この値は、Azure ダッシュボードの Virtual Network ページで確認できます。
Subnet Name
Azure VNet 内のサブネットの名前。この値は、Azure ダッシュボードの Virtual Network Subnets ページで確認できます。
Private Endpoint Name フィールドに、プライベートエンドポイントの一意の名前を入力します。
ダイアログ ボックスに表示される
az network private-endpoint createコマンドをコピーし、Azure CLI で実行して、VNet にプライベートエンドポイントを作成します。重要: Atlas がバックグラウンドで VNet リソースの作成を完了するまで、コマンドをコピーすることはできません。
このコマンドの詳細については、Azure のドキュメントを参照してください。
プライベートエンドポイントを作成するときに、次のようなエラーが表示される場合があります。
ServiceError: code: LinkedAuthorizationFailed - , The client has permission to perform action 'Microsoft.Network/privateLinkServices/PrivateEndpointConnectionsApproval/action' on scope '/subscriptions/<subscription-id>/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink', however the current tenant '<tenant-id>' is not authorized to access linked subscription '<tenant-id>'. このエラーが発生した場合は、プライベートエンドポイントの作成に使用した Azure CLI コマンドに
--manual-request trueパラメーターを追加して、コマンドを再度実行する必要があります。[Next] をクリックします。
プライベートエンドポイント接続を終了します。
警告: 接続の中断を回避するには、正しい情報を指定する必要があります。このステップでは、コマンドとサブステップをスキップしないことをお勧めします。
プライベートエンドポイントに関する以下の詳細を入力します。
Private Endpoint Resource ID
Azure VNet で作成したプライベートエンドポイントの一意の識別子。次のいずれかの方法でこの値を確認できます。
Azure ダッシュボード上で、プライベートエンドポイントの Properties ページにある、Resource ID フィールドにこのプロパティが表示されます。
先ほどプライベートエンドポイントを作成するために実行した以下のコマンドの出力は、id フィールドでハイライトされている値を返します。
1 azure network private-endpoint create 1 { 2 "customDnsConfigs": [], 3 "etag": "W/\"00000000-0000-0000-0000-000000000000\"", 4 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink", 5 "location": "eastus2", 6 "manualPrivateLinkServiceConnections": [ 7 { 8 "etag": "W/\"00000000-0000-0000-0000-000000000000\"", 9 "groupIds": null, 10 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink/manualPrivateLinkServiceConnections/pls_5f860388d432510d5a6e1a3e", 11 "name": "pls_5f860388d432510d5a6e1a3e", 12 "privateLinkServiceConnectionState": { 13 "actionsRequired": "None", 14 "description": "Connection deleted by service provider", 15 "status": "Disconnected" 16 }, 17 "privateLinkServiceId": "pls_5f860388d432510d5a6e1a3e.00000000-0000-0000-0000-000000000000.eastus2.privatelinkservice", 18 "provisioningState": "Succeeded", 19 "requestMessage": null, 20 "resourceGroup": "privatelink", 21 "type": "Microsoft.Network/privateEndpoints/manualPrivateLinkServiceConnections" 22 } 23 ], 24 "name": "privatelink", 25 "networkInterfaces": [ 26 { 27 "dnsSettings": null, 28 "dscpConfiguration": null, 29 "enableAcceleratedNetworking": null, 30 "enableIpForwarding": null, 31 "etag": null, 32 "hostedWorkloads": null, 33 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000", 34 "ipConfigurations": null, 35 "location": null, 36 "macAddress": null, 37 "name": null, 38 "networkSecurityGroup": null, 39 "primary": null, 40 "privateEndpoint": null, 41 "provisioningState": null, 42 "resourceGroup": "privatelink", 43 "resourceGuid": null, 44 "tags": null, 45 "tapConfigurations": null, 46 "type": null, 47 "virtualMachine": null 48 } 49 ], 50 "privateLinkServiceConnections": [], 51 "provisioningState": "Succeeded", 52 "resourceGroup": "privatelink", 53 "subnet": { 54 "addressPrefix": null, 55 "addressPrefixes": null, 56 "delegations": null, 57 "etag": null, 58 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/virtualNetworks/privatelink/subnets/privatelink", 59 "ipAllocations": null, 60 "ipConfigurationProfiles": null, 61 "ipConfigurations": null, 62 "name": null, 63 "natGateway": null, 64 "networkSecurityGroup": null, 65 "privateEndpointNetworkPolicies": null, 66 "privateEndpoints": null, 67 "privateLinkServiceNetworkPolicies": null, 68 "provisioningState": null, 69 "purpose": null, 70 "resourceGroup": "privatelink", 71 "resourceNavigationLinks": null, 72 "routeTable": null, 73 "serviceAssociationLinks": null, 74 "serviceEndpointPolicies": null, 75 "serviceEndpoints": null 76 }, 77 "tags": null, 78 "type": "Microsoft.Network/privateEndpoints" 79 }
Private Endpoint IP Address
Azure VNet で作成したプライベートエンドポイント ネットワーク インターフェイスのプライベート IP アドレス。次のいずれかの方法でこの値を確認できます。
この値を取得するには、 Azure ダッシュボードを使用します。Azure ダッシュボード上で、プライベートエンドポイントの Overview ページにある、Private IPフィールドにこのプロパティが表示されます。
Azure CLI を使用して、この値を検索します。
先ほどプライベートエンドポイントを作成するために実行した以下のコマンドの出力は、ハイライトされている networkInterfaces.id フィールドに値を返します。
1 azure network private-endpoint create 1 { 2 "customDnsConfigs": [], 3 "etag": "W/\"00000000-0000-0000-0000-000000000000\"", 4 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink", 5 "location": "eastus2", 6 "manualPrivateLinkServiceConnections": [ 7 { 8 "etag": "W/\"00000000-0000-0000-0000-000000000000\"", 9 "groupIds": null, 10 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink/manualPrivateLinkServiceConnections/pls_5f860388d432510d5a6e1a3e", 11 "name": "pls_5f860388d432510d5a6e1a3e", 12 "privateLinkServiceConnectionState": { 13 "actionsRequired": "None", 14 "description": "Connection deleted by service provider", 15 "status": "Disconnected" 16 }, 17 "privateLinkServiceId": "pls_5f860388d432510d5a6e1a3e.00000000-0000-0000-0000-000000000000.eastus2.privatelinkservice", 18 "provisioningState": "Succeeded", 19 "requestMessage": null, 20 "resourceGroup": "privatelink", 21 "type": "Microsoft.Network/privateEndpoints/manualPrivateLinkServiceConnections" 22 } 23 ], 24 "name": "privatelink", 25 "networkInterfaces": [ 26 { 27 "dnsSettings": null, 28 "dscpConfiguration": null, 29 "enableAcceleratedNetworking": null, 30 "enableIpForwarding": null, 31 "etag": null, 32 "hostedWorkloads": null, 33 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000", 34 "ipConfigurations": null, 35 "location": null, 36 "macAddress": null, 37 "name": null, 38 "networkSecurityGroup": null, 39 "primary": null, 40 "privateEndpoint": null, 41 "provisioningState": null, 42 "resourceGroup": "privatelink", 43 "resourceGuid": null, 44 "tags": null, 45 "tapConfigurations": null, 46 "type": null, 47 "virtualMachine": null 48 } 49 ], 50 "privateLinkServiceConnections": [], 51 "provisioningState": "Succeeded", 52 "resourceGroup": "privatelink", 53 "subnet": { 54 "addressPrefix": null, 55 "addressPrefixes": null, 56 "delegations": null, 57 "etag": null, 58 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/virtualNetworks/privatelink/subnets/privatelink", 59 "ipAllocations": null, 60 "ipConfigurationProfiles": null, 61 "ipConfigurations": null, 62 "name": null, 63 "natGateway": null, 64 "networkSecurityGroup": null, 65 "privateEndpointNetworkPolicies": null, 66 "privateEndpoints": null, 67 "privateLinkServiceNetworkPolicies": null, 68 "provisioningState": null, 69 "purpose": null, 70 "resourceGroup": "privatelink", 71 "resourceNavigationLinks": null, 72 "routeTable": null, 73 "serviceAssociationLinks": null, 74 "serviceEndpointPolicies": null, 75 "serviceEndpoints": null 76 }, 77 "tags": null, 78 "type": "Microsoft.Network/privateEndpoints" 79 } az network nic show --id {networkInterface.id} を実行します。networkInterfaces.idフィールドの値を指定してAzure CLI コマンドを実行すると、ipConfigurations.privateIPAddress が取得されます。取得します。このフィールドの値が Private Endpoint IP Address です。入力と出力は、次のようになります。Private Endpoint IP Addressフィールドのハイライトされた値に注目してください。
1 az network nic show --id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000 1 { 2 "dnsSettings": { 3 "appliedDnsServers": [], 4 "dnsServers": [], 5 "internalDnsNameLabel": null, 6 "internalDomainNameSuffix": "<>.cx.internal.cloudapp.net", 7 "internalFqdn": null 8 }, 9 "dscpConfiguration": null, 10 "enableAcceleratedNetworking": false, 11 "enableIpForwarding": false, 12 "etag": "W/\"00000000-0000-0000-0000-000000000000\"", 13 "hostedWorkloads": [], 14 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000", 15 "ipConfigurations": [ 16 { 17 "applicationGatewayBackendAddressPools": null, 18 "applicationSecurityGroups": null, 19 "etag": "W/\"00000000-0000-0000-0000-000000000000\"", 20 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000/ipConfigurations/privateEndpointIpConfig", 21 "loadBalancerBackendAddressPools": null, 22 "loadBalancerInboundNatRules": null, 23 "name": "privateEndpointIpConfig", 24 "primary": true, 25 "privateIpAddress": "10.0.0.4", 26 "privateIpAddressVersion": "IPv4", 27 "privateIpAllocationMethod": "Dynamic", 28 "privateLinkConnectionProperties": { 29 "fqdns": [], 30 "groupId": "", 31 "requiredMemberName": "" 32 }, 33 "provisioningState": "Succeeded", 34 "publicIpAddress": null, 35 "resourceGroup": "privatelink", 36 "subnet": { 37 "addressPrefix": null, 38 "addressPrefixes": null, 39 "delegations": null, 40 "etag": null, 41 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/virtualNetworks/privatelink/subnets/privatelink", 42 "ipAllocations": null, 43 "ipConfigurationProfiles": null, 44 "ipConfigurations": null, 45 "name": null, 46 "natGateway": null, 47 "networkSecurityGroup": null, 48 "privateEndpointNetworkPolicies": null, 49 "privateEndpoints": null, 50 "privateLinkServiceNetworkPolicies": null, 51 "provisioningState": null, 52 "purpose": null, 53 "resourceGroup": "privatelink", 54 "resourceNavigationLinks": null, 55 "routeTable": null, 56 "serviceAssociationLinks": null, 57 "serviceEndpointPolicies": null, 58 "serviceEndpoints": null 59 }, 60 "type": "Microsoft.Network/networkInterfaces/ipConfigurations", 61 "virtualNetworkTaps": null 62 } 63 ], 64 "location": "eastus2", 65 "macAddress": "", 66 "name": "privatelink.nic.00000000-0000-0000-0000-000000000000", 67 "networkSecurityGroup": null, 68 "primary": null, 69 "privateEndpoint": { 70 "customDnsConfigs": null, 71 "etag": null, 72 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink", 73 "location": null, 74 "manualPrivateLinkServiceConnections": null, 75 "name": null, 76 "networkInterfaces": null, 77 "privateLinkServiceConnections": null, 78 "provisioningState": null, 79 "resourceGroup": "privatelink", 80 "subnet": null, 81 "tags": null, 82 "type": null 83 }, 84 "provisioningState": "Succeeded", 85 "resourceGroup": "privatelink", 86 "resourceGuid": "00000000-0000-0000-0000-000000000000", 87 "tags": null, 88 "tapConfigurations": [], 89 "type": "Microsoft.Network/networkInterfaces", 90 "virtualMachine": null 91 }
エンドポイントの説明(任意)を入力します。
[Create] をクリックします。
Atlas で、プロジェクトの [Database & Network Access] ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
プライベートエンドポイントが利用可能であることを確認します。
すべてのリソースの構成を完了し、プライベートエンドポイントが使用可能になったら、Azure Private Link プライベートエンドポイントを使用して Atlas クラスターに接続できます。
Azure Private Link プライベート エンドポイントが利用可能かどうかを確認するには、次の手順を実行します。
Private Endpoint ページでクラスタータイプを選択し、 Azure Private Link を使用して接続するクラスターが含まれるリージョンの、次のステータスを確認します。
Atlas Endpoint Service Status | 利用可能 |
Endpoint Status | 利用可能 |
ステータス値の詳細については、 「 プライベートエンドポイント接続の問題のトラブルシューティング 」を参照してください。
このようなステータスが表示されない場合は、追加情報については「 プライベートエンドポイント接続の問題のトラブルシューティング 」を参照してください。
Atlas CLI を使用して Google Cloud で GCP Private Service Connect を設定するには、 Atlas CLI をインストールし、Atlas CLI から接続します。その後、次の手順を実行します。
Atlas でプライベートエンドポイントを作成します。
Atlas CLI コマンドを実行して、Atlas にポートマップされたプライベートエンドポイントを作成します。
--regionの値が、クラスターを配置したリージョンと一致していることを確認します。./atlas privateEndpoints gcp create --region CENTRAL_US --portMappingEnabled 注意
--portMappingEnabledフラグを明示的に設定しない場合、ポートマッピングなしでプライベートエンドポイントが作成されます。マルチリージョンまたはマルチクラウド クラスターを使用していて、リージョン化されたプライベートエンドポイントを有効にしていない場合は、プロバイダーとリージョンごとにエンドポイントをプロビジョニングする必要があります。
応答内のプライベートエンドポイントの ID をメモします。この例では、ID は
6344ac8f51b94c6356527881です。Private endpoint '6344ac8f51b94c6356527881' created.
プライベートエンドポイントが使用可能になるまで待ちます。
重要: Atlas がプライベートエンドポイントをプロビジョニングするには、しばらく時間がかかる場合があります。この手順を完了する前に、1-2 分待ちます。
Atlas CLI コマンドを実行し、ID を使用してプライベートエンドポイントを記述します。
atlas privateEndpoints gcp describe <privateEndpointId> [options]
コマンド構文とパラメーターの詳細については、atlas privateEndpoints gcp describe の Atlas CLI ドキュメントを参照してください。
次に、出力の例を示します。
ID GROUP NAME REGION STATUS PORT MAPPING ENABLED ERROR 69948cba1faa593416bbbd7d N/A CENTRAL_US AVAILABLE true <nil>
STATUS の値が INITIATING である場合は、Atlas がプライベートエンドポイントをプロビジョニングするまでさらに 1 ~ 2 分待ちます。それから、このステップをもう一度試してください。
GCP でエンドポイントを作成します。
次のコマンドを実行してIPアドレスを割り当て、プライベートエンドポイントを作成し、次のプレースホルダーを実際の値に置き換えます。
プレースホルダー | 説明 |
|---|---|
{GCP-PROJECT-ID} | Google Cloud 内の Google Cloud プロジェクトを識別するユニークな文字列。 |
{ATLAS-GCP-PROJECT-ID} | Atlas がリソースをデプロイする Google Cloud プロジェクトを識別するユニークな文字列。 |
{ENDPOINT} | プライベートエンドポイントを識別するユニークな文字列。 |
{REGION} | クラスターが存在する Google Cloud リージョン。 |
{SUBNET} | Private Service Connect エンドポイントを作成するときは、VPC ネットワーク内のサブネットを指定します。エンドポイントをカプセル化するために新しいサブネットを作成するか、既存のサブネットを使用できます。 |
{VPC-NAME} | Atlas への接続に使用する VNet の名前。この値は、Google Cloud ダッシュボードの VPC ネットワーク ページで確認できます。 |
{GROUP-ID} | Atlasでプロジェクトを識別するユニークな 24 文字の文字列。 |
gcloud config set project {GCP-PROJECT-ID} gcloud compute addresses create {ENDPOINT}-ip --region={REGION} --subnet={SUBNET} gcloud compute forwarding-rules create {ENDPOINT} --region={REGION} --network={VPC-NAME} --address={ENDPOINT}-ip --target-service-attachment=projects/{ATLAS-GCP-PROJECT-ID}/regions/{REGION}/serviceAttachments/sa-{REGION}-{GROUP-ID}
プライベートエンドポイントのVPCエンドポイントとなる接続されたデバイスIDを指定します。
Atlas CLI コマンドを実行し、Atlas エンドポイント ID と VPC エンドポイント ID を使用して Atlas にインターフェイスエンドポイントを作成します。この例では、次のパラメーターを設定します。
Parameterタイプ値の例endpointGroupIdArgument
tester-1endpointServiceIdオプション
6344ac8f51b94c6356527881gcpProjectIdオプション
atlascli-private-endpointsendpointオプション
tester-1@10.142.0.1バッキング プライベートエンドポイント サービスで Google Cloud PSC ポート マッピングが有効になっている場合、このパラメータは 1 のサイズのみになります。
Atlas CLI を使用して Google Cloud プライベートエンドポイントの新しいインターフェースを追加するには、次のコマンドを実行します。
atlas privateEndpoints gcp interfaces create <endpointGroupId> [options] コマンド構文とパラメータの詳細については、atlas privateEndpoints gcp interface create の Atlas CLI ドキュメントを参照してください。
プライベートエンドポイントが利用可能かどうか確認します。
Atlas がすべてのリソースの構成を完了し、プライベートエンドポイントが使用可能になったら、GCP Private Service Connect プライベートエンドポイントを使用してクラスターに接続できます。
次の方法で Google Cloud プライベートエンドポイントが利用可能かどうかを確認します。
Atlas CLI コマンドを実行して、ID を使用してインターフェースエンドポイントを記述します。この例では、前の手順の次のパラメーターを使用します。
Parameterタイプ値の例idArgument
tester-1endpointServiceIdオプション
6344ac8f51b94c6356527881指定したGoogle Cloud Platformプライベートエンドポイントのインターフェースを返します。 Atlas CLI を使用して、次のコマンドを実行します。
atlas privateEndpoints gcp interfaces describe <id> [options] コマンド構文とパラメータの詳細については、 Atlas CLIドキュメントのAtlas privateEndpoints GCP interfaces describe を参照してください。
次の例に示すように、
STATUSフィールドの値がAVAILABLEであることを確認します。ENDPOINT STATUS DELETE REQUESTED tester-1 AVAILABLE false STATUS値がVERIFIEDの場合は、Atlas がプライベートエンドポイントを使用できるようになるまで、さらに 1~2 分かかります。
次の方法で、Atlas UI を使用して Google Cloud で GCP Private Service Connect を設定します。
Atlas で、プロジェクトの [Database & Network Access] ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
プライベートエンドポイントを設定します。
警告: 接続の中断を回避するには、正しい情報を指定する必要があります。このステップでは、コマンドとサブステップをスキップしないことをお勧めします。
Google Cloud VPC に関する次の詳細を入力します。
Google Cloud Project ID
プロジェクトのユニークな ID。この値は、Google Cloud プラットフォームの [Dashboard] ページで確認できます。
VPC Name
Atlas に接続するために使用するVPCの名前。この値は、Google Cloud ダッシュボードの VPC Networks ページで確認できます。
Subnet Name
Google Cloud VPC 内のサブネットの名前。この値は、Google Cloud ダッシュボードの VPC Networks ページで確認できます。
Private Service Connect Endpoint Name
プライベートエンドポイントの一意の名前。この名前は、Google Cloud Platform 上の エンドポイントとなる接続されたデバイス を識別するために使用されます。
提供された Google Cloud コマンドを実行して、 VPCでIPアドレスを予約します。この単一のIPアドレスは、Atlas に接続するためにプライベートエンドポイントによって使用されます。
[Next] をクリックします。
[Create Private Endpoint] をクリックします。
Google Cloud VPCで予約したIPアドレスを求められたら、入力します。
提供された Google Cloud コマンドを実行して、 VPCに必要な転送ルールを作成します。
[Done] をクリックします。
Atlas で、プロジェクトの [Database & Network Access] ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
プライベートエンドポイントが利用可能であることを確認します。
GCP Private Service Connect プライベートエンドポイントを使用して Atlas クラスタに接続できるのは、すべてのリソースが設定され、プライベートエンドポイントが使用可能になったときです。
次の方法で GCP Private Service Connect プライベートエンドポイントが利用可能かどうかを確認します。
Private Endpoint ページで、 GCP Private Service Connect を使用して接続するクラスターを含むリージョンの次のステータスを確認します。
Atlas Endpoint Service Status | 利用可能 |
Endpoint Status | 利用可能 |
ステータス値の詳細については、 「 プライベートエンドポイント接続の問題のトラブルシューティング 」を参照してください。
このようなステータスが表示されない場合は、追加情報については「 プライベートエンドポイント接続の問題のトラブルシューティング 」を参照してください。