AWS PrivateLink の概念 - Amazon Virtual Private Cloud

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS PrivateLink の概念

Amazon VPC を使用して、論理的に分離された仮想ネットワークである仮想プライベートクラウド (VPC) を定義できます。VPC で AWS リソースを起動できます。VPC 内のリソースがその VPC の外部にあるリソースに接続することを許可できます。例えば、VPC にインターネットゲートウェイを追加してインターネットへのアクセスを許可したり、VPN 接続を追加してオンプレミスネットワークへのアクセスを許可したりします。または、AWS PrivateLink を使用して、サービスが VPC で直接ホストされているかのように、VPC 内のリソースがプライベート IP アドレスを使用して他の VPC 内のサービスに接続することを許可します。

AWS PrivateLink の使用を開始する際に理解しておくべき重要な概念を次に示します。

アーキテクチャ図

次の図は、AWS PrivateLink の仕組みの大まかな概要を示しています。サービスコンシューマーは、サービスプロバイダーがホストするエンドポイントサービスに接続するためのインターフェイス VPC エンドポイントを作成します。

サービスコンシューマーは、サービスプロバイダーがホストするエンドポイントサービスに接続するためのインターフェイス VPC エンドポイントを作成します。

サービスプロバイダー

サービスの所有者はサービスプロバイダーです。サービスプロバイダーには、AWS、AWS パートナー、および他の AWS アカウント が含まれます。サービスプロバイダーは、EC2 インスタンスなどの AWS リソースを使用するか、オンプレミスサーバーを使用してサービスをホストできます。

エンドポイントサービス

サービスプロバイダーは、エンドポイントサービスを作成して、あるリージョンでそのサービスを利用できるようにします。サービスプロバイダーは、エンドポイントサービスを作成するときにロードバランサーを指定する必要があります。ロードバランサーは、サービスコンシューマーからリクエストを受け取ってサービスにルーティングします。

デフォルトでは、サービスコンシューマーはエンドポイントサービスを使用できません。特定の AWS プリンシパルがエンドポイントサービスに接続できるようにする許可を追加する必要があります。

サービス名

各エンドポイントサービスはサービス名で識別されます。サービスコンシューマーは、VPC エンドポイントを作成するときに、サービスの名前を指定する必要があります。サービスコンシューマーは、AWS のサービス のサービス名をクエリできます。サービスプロバイダーは、自社のサービスの名前をサービスコンシューマーと共有する必要があります。

サービスの状態

エンドポイントサービスの可能な状態は次のとおりです。

  • Pending - エンドポイントサービスを作成しています。

  • Available - エンドポイントサービスが使用可能です。

  • Failed - エンドポイントサービスを作成できませんでした。

  • Deleting - サービスプロバイダーがエンドポイントサービスを削除し、その処理が進行中です。

  • Deleted - エンドポイントサービスが削除されました。

サービスコンシューマー

サービスのユーザーは、サービスコンシューマーです。サービスコンシューマーは、EC2 インスタンスなどの AWS リソースから、またはオンプレミスサーバーから、エンドポイントサービスにアクセスできます。

VPC エンドポイント

サービスコンシューマーは、VPC エンドポイントを作成して、VPC をエンドポイントサービスに接続します。サービスコンシューマーは、VPC エンドポイントを作成するときに、エンドポイントサービスの名前を指定する必要があります。VPC エンドポイントには複数のタイプがあります。エンドポイントサービスにより要求される VPC エンドポイントを作成する必要があります。

  • Interface - エンドポイントサービスへのインターフェイスエンドポイントを作成する エンドポイントサービス宛てのトラフィックは DNS を使用して解決されます。

  • GatewayLoadBalancer - Gateway Load Balancer エンドポイントを作成し、プライベート IP アドレスを使用してトラフィックを仮想アプライアンスのフリートに送信します。ルートテーブルを使用して、VPC から Gateway Load Balancer エンドポイントにトラフィックをルーティングします。Gateway Load Balancer は、トラフィックを仮想アプライアンスに分散し、需要に応じてスケールできます。

別のタイプの VPC エンドポイントである Gateway があり、これはゲートウェイ エンドポイントを作成してトラフィックを Amazon S3 または DynamoDB に送信します。ゲートウェイエンドポイントは、他のタイプの VPC エンドポイントとは異なり、AWS PrivateLink を使用しません。詳細については、「ゲートウェイエンドポイント」を参照してください。

エンドポイントのネットワークインターフェイス

エンドポイントのネットワークインターフェイスは、エンドポイントサービス宛てのトラフィックのエントリポイントとして機能する、リクエスタマネージドネットワークインターフェイスです。VPC エンドポイントの作成時に指定した各サブネットに、エンドポイントのネットワークインターフェイスを作成します。

VPC エンドポイントが IPv4 をサポートしている場合、エンドポイントのネットワークインターフェイスは IPv4 アドレスを持ちます。VPC エンドポイントが IPv6 をサポートしている場合、エンドポイントのネットワークインターフェイスは IPv6 アドレスを持ちます。エンドポイントのネットワークインターフェイスの IPv6 アドレスに、インターネットからアクセスすることはできません。エンドポイントのネットワークインターフェイスを IPv6 アドレスで記述する場合は、denyAllIgwTraffic が有効になっていることに注意してください。

エンドポイントのネットワークインターフェイスの IP アドレスは、VPC エンドポイントの存続期間中は変更されません。

エンドポイントポリシー

VPC エンドポイントポリシーは、VPC エンドポイントにアタッチする IAM リソースポリシーです。これは、VPC エンドポイントを使用してエンドポイントサービスにアクセスできるプリンシパルを決定します。デフォルトの VPC エンドポイントポリシーでは、すべてのリソースに対して、VPC エンドポイント経由でのすべてのプリンシパルによるすべてのアクションが許可されます。

エンドポイントの状態

VPC エンドポイントを作成すると、エンドポイントサービスは接続リクエストを受け取ります。サービスプロバイダーは、リクエストを受け入れるか、または拒否できます。サービスプロバイダーがリクエストを受け入れると、サービスコンシューマーは、Available 状態になった後に VPC エンドポイントを使用できます。

VPC エンドポイントの可能な状態は次のとおりです。

  • PendingAcceptance - 接続リクエストが保留中です。これは、リクエストが手動で受け入れられた場合の初期状態です。

  • Pending - サービスプロバイダーが接続リクエストを受け入れました。これは、リクエストが自動で受け入れられた場合の初期状態です。サービスコンシューマーが VPC エンドポイントを変更すると、VPC エンドポイントはこの状態に戻ります。

  • Available - VPC エンドポイントが使用可能です。

  • Rejected - サービスプロバイダーが接続リクエストを拒否しました。サービスプロバイダーは、接続が使用可能になった後にその接続を拒否することもできます。

  • Expired - 接続リクエストの有効期限が切れました。

  • Failed - VPC エンドポイントを使用可能にできませんでした。

  • Deleting - サービスコンシューマーが VPC エンドポイントを削除し、その処理が進行中です。

  • Deleted - VPC エンドポイントが削除されました。

VPC からのトラフィックは、VPC エンドポイントとエンドポイントサービス間の接続を使用してエンドポイントサービスに送信されます。VPC エンドポイントとエンドポイントサービス間のトラフィックは、パブリックインターネットを経由することなく AWS ネットワーク内にとどまります。

サービスプロバイダーは、サービスコンシューマーがエンドポイントサービスにアクセスできるように許可を追加します。サービスコンシューマーが接続を開始すると、サービスプロバイダーは接続リクエストを承諾または拒否します。

インターフェイス VPC エンドポイントでは、サービスコンシューマーは、VPC エンドポイントを使用してエンドポイントサービスにアクセスできる IAM プリンシパルの制御を、エンドポイントポリシーを使用して行うことができます。

プライベートホストゾーン

ホストゾーンは、ドメインまたはサブドメインのトラフィックをルーティングする方法を定義する DNS レコードのコンテナです。パブリックホストゾーンでは、インターネット上でトラフィックをルーティングする方法をレコードで指定します。プライベートホストゾーンでは、VPC でトラフィックをルーティングする方法をレコードで指定します。

ドメイントラフィックを VPC エンドポイントにルーティングするように Amazon Route 53 を設定できます。詳細については、「ドメイン名を使用してトラフィックを VPC エンドポイントにルーティングする」を参照してください。

Route 53 を使用してスプリットホライズン DNS を設定できます。この場合、AWS PrivateLink を利用したエンドポイントサービスと公開ウェブサイトの両方に同じドメイン名を使用します。コンシューマー VPC からのパブリックホスト名の DNS リクエストは、エンドポイントのネットワークインターフェイスのプライベート IP アドレスに解決されますが、VPC の外部からのリクエストは引き続きパブリックエンドポイントに解決されます。詳細については、「トラフィックをルーティングするための DNS メカニズムおよび AWS PrivateLink デプロイのフェイルオーバーの有効化」を参照してください。