インターフェイス VPC エンドポイント (AWS PrivateLink)
インターフェイス VPC エンドポイント (インターフェイスエンドポイント) では、AWS PrivateLink を使用するサービスに接続できます。これらのサービスには、AWS の一部のサービス、他の AWS のお客様およびパートナーによって各自の VPC でホストされるサービス (エンドポイントサービスと呼ばれます)、およびサポートされている AWS Marketplace パートナーサービスが含まれます。サービスの所有者はサービスプロバイダです。インターフェイスエンドポイントを作成するプリンシパルとしてのユーザーは、サービスコンシューマーです。
以下は、インターフェイスエンドポイントの一般的な設定手順です。
-
インターフェイスエンドポイントを作成する先の VPC を選択し、接続先の AWS のサービス、エンドポイントサービス、または AWS Marketplace サービスの名前を指定します。
-
インターフェイスエンドポイントを使用する VPC 内のサブネットを選択します。このサブネットでエンドポイントネットワークインターフェイスを作成します。エンドポイントネットワークインターフェイスには、サブネットの IP アドレス範囲からプライベート IP アドレスが割り当てられます。この IP アドレスは、インターフェイスエンドポイントが削除されるまで保持されます。サービスでサポートされている複数のアベイラビリティーゾーンに複数のサブネットを指定すると、アベイラビリティーゾーンの障害からインターフェイスエンドポイントをより確実に回復できます。この場合は、指定した各サブネットでエンドポイントネットワークインターフェイスを作成します。
注記 エンドポイントネットワークインターフェイスは、リクエスタによって管理されるネットワークインターフェイスです。このインターフェイスはアカウントで表示できますが、お客様自身で管理することはできません。詳細については、「リクエスタマネージド型のネットワークインターフェイス」を参照してください。
-
エンドポイントネットワークインターフェイスに関連付けるセキュリティグループを指定します。セキュリティグループは、VPC のリソースからエンドポイントネットワークインターフェイスへのトラフィックを制御します。セキュリティグループを指定しないと、VPC のデフォルトのセキュリティグループが関連付けられます。
-
(オプションの AWS のサービスと AWS Marketplace パートナーサービスのみ) デフォルトの DNS ホスト名を使用してサービスにリクエストを行うには、エンドポイントのプライベート DNS を有効にします。
重要 AWS のサービスおよび AWS Marketplace パートナーサービス用に作成されたエンドポイントに対しては、プライベート DNS がデフォルトで有効になります。
プライベート DNS は、同じ VPC とアベイラビリティーゾーンまたはローカルゾーンにある他のサブネットで有効になっています。
-
サービスプロバイダーとコンシューマーが別のアカウントにある場合、アベイラビリティーゾーン ID を使用してインターフェイスエンドポイントのアベイラビリティーゾーンを識別する方法の詳細については、「インターフェイスエンドポイントのアベイラビリティーゾーンに関する考慮事項」を参照してください。
-
インターフェイスエンドポイントの作成後、サービスプロバイダーによって承諾されると、そのインターフェイスエンドポイントが使用可能になります。サービスプロバイダは、リクエストを自動または手動で承諾するようにサービスを設定する必要があります。通常、AWS のサービスおよび AWS Marketplace のサービスは、エンドポイントのすべてのリクエストを自動的に承諾します。エンドポイントのライフサイクルの詳細については、「インターフェイスエンドポイントのライフサイクル」を参照してください。
エンドポイントでは、VPC 内のリソースに対するリクエストをサービスからは開始できません。エンドポイントは、VPC 内のリソースから開始されたトラフィックに対してのみレスポンスを返します。サービスとエンドポイントを統合する前に、サービス固有の設定や制限について、サービス固有の VPC エンドポイントのドキュメントをご確認ください。
目次
インターフェイスエンドポイントのプライベート DNS
プライベート DNS は、Amazon S3 インターフェイスエンドポイントについてはサポートされていません。
インターフェイスエンドポイントを作成すると、サービスとの通信に使用できるエンドポイント固有の 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 と通信できます。

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

プライベート DNS を使用するには、VPC 属性のtrue
および enableDnsHostnames
を enableDnsSupport
に設定する必要があります。詳細については、「VPC の DNS サポートを更新する」を参照してください。IAM ユーザーは、ホストゾーンを操作するアクセス許可が必要です。詳細については、Route 53 に対する認証とアクセスコントロールに関する記事を参照してください。
インターフェイスエンドポイントのプロパティと制限
インターフェイスエンドポイントを使用するには、そのプロパティと現在の制限に注意する必要があります。
-
各インターフェイスエンドポイントで選択できるサブネットは、アベイラビリティーゾーンあたり 1 つのみです。
-
インターフェイスエンドポイントを介したサービスへのアクセスは、一部のアベイラビリティーゾーンでサポートされない場合があります。サポートされるアベイラビリティーゾーンを確認するには、describe-vpc-endpoint-services コマンドまたは Amazon VPC コンソールを使用してください。詳細については、「」を参照してくださいインターフェイスエンドポイントの作成
-
インターフェイスエンドポイントを作成する場合、エンドポイントはアカウントにマッピングされているアベイラビリティーゾーンに作成され、他のアカウントからは独立したものになります。サービスプロバイダーとコンシューマーが別のアカウントにある場合、アベイラビリティーゾーン ID を使用してインターフェイスエンドポイントのアベイラビリティーゾーンを識別する方法の詳細については、「インターフェイスエンドポイントのアベイラビリティーゾーンに関する考慮事項」を参照してください。
-
サービスプロバイダーとコンシューマーが異なるアカウントを持ち、複数のアベイラビリティーゾーンを使用する場合に、コンシューマーが VPC エンドポイントサービス情報を表示すると、レスポンスには共通のアベイラビリティーゾーンのみが含まれます。たとえば、サービスプロバイダーアカウントが
us-east-1a
とus-east-1c
を使用し、コンシューマーがus-east-1a
とus-east-1b
を使用する場合、レスポンスには共通のアベイラビリティーゾーンus-east-1a
にある VPC エンドポイントサービスが含まれます。 -
デフォルトでは、各インターフェイスエンドポイントは、アベイラビリティーゾーンあたり最大 10 Gbps の帯域幅をサポートし、最大 40 Gbps まで自動的にスケールされます。アプリケーションで、ゾーンごとにより高いスループットが必要な場合は、AWS サポートにお問い合わせください。
-
サブネットのネットワーク ACL でトラフィックが制限される場合、エンドポイントネットワークインターフェイスを通じてトラフィックを送信できないことがあります。サブネットの CIDR ブロックに出入りするトラフィックを許可する適切なルールを追加してください。
-
エンドポイントネットワークインターフェイスに関連付けられているセキュリティグループで、エンドポイントネットワークインターフェイスと、サービスと通信する VPC 内のリソース間の通信が許可されていることを確認します。AWS CLI などのコマンドラインツールが VPC 内のリソースから AWS のサービスに HTTPS 経由でリクエストを実行できるようにするには、セキュリティグループがインバウンド HTTPS (ポート 443) トラフィックを許可する必要があります。
-
インターフェイスエンドポイントは TCP トラフィックのみをサポートします。
-
エンドポイントを作成するときは、接続先のサービスへのアクセスを制御するエンドポイントポリシーを、エンドポイントにアタッチできます。詳細については、「ポリシーのベストプラクティス」および「VPC エンドポイントでサービスへのアクセスを制御する」を参照してください。
-
エンドポイントサービスのサービス固有の制限を確認します。
-
参加者は、所有していない VPC に Amazon Route53 Resolver エンドポイントを作成することはできません。VPC 所有者だけが、インバウンドエンドポイントなどの VPC レベルのリソースを作成できます。
-
同じリージョン内のエンドポイントのみがサポートされています。別のリージョンで、VPC とサービス間のエンドポイントを作成することはできません。
-
エンドポイントは IPv4 トラフィックのみをサポートします。
-
1 つの VPC から別の VPC にエンドポイントを転送したり、1 つのサービスから別のサービスにエンドポイントを転送することはできません。
-
VPC あたりに作成できるエンドポイントの数にはクォータがあります。詳細については、「」を参照してくださいAWS PrivateLink のクォータ
オンプレミスのデータセンターへの接続
インターフェイスエンドポイントとオンプレミスのデータセンター間の接続には、次のタイプの接続を使用できます。
インターフェイスエンドポイントのライフサイクル
インターフェイスエンドポイントは、その作成時 (エンドポイントの接続リクエスト) を始まりとして、様々な段階を経過します。段階ごとに、サービスコンシューマーとサービスプロバイダが実行できるアクションを伴う場合があります。

以下のルールが適用されます。
-
サービスプロバイダは、インターフェイスエンドポイントのリクエストを自動または手動で承諾するようにサービスを設定できます。通常、AWS のサービスおよび AWS Marketplace のサービスは、エンドポイントのすべてのリクエストを自動的に承諾します。
-
サービスプロバイダは、サービスへのインターフェイスエンドポイントを削除できません。インターフェイスエンドポイントを削除できるのは、インターフェイスエンドポイント接続をリクエストしたサービスコンシューマーのみです。
-
サービスプロバイダーは、承諾後の
available
状態になっているインターフェイスエンドポイントを (手動または自動で) 拒否できます。
インターフェイスエンドポイントのアベイラビリティーゾーンに関する考慮事項
インターフェイスエンドポイントを作成する場合、エンドポイントはアカウントにマッピングされているアベイラビリティーゾーンに作成され、他のアカウントからは独立したものになります。サービスプロバイダーとコンシューマーが別のアカウントにある場合、アベイラビリティーゾーン ID を使用してインターフェイスエンドポイントのアベイラビリティーゾーンを一意に一貫して識別します。例えば、use1-az1
は us-east-1
リージョンのアベイラビリティーゾーン ID であり、すべての AWS アカウントで同じ場所にマッピングされます。アベイラビリティーゾーン ID の詳細については、AWS RAM ユーザーガイドのリソースの AZ ID を参照するか、describe-availability-zones を使用してください。
インターフェイスエンドポイントを介したサービスへのアクセスは、一部のアベイラビリティーゾーンでサポートされない場合があります。次のいずれかのオペレーションを使用して、サービスに対してサポートされているアベイラビリティーゾーンを確認できます。
-
describe-vpc-endpoint-services (AWS CLI)
-
インターフェイスエンドポイントを作成するときの Amazon VPC コンソール。詳細については、「」を参照してくださいインターフェイスエンドポイントの作成
使用可能な AWS のサービス名を表示する
Amazon VPC コンソールを使用してエンドポイントを作成すると、使用可能な AWS のサービス名のリストを取得できます。
AWS CLI を使用してエンドポイントを作成する場合、describe-vpc-endpoint-services コマンドを使用してサービス名を表示し、create-vpc-endpoint コマンドを使用してエンドポイントを作成できます。
インターフェイスエンドポイントの作成
インターフェイスエンドポイントを作成するには、インターフェイスエンドポイントを作成する先の VPC と、接続を確立する先のサービスを指定する必要があります。
AWS のサービスまたは AWS Marketplace パートナーサービスの場合、デフォルトの DNS ホスト名を使用してサービスにリクエストできるように、エンドポイントのプライベート DNS をオプションで有効にすることができます。
AWS のサービスおよび AWS Marketplace パートナーサービス用に作成されたエンドポイントに対しては、プライベート DNS がデフォルトで有効になります。
インターフェイスエンドポイントを表示する
インターフェイスエンドポイントの作成後に、その関連情報を表示できます。
インターフェイスエンドポイントの通知を作成および管理する
通知を作成して、インターフェイスエンドポイントで発生する特定のイベントに関するアラートを受信できます。たとえば、サービスプロバイダがインターフェイスエンドポイントを承諾したときに 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" } ] }
インターフェイスエンドポイントを介したサービスへアクセスする
インターフェイスエンドポイントの作成後に、エンドポイント URL を介して、サポートされているサービスにリクエストを送信できます。以下を使用できます。
-
エンドポイントのプライベート DNS (プライベートホストゾーン。AWS のサービスおよび AWS Marketplace パートナーサービスにのみ適用可能) を有効にした場合は、リージョンにおける AWS のサービスのデフォルト DNS ホスト名。例えば、
ec2.us-east-1.amazonaws.com
です。重要 プライベート DNS は、Amazon S3 インターフェイスエンドポイントについてはサポートされていません。
-
インターフェイスエンドポイント用に生成したエンドポイント固有のリージョン 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 オプション
注記 プライベート DNS を有効にすると、プライベート IP アドレスが使用可能になるまでに数分かかる場合があります。
-
エンドポイントポリシー (サービスでサポートされている場合)
インターフェイスエンドポイントのサブネットを削除すると、サブネットの対応するエンドポイントネットワークインターフェイスが削除されます。