インターフェイス VPC エンドポイント (AWS PrivateLink) - Amazon Virtual Private Cloud

インターフェイス VPC エンドポイント (AWS PrivateLink)

インターフェイス VPC エンドポイント (インターフェイスエンドポイント) では、AWS PrivateLink を使用するサービスに接続できます。これらのサービスには、AWS の一部のサービス、他の AWS のお客様およびパートナーによって各自の VPC でホストされるサービス (エンドポイントサービスと呼ばれます)、およびサポートされている AWS Marketplace パートナーサービスが含まれます。サービスの所有者はサービスプロバイダです。インターフェイスエンドポイントを作成するプリンシパルとしてのユーザーは、サービスコンシューマーです。

以下は、インターフェイスエンドポイントの一般的な設定手順です。

  1. インターフェイスエンドポイントを作成する先の VPC を選択し、接続先の AWS のサービス、エンドポイントサービス、または AWS Marketplace サービスの名前を指定します。

  2. インターフェイスエンドポイントを使用する VPC 内のサブネットを選択します。このサブネットでエンドポイントネットワークインターフェイスを作成します。サービスでサポートされている複数のアベイラビリティーゾーンに複数のサブネットを指定すると、アベイラビリティーゾーンの障害からインターフェイスエンドポイントをより確実に回復できます。この場合は、指定した各サブネットでエンドポイントネットワークインターフェイスを作成します。

    注記

    エンドポイントネットワークインターフェイスは、リクエスタによって管理されるネットワークインターフェイスです。このインターフェイスはアカウントで表示できますが、お客様自身で管理することはできません。詳細については、「Elastic Network Interface」を参照してください。

  3. エンドポイントネットワークインターフェイスに関連付けるセキュリティグループを指定します。セキュリティグループは、VPC のリソースからエンドポイントネットワークインターフェイスへのトラフィックを制御します。セキュリティグループを指定しないと、VPC のデフォルトのセキュリティグループが関連付けられます。

  4. (オプションの AWS サービスと AWS Marketplace パートナーサービスのみ) デフォルトの DNS ホスト名を使用してサービスにリクエストを行うには、エンドポイントのプライベート DNS を有効にします。

    重要

    AWS サービスおよび AWS Marketplace パートナーサービス用に作成されたエンドポイントに対しては、プライベート DNS がデフォルトで有効になります。

    プライベート DNS は、同じ VPC とアベイラビリティーゾーンまたはローカルゾーンにある他のサブネットで有効になっています。

  5. サービスプロバイダーとコンシューマーが別のアカウントにある場合、アベイラビリティーゾーン ID を使用してインターフェイスエンドポイントのアベイラビリティーゾーンを識別する方法の詳細については、「インターフェイスエンドポイントのアベイラビリティーゾーンに関する考慮事項」を参照してください。

  6. インターフェイスエンドポイントの作成後、サービスプロバイダーによって承諾されると、そのインターフェイスエンドポイントが使用可能になります。サービスプロバイダは、リクエストを自動または手動で承諾するようにサービスを設定する必要があります。通常、AWS のサービスおよび AWS Marketplace のサービスは、エンドポイントのすべてのリクエストを自動的に承諾します。エンドポイントのライフサイクルの詳細については、「インターフェイスエンドポイントのライフサイクル」を参照してください。

エンドポイントでは、VPC 内のリソースに対するリクエストをサービスからは開始できません。エンドポイントは、VPC 内のリソースから開始されたトラフィックに対してのみレスポンスを返します。サービスとエンドポイントを統合する前に、サービス固有の設定や制限について、サービス固有の VPC エンドポイントのドキュメントをご確認ください。

インターフェイスエンドポイントのプライベート DNS

インターフェイスエンドポイントを作成すると、サービスとの通信に使用できるエンドポイント固有の DNS ホスト名が生成されます。AWS サービスおよび AWS Marketplace パートナーサービスの場合、プライベート DNS オプション (デフォルトで有効) は、プライベートホストゾーンを VPC と関連付けます。ホストゾーンにはサービスのデフォルトの DNS 名 (ec2.us-east-1.amazonaws.com など) のレコードセットが含まれており、VPC のエンドポイントネットワークインターフェイスのプライベート IP アドレスに解決されます。これにより、エンドポイント固有の DNS ホスト名ではなく、デフォルトの DNS 名を使用してサービスにリクエストを行うことができます。たとえば、既存のアプリケーションから AWS のサービスにリクエストを行う場合、インターフェイスエンドポイントを介して引き続きリクエストを行うことができます。設定の変更は必要ありません。

次の図に示す例では、サブネット 2 に Amazon Kinesis Data Streams のインターフェイスエンドポイントとエンドポイントネットワークインターフェイスがあります。インターフェイスエンドポイントのプライベート DNS は有効になっていません。サブネットのルートテーブルには、次のルートがあります。

サブネット 1
送信先 ターゲット
10.0.0.0/16 ローカル
0.0.0.0/0 internet-gateway-id
サブネット 2
送信先 ターゲット
10.0.0.0/16 ローカル

いずれかのサブネットのインスタンスは、エンドポイント固有の DNS ホスト名を使用して、インターフェイスエンドポイントを介して Amazon Kinesis Data Streams にリクエストを送信できます。サブネット 1 のインスタンスは、そのデフォルトの DNS 名を使用して AWS リージョンのパブリック IP アドレス空間経由で Amazon Kinesis Data Streams と通信できます。


                    インターフェイスエンドポイントとパブリックインターネットを使用して Kinesis にアクセスする

次の図では、エンドポイントのプライベート DNS が有効になっています。いずれかのサブネットのインスタンスは、デフォルトの DNS ホスト名またはエンドポイント固有の DNS ホスト名を使用して、インターフェイスエンドポイントを介して Amazon Kinesis Data Streams にリクエストを送信できます。


					インターフェイスエンドポイントを使用して Kinesis にアクセスする
重要

プライベート DNS を使用するには、VPC 属性のenableDnsHostnames および enableDnsSupporttrue に設定する必要があります。詳細については、「VPC の DNS サポートを表示および更新する」を参照してください。IAM ユーザーは、ホストゾーンを操作するアクセス権限が必要です。詳細については、「Route 53 に対する認証とアクセスコントロール」を参照してください。

インターフェイスエンドポイントのプロパティと制限

インターフェイスエンドポイントを使用するには、そのプロパティと現在の制限に注意する必要があります。

  • 各インターフェイスエンドポイントで選択できるサブネットは、アベイラビリティーゾーンあたり 1 つのみです。

  • 一部のサービスでは、サービスへのアクセスを制御するためのエンドポイントポリシーの使用がサポートされています。エンドポイントポリシーをサポートするサービスの詳細については、「VPC エンドポイント によるサービスのアクセスコントロール」を参照してください。

  • インターフェイスエンドポイントを介したサービスへのアクセスは、一部のアベイラビリティーゾーンでサポートされない場合があります。サポートされるアベイラビリティーゾーンを確認するには、describe-vpc-endpoint-services コマンドまたは Amazon VPC コンソールを使用してください。詳細については、「インターフェイスエンドポイントの作成」を参照してください。

  • インターフェイスエンドポイントを作成する場合、エンドポイントはアカウントにマッピングされているアベイラビリティーゾーンに作成され、他のアカウントからは独立したものになります。サービスプロバイダーとコンシューマーが別のアカウントにある場合、アベイラビリティーゾーン ID を使用してインターフェイスエンドポイントのアベイラビリティーゾーンを識別する方法の詳細については、「インターフェイスエンドポイントのアベイラビリティーゾーンに関する考慮事項」を参照してください。

  • サービスプロバイダーとコンシューマーが異なるアカウントを持ち、複数のアベイラビリティーゾーンを使用する場合に、コンシューマーが VPC エンドポイントサービス情報を表示すると、レスポンスには共通のアベイラビリティーゾーンのみが含まれます。たとえば、サービスプロバイダーアカウントが us-east-1aus-east-1c を使用し、コンシューマーが us-east-1aus-east-1b を使用する場合、レスポンスには共通のアベイラビリティーゾーン us-east-1a にある VPC エンドポイントサービスが含まれます。

  • デフォルトでは、各インターフェイスエンドポイントは、アベイラビリティーゾーンあたり最大 10 Gbps の帯域幅をサポートでき、最大 40 Gbps までバーストできます。アプリケーションでより高いバーストや持続的なスループットが必要な場合は、AWS サポートにお問い合わせください。

  • サブネットのネットワーク ACL でトラフィックが制限される場合、エンドポイントネットワークインターフェイスを通じてトラフィックを送信できないことがあります。サブネットの CIDR ブロックに出入りするトラフィックを許可する適切なルールを追加してください。

  • エンドポイントネットワークインターフェイスに関連付けられているセキュリティグループで、エンドポイントネットワークインターフェイスと、サービスと通信する VPC 内のリソース間の通信が許可されていることを確認します。セキュリティグループが VPC 内のリソースからのインバウンド HTTPS トラフィック (ポート 443) を制限している場合、エンドポイントネットワークインターフェイスを介してトラフィックを送信できないことがあります。

  • インターフェイスエンドポイントは TCP トラフィックのみをサポートします。

  • エンドポイントを作成するときは、接続先のサービスへのアクセスを制御するエンドポイントポリシーを、エンドポイントにアタッチできます。詳細については、「ポリシーのベストプラクティス」および「VPC エンドポイント によるサービスのアクセスコントロール」を参照してください。

  • エンドポイントサービスのサービス固有の制限を確認します。

  • 同じリージョン内のエンドポイントのみがサポートされています。別のリージョンで、VPC とサービス間のエンドポイントを作成することはできません。

  • エンドポイントは IPv4 トラフィックのみをサポートします。

  • 1 つの VPC から別の VPC にエンドポイントを転送したり、1 つのサービスから別のサービスにエンドポイントを転送することはできません。

  • VPC あたりに作成できるエンドポイントの数にはクォータがあります。詳細については、「VPC エンドポイント」を参照してください。

オンプレミスのデータセンターへの接続

インターフェイスエンドポイントとオンプレミスのデータセンター間の接続には、次のタイプの接続を使用できます。

インターフェイスエンドポイントのライフサイクル

インターフェイスエンドポイントは、その作成時 (エンドポイントの接続リクエスト) を始まりとして、様々な段階を経過します。段階ごとに、サービスコンシューマーとサービスプロバイダが実行できるアクションを伴う場合があります。


	                インターフェイスエンドポイントのライフサイクル

以下のルールが適用されます。

  • サービスプロバイダは、インターフェイスエンドポイントのリクエストを自動または手動で承諾するようにサービスを設定できます。通常、AWS のサービスおよび AWS Marketplace のサービスは、エンドポイントのすべてのリクエストを自動的に承諾します。

  • サービスプロバイダは、サービスへのインターフェイスエンドポイントを削除できません。インターフェイスエンドポイントを削除できるのは、インターフェイスエンドポイント接続をリクエストしたサービスコンシューマーのみです。

  • サービスプロバイダーは、承諾後の available 状態になっているインターフェイスエンドポイントを (手動または自動で) 拒否できます。

インターフェイスエンドポイントのアベイラビリティーゾーンに関する考慮事項

インターフェイスエンドポイントを作成する場合、エンドポイントはアカウントにマッピングされているアベイラビリティーゾーンに作成され、他のアカウントからは独立したものになります。サービスプロバイダーとコンシューマーが別のアカウントにある場合、アベイラビリティーゾーン ID を使用してインターフェイスエンドポイントのアベイラビリティーゾーンを一意に一貫して識別します。たとえば、use1-az1us-east-1 リージョンのアベイラビリティーゾーン ID であり、すべての AWS アカウントで同じ場所にマッピングされます。アベイラビリティーゾーン ID の詳細については、AWS RAM ユーザーガイドの「リソースの AZ ID」を参照するか、describe-availability-zones を使用してください。

インターフェイスエンドポイントを介したサービスへのアクセスは、一部のアベイラビリティーゾーンでサポートされない場合があります。次のいずれかのオペレーションを使用して、サービスに対してサポートされているアベイラビリティーゾーンを確認できます。

インターフェイスエンドポイントの料金

サービスへのインターフェイスエンドポイントの作成と使用には料金がかかります。時間単位の使用料金とデータ処理料金が適用されます。インターフェイスエンドポイント料金の詳細については、AWS PrivateLink の料金を参照してください。インターフェイスエンドポイントの総数を表示するには、Amazon VPC コンソール または AWS CLI を使用します。

使用可能な AWS のサービス名の表示

Amazon VPC コンソールを使用してエンドポイントを作成すると、使用可能な AWS サービス名のリストを取得できます。

AWS CLI を使用してエンドポイントを作成する場合、describe-vpc-endpoint-services コマンドを使用してサービス名を表示し、create-vpc-endpoint コマンドを使用してエンドポイントを作成できます。

Console

コンソールを使用して利用可能な AWS のサービスを表示するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Endpoints]、[Create Endpoint] の順に選択します。

  3. [Service Name (サービス名)] セクションに、使用可能なサービスが表示されます。

Command line

AWS CLI を使用して使用可能な AWS のサービスを表示するには

  • describe-vpc-endpoint-services コマンドを使用して使用可能なサービスのリストを取得します。返された出力で、接続先のサービスの名前をメモします。ServiceType フィールドは、インターフェイスエンドポイントまたはゲートウェイエンドポイントを介してサービスに接続するかどうかを示します。ServiceName フィールドはサービス名を示します。

    aws ec2 describe-vpc-endpoint-services
    { "VpcEndpoints": [ { "VpcEndpointId": "vpce-08a979e28f97a9f7c", "VpcEndpointType": "Interface", "VpcId": "vpc-06e4ab6c6c3b23ae3", "ServiceName": "com.amazonaws.us-east-2.monitoring", "State": "available", "PolicyDocument": "{\n \"Statement\": [\n {\n \"Action\": \"*\", \n \"Effect\": \"Allow\", \n \"Principal\": \"*\", \n \"Resource\": \"*\"\n }\n ]\n}", "RouteTableIds": [], "SubnetIds": [ "subnet-0931fc2fa5f1cbe44" ], "Groups": [ { "GroupId": "sg-06e1d57ab87d8f182", "GroupName": "default" } ], "PrivateDnsEnabled": false, "RequesterManaged": false, "NetworkInterfaceIds": [ "eni-019b0bb3ede80ebfd" ], "DnsEntries": [ { "DnsName": "vpce-08a979e28f97a9f7c-4r5zme9n.monitoring.us-east-2.vpce.amazonaws.com", "HostedZoneId": "ZC8PG0KIFKBRI" }, { "DnsName": "vpce-08a979e28f97a9f7c-4r5zme9n-us-east-2c.monitoring.us-east-2.vpce.amazonaws.com", "HostedZoneId": "ZC8PG0KIFKBRI" } ], "CreationTimestamp": "2019-06-04T19:10:37.000Z", "Tags": [], "OwnerId": "123456789012" } ]

AWS Tools for Windows PowerShell を使用して使用可能な AWS のサービスを表示するには

API を使用して使用可能な AWS のサービスを表示するには

インターフェイスエンドポイントの作成

インターフェイスエンドポイントを作成するには、インターフェイスエンドポイントを作成する先の VPC と、接続を確立する先のサービスを指定する必要があります。

AWS サービスまたは AWS Marketplace パートナーサービスの場合、デフォルトの DNS ホスト名を使用してサービスにリクエストを行うには、エンドポイントのプライベート DNS をオプションで有効にすることができます。

重要

AWS サービスおよび AWS Marketplace パートナーサービス用に作成されたエンドポイントに対しては、プライベート DNS がデフォルトで有効になります。

Console

AWS のサービスへのインターフェイスエンドポイントをコンソールで作成するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Endpoints]、[Create Endpoint] の順に選択します。

  3. [Service category] で、[AWS services] が選択されていることを確認します。

  4. [Service Name] で、接続先のサービスを選択します。[Type] で、タイプが [Interface] になっていることを確認します。

  5. 次の情報を入力し、[Create endpoint] を選択します。

    • [VPC] で、エンドポイントを作成する先の VPC を選択します。

    • [Subnets] で、エンドポイントネットワークインターフェイスを作成する先のサブネット (アベイラビリティーゾーン) を選択します。

      AWS の一部のサービスは、一部のアベイラビリティーゾーンでサポートされていない場合があります。

    • インターフェイスエンドポイントのプライベート DNS を有効にするには、[プライベート DNS 名を有効にする] でチェックボックスを選択します。

      デフォルトでは、このオプションは有効になっています。オプションとしてプライベート DNS を使用するには、VPC 属性のenableDnsHostnames および enableDnsSupporttrue に設定する必要があります。詳細については、「VPC の DNS サポートを表示および更新する」を参照してください。

    • [Security group] で、エンドポイントネットワークインターフェイスに関連付けるセキュリティグループを選択します。

    • (オプション) タグを追加または削除します。

      [タグの追加] [タグの追加] を選択して、以下を実行します。

      • [キー] にはキー名を入力します。

      • [] にはキー値を入力します。

      [タグの削除] タグのキーと値の右側にある削除ボタン ("x") を選択します。

エンドポイントサービスへのインターフェイスエンドポイントを作成するには、接続先のサービスの名前を指定する必要があります。この名前は、サービスプロバイダから取得できます。

エンドポイントサービスへのインターフェイスエンドポイントを作成するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Endpoints]、[Create Endpoint] の順に選択します。

  3. [Service category] で、[Find service by name] を選択します。

  4. [Service Name] にサービスの名前 (com.amazonaws.vpce.us-east-1.vpce-svc-0e123abc123198abc など) を入力し、[Verify] を選択します。

  5. 次の情報を入力し、[Create endpoint] を選択します。

    • [VPC] で、エンドポイントを作成する先の VPC を選択します。

    • [Subnets] で、エンドポイントネットワークインターフェイスを作成する先のサブネット (アベイラビリティーゾーン) を選択します。

      当該サービスは一部のアベイラビリティーゾーンでサポートされない場合があります。

    • [Security group] で、エンドポイントネットワークインターフェイスに関連付けるセキュリティグループを選択します。

    • (オプション) タグを追加または削除します。

      [タグの追加] [タグの追加] を選択して、以下を実行します。

      • [キー] にはキー名を入力します。

      • [] にはキー値を入力します。

      [タグの削除] タグのキーと値の右側にある削除ボタン ("x") を選択します。

AWS Marketplace パートナーサービスへのインターフェイスエンドポイントを作成するには

  1. AWS Marketplace の PrivateLink ページにアクセスし、SaaS (Software-as-a-Service) プロバイダのサービスをサブスクライブします。インターフェイスエンドポイントをサポートするサービスには、エンドポイントを介して接続するオプションが含まれています。

  2. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  3. ナビゲーションペインで、[Endpoints]、[Create Endpoint] の順に選択します。

  4. [Service category] で、[Your AWS Marketplace services] を選択します。

  5. サブスクライブした AWS Marketplace サービスを選択します。

  6. 次の情報を入力し、[Create endpoint] を選択します。

    • [VPC] で、エンドポイントを作成する先の VPC を選択します。

    • [Subnets] で、エンドポイントネットワークインターフェイスを作成する先のサブネット (アベイラビリティーゾーン) を選択します。

      当該サービスは一部のアベイラビリティーゾーンでサポートされない場合があります。

    • [Security group] で、エンドポイントネットワークインターフェイスに関連付けるセキュリティグループを選択します。

    • (オプション) タグを追加または削除します。

      [タグの追加] [タグの追加] を選択して、以下を実行します。

      • [キー] にはキー名を入力します。

      • [] にはキー値を入力します。

      [タグの削除] タグのキーと値の右側にある削除ボタン ("x") を選択します。

Command line

AWS CLI を使用してインターフェイスエンドポイントを作成するには

  1. describe-vpc-endpoint-services コマンドを使用して使用可能なサービスのリストを取得します。返された出力で、接続先のサービスの名前をメモします。ServiceType フィールドは、インターフェイスエンドポイントまたはゲートウェイエンドポイントを介してサービスに接続するかどうかを示します。ServiceName フィールドはサービス名を示します。

  2. インターフェイスエンドポイントを作成するには、create-vpc-endpoint コマンドを使用し、VPC ID、VPC エンドポイント (インターフェイス) のタイプ、サービス名、エンドポイントを使用するサブネット、およびエンドポイントネットワークインターフェイスに関連付けるセキュリティグループを指定します。

    次の例では、Elastic Load Balancing サービスへのインターフェイスエンドポイントを作成します。

    aws ec2 create-vpc-endpoint --vpc-id vpc-ec43eb89 --vpc-endpoint-type Interface --service-name com.amazonaws.us-east-1.elasticloadbalancing --subnet-id subnet-abababab --security-group-id sg-1a2b3c4d
    { "VpcEndpoint": { "PolicyDocument": "{\n \"Statement\": [\n {\n \"Action\": \"*\", \n \"Effect\": \"Allow\", \n \"Principal\": \"*\", \n \"Resource\": \"*\"\n }\n ]\n}", "VpcId": "vpc-ec43eb89", "NetworkInterfaceIds": [ "eni-bf8aa46b" ], "SubnetIds": [ "subnet-abababab" ], "PrivateDnsEnabled": true, "State": "pending", "ServiceName": "com.amazonaws.us-east-1.elasticloadbalancing", "RouteTableIds": [], "Groups": [ { "GroupName": "default", "GroupId": "sg-1a2b3c4d" } ], "VpcEndpointId": "vpce-088d25a4bbf4a7abc", "VpcEndpointType": "Interface", "CreationTimestamp": "2017-09-05T20:14:41.240Z", "DnsEntries": [ { "HostedZoneId": "Z7HUB22UULQXV", "DnsName": "vpce-088d25a4bbf4a7abc-ks83awe7.elasticloadbalancing.us-east-1.vpce.amazonaws.com" }, { "HostedZoneId": "Z7HUB22UULQXV", "DnsName": "vpce-088d25a4bbf4a7abc-ks83awe7-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com" }, { "HostedZoneId": "Z1K56Z6FNPJRR", "DnsName": "elasticloadbalancing.us-east-1.amazonaws.com" } ] } }

    また、次の例では、別の AWS アカウントのエンドポイントサービスへのインターフェイスエンドポイントを作成します (エンドポイントサービス名はサービスプロバイダから提供します)。

    aws ec2 create-vpc-endpoint --vpc-id vpc-ec43eb89 --vpc-endpoint-type Interface --service-name com.amazonaws.vpce.us-east-1.vpce-svc-0e123abc123198abc --subnet-id subnet-abababab --security-group-id sg-1a2b3c4d

    返された出力で、DnsName フィールドの値をメモします。これらの DNS 名を使用して AWS のサービスにアクセスできます。

AWS Tools for Windows PowerShell を使用して、利用可能なサービスを記述し、VPC エンドポイントを作成するには

API を使用して、利用可能なサービスを記述し、VPC エンドポイントを作成するには

インターフェイスエンドポイントの表示

インターフェイスエンドポイントの作成後に、その関連情報を表示できます。

Console

コンソールを使用してインターフェイスエンドポイントに関する情報を表示するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Endpoints] を選択し、インターフェイスエンドポイントを選択します。

  3. インターフェイスエンドポイントに関する情報を表示するには、[Details] を選択します。[DNS Names] に、サービスへのアクセスに使用する DNS 名サービスが表示されます。

  4. インターフェイスエンドポイントの作成先のサブネットと、各サブネットのエンドポイントネットワークインターフェイスの ID を表示するには、[Subnets] を選択します。

  5. エンドポイントネットワークインターフェイスに関連付けたセキュリティグループを表示するには、[Security Groups] を選択します。

Command line

AWS CLI を使用してインターフェイスエンドポイントを記述するには

  • エンドポイントは、describe-vpc-endpoints コマンドを使用して記述できます。

    aws ec2 describe-vpc-endpoints --vpc-endpoint-ids vpce-088d25a4bbf4a7abc

AWS Tools for PowerShell または API を使用して VPC エンドポイントを記述するには

インターフェイスエンドポイントの通知の作成と管理

通知を作成して、インターフェイスエンドポイントで発生する特定のイベントに関するアラートを受信できます。たとえば、サービスプロバイダがインターフェイスエンドポイントを承諾したときに E メールを受信できます。通知を作成するには、Amazon SNS トピックを通知に関連付ける必要があります。この SNS トピックへの受信登録を行い、エンドポイントイベントの発生時に E メール通知を受信できます。

通知に使用する Amazon SNS トピックには、ユーザーに代わって通知を発行することを Amazon の VPC エンドポイントサービスに許可するトピックポリシーが必要です。トピックポリシーには、次のステートメントを必ず含めます。詳細については、Amazon Simple Notification Service 開発者ガイド の「Amazon SNS の Identity and Access Management」を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vpce.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:region:account:topic-name" } ] }
Console

インターフェイスエンドポイントの通知を作成するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Endpoints] を選択し、インターフェイスエンドポイントを選択します。

  3. [Actions]、[Create notification] の順に選択します。

  4. 通知に関連付ける SNS トピックの ARN を選択します。

  5. [Events] で、通知を受け取る対象のエンドポイントイベントを選択します。

  6. [Create Notification] を選択します。

通知を作成後に、通知に関連付けた SNS トピックを変更できます。通知に別のエンドポイントイベントを指定することもできます。

エンドポイントサービスの通知を変更するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Endpoints] を選択し、インターフェイスエンドポイントを選択します。

  3. [Actions]、[Modify Notification] の順に選択します。

  4. SNS トピックの ARN を指定し、必要に応じてエンドポイントイベントを変更します。

  5. [Modify Notification] を選択します。

通知が不要になった場合は、それを削除できます。

通知を削除するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Endpoints] を選択し、インターフェイスエンドポイントを選択します。

  3. [Actions]、[Delete notification] の順に選択します。

  4. [Yes, Delete] を選択します。

Command line

AWS CLI を使用して通知を作成または管理するには

  1. インターフェイスエンドポイントの通知を作成するには、create-vpc-endpoint-connection-notification コマンドを使用します。次の例に示すように、SNS トピックの ARN、通知されるイベント、エンドポイントの ID を指定します。

    aws ec2 create-vpc-endpoint-connection-notification --connection-notification-arn arn:aws:sns:us-east-2:123456789012:EndpointNotification --connection-events Accept Reject --vpc-endpoint-id vpce-123abc3420c1931d7
  2. 通知を表示するには、describe-vpc-endpoint-connection-notifications コマンドを使用します。

    aws ec2 describe-vpc-endpoint-connection-notifications
  3. 通知の SNS トピックまたはエンドポイントイベントを変更するには、modify-vpc-endpoint-connection-notification コマンドを使用します。

    aws ec2 modify-vpc-endpoint-connection-notification --connection-notification-id vpce-nfn-008776de7e03f5abc --connection-events Accept --connection-notification-arn arn:aws:sns:us-east-2:123456789012:mytopic
  4. 通知を削除するには、delete-vpc-endpoint-connection-notifications コマンドを使用します。

    aws ec2 delete-vpc-endpoint-connection-notifications --connection-notification-ids vpce-nfn-008776de7e03f5abc

インターフェイスエンドポイントを介したサービスへのアクセス

インターフェイスエンドポイントの作成後に、エンドポイント URL を介して、サポートされているサービスにリクエストを送信できます。以下を使用できます。

  • エンドポイントのプライベート DNS (プライベートホストゾーン。AWS のサービスおよび AWS Marketplace パートナーサービスにのみ適用可能) を有効にした場合は、リージョンにおける AWS のサービスのデフォルト DNS ホスト名。たとえば、ec2.us-east-1.amazonaws.com と指定します。

  • インターフェイスエンドポイント用に生成したエンドポイント固有のリージョン DNS ホスト名。このホスト名には、一意のエンドポイント識別子、サービス識別子、リージョン、および vpce.amazonaws.com が含まれます。たとえば、vpce-0fe5b17a0707d6abc-29p5708s.ec2.us-east-1.vpce.amazonaws.com と指定します。

  • エンドポイントが使用できるアベイラビリティーゾーンごとに生成したエンドポイント固有のゾーン DNS ホスト名。このホスト名には、アベイラビリティーゾーンが含まれます。たとえば、vpce-0fe5b17a0707d6abc-29p5708s-us-east-1a.ec2.us-east-1.vpce.amazonaws.com と指定します。アーキテクチャでアベイラビリティーゾーンが分離されている場合 (たとえば障害抑制のためや、リージョン内データ転送コスト削減のため)、このオプションを使用できます。

    ゾーン DNS ホスト名に対するリクエストは、サービスプロバイダアカウントの対応するアベイラビリティーゾーンのロケーションに送信されますが、ご使用のアカウントと同じアベイラビリティーゾーン名ではない場合があります。詳細については、「リージョンとアベイラビリティーゾーンの概念」を参照してください。

  • VPC のエンドポイントネットワークインターフェイスのプライベート IP アドレス。

リージョン別およびゾーン別 DNS 名を取得するには、「インターフェイスエンドポイントの表示」を参照してください。

たとえば、Elastic Load Balancing へのインターフェイスエンドポイントがあるサブネットで、プライベート DNS オプションを有効にしていない場合は、インスタンスの次の AWS CLI コマンドを使用してロードバランサーを記述します。このコマンドでは、エンドポイント固有のリージョン DNS ホスト名を使用して、インターフェイスエンドポイントによりリクエストを行います。

aws elbv2 describe-load-balancers --endpoint-url https://vpce-0f89a33420c193abc-bluzidnv.elasticloadbalancing.us-east-1.vpce.amazonaws.com/

プライベート DNS オプションを有効にした場合、エンドポイント URL をリクエストに指定する必要はありません。AWS CLI では、リージョンの AWS サービスのデフォルトエンドポイント (elasticloadbalancing.us-east-1.amazonaws.com) を使用します。

インターフェイスエンドポイントの変更

インターフェイスエンドポイントの次の属性を変更できます。

  • インターフェイスエンドポイントが配置されているサブネット

  • エンドポイントネットワークインターフェイスに関連付けられているセキュリティグループ

  • タグ

  • プライベート DNS オプション

  • エンドポイントポリシー (サービスでサポートされている場合)

インターフェイスエンドポイントのサブネットを削除すると、サブネットの対応するエンドポイントネットワークインターフェイスが削除されます。

Console

インターフェイスエンドポイントのサブネットを変更するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Endpoints] を選択し、インターフェイスエンドポイントを選択します。

  3. [Actions]、[Manage Subnets] の順に選択します。

  4. 必要に応じてサブネットを選択または選択解除し、[Modify Subnets] を選択します。

インターフェイスエンドポイントに関連付けられているセキュリティグループを追加または削除するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Endpoints] を選択し、インターフェイスエンドポイントを選択します。

  3. [Actions]、[Manage security groups] の順に選択します。

  4. 必要に応じてセキュリティグループを選択または選択解除し、[保存] を選択します。

インターフェイスエンドポイントタグを追加または削除するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[エンドポイント] を選択します。

  3. インターフェイスエンドポイントを選択し、[アクション]、[タグの追加/編集] の順に選択します。

  4. タグを追加または削除します。

    [タグの追加] [タグの作成] を選択して、以下を実行します。

    • [キー] にはキー名を入力します。

    • [] にはキー値を入力します。

    [タグの削除] タグのキーと値の右側にある削除ボタン ("x") を選択します。

プライベート DNS オプションを変更するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Endpoints] を選択し、インターフェイスエンドポイントを選択します。

  3. [Actions (アクション)]、[Modify Private DNS names (プライベート DNS 名の変更)] の順に選択します。

  4. 必要に応じてオプションを有効または無効にし、 [Modify Private DNS names (プライベート DNS 名の変更)]を選択します。

エンドポイントポリシーを更新するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Endpoints] を選択し、インターフェイスエンドポイントを選択します。

  3. [Actions]、[Edit policy] の順に選択します。

  4. [Full Access (フルアクセス)] を選択してサービスへのフルアクセスを許可するか、[Custom (カスタム)] を選択してカスタムポリシーを指定します。[Save] を選択します。

Command line

AWS CLI を使用して VPC エンドポイントを変更するには

  1. describe-vpc-endpoints コマンドを使用してインターフェイスエンドポイントの ID を取得します。

    aws ec2 describe-vpc-endpoints
  2. 次の例では、modify-vpc-endpoint コマンドを使用してサブネット subnet-aabb1122 をインターフェイスエンドポイントに追加します。

    aws ec2 modify-vpc-endpoint --vpc-endpoint-id vpce-0fe5b17a0707d6abc --add-subnet-id subnet-aabb1122

AWS Tools for Windows PowerShell または API を使用して VPC エンドポイントを変更するには

AWS Tools for Windows PowerShell または API を使用して VPC エンドポイント タグを追加または削除するには