

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

# とは AWS PrivateLink
<a name="what-is-privatelink"></a>

AWS PrivateLink は高可用性でスケーラブルなテクノロジーであり、VPC 内にあるかのように、VPC をサービスやリソースにプライベートに接続するために使用できます。プライベートサブネットからのサービスまたは AWS Site-to-Site VPN リソースとの通信を許可するために、インターネットゲートウェイ、NAT デバイス、パブリック IP アドレス、 Direct Connect 接続、または接続を使用する必要はありません。このため、VPC から到達可能な特定の API エンドポイント、サイト、サービス、およびリソースは、ユーザーが制御することになります。

## ユースケース
<a name="use-cases"></a>

VPC エンドポイントを作成して、VPC 内のクライアントを と統合するサービスやリソースに接続できます AWS PrivateLink。独自の VPC エンドポイントサービスを作成し、他の AWS お客様が利用できるようにします。詳細については、「[AWS PrivateLink の概念](concepts.md)」を参照してください。

以下の図では、プライベートサブネット内にある複数の Amazon EC2 インスタンスと、5 つのインターフェイス VPC エンドポイント (インターフェイス VPC エンドポイント 3 つ、リソース VPCエンドポイント 1 つ、サービスネットワーク VPC エンドポイント 1 つ) が左側の VPC にあります。最初のインターフェイス VPC エンドポイントは AWS サービスに接続します。2 番目のインターフェイス VPC エンドポイントは、別の AWS アカウントがホストするサービス (VPC エンドポイントサービス) に接続します。3 番目のインターフェイス VPC エンドポイントは AWS Marketplace パートナーサービスに接続します。リソース VPC エンドポイントはデータベースに接続します。サービスネットワーク VPC エンドポイントはサービスネットワークに接続します。

![\[AWS のサービス、別の のエンドポイントサービス AWS アカウント、パートナーサービス、VPC リソース、または VPC Lattice サービスネットワークに接続します。\]](http://docs.aws.amazon.com/ja_jp/vpc/latest/privatelink/images/use-cases.png)


**詳細情報**
+ [概念](concepts.md)
+ [ AWS のサービスにアクセスする](privatelink-access-aws-services.md)
+ [SaaS 製品にアクセスする](privatelink-access-saas.md)
+ [仮想アプライアンスにアクセスする](vpce-gateway-load-balancer.md)
+ [サービスを共有する](privatelink-share-your-services.md)

## VPC エンドポイントを使用する
<a name="working-with-privatelink"></a>

以下のいずれかを使用して、VPC エンドポイントの作成、アクセス、および管理ができます。
+ **AWS マネジメントコンソール** — AWS PrivateLink リソースへのアクセスに使用できるウェブインターフェイスを提供します。Amazon VPC コンソールを開き、**[エンドポイント]** または **[エンドポイントサービス]** を選択します。
+ **AWS Command Line Interface (AWS CLI)** — AWS のサービスを含む幅広い のセットのコマンドを提供します AWS PrivateLink。のコマンドの詳細については AWS PrivateLink、「 コマンドリファレンス」の[「ec2](https://docs.aws.amazon.com/cli/latest/reference/ec2/index.html)」を参照してください。 *AWS CLI *
+ **CloudFormation** - AWS リソースを説明するテンプレートを作成します。テンプレートを使用すると、これらのリソースを単一のユニットとして提供および管理できます。詳細については、以下の AWS PrivateLink リソースを参照してください。
  + [AWS::EC2::VPCEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html)
  + [AWS::EC2::VPCEndpointConnectionNotification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html)
  + [AWS::EC2::VPCEndpointService](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html)
  + [AWS::EC2::VPCEndpointServicePermissions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html)
  + [AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html)
+ **AWS SDKs** 言語固有の APIs。 SDK は、署名の計算、リクエストの再試行処理、エラー処理など、接続のさまざまな詳細を処理します。詳細については、「[AWSでの構築ツール](https://aws.amazon.com/developer/tools/)」を参照してください。
+ **クエリ API** — HTTPS リクエストを使用して呼び出す低レベル API アクションを提供します。クエリ API の使用は、Amazon VPC にアクセスする最も直接的な方法です。ただし、この方法では、リクエストに署名するハッシュの生成やエラー処理など、低レベルの詳細な作業をアプリケーションで処理する必要があります。詳細については、*Amazon EC2 API リファレンス*の [AWS PrivateLink アクション](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/operation-list-privatelink.html)を参照してください。

## 料金
<a name="pricing"></a>

VPC エンドポイントの料金については、「[AWS PrivateLink の料金](https://aws.amazon.com/privatelink/pricing/)」を参照してください。

# AWS PrivateLink の概念
<a name="concepts"></a>

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

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

**Topics**
+ [アーキテクチャ図](#architecture-diagram)
+ [プロバイダー](#concepts-service-providers)
+ [サービスまたはリソースコンシューマー](#concepts-service-consumers)
+ [AWS PrivateLink 接続](#privatelink-connections)
+ [プライベートホストゾーン](#concepts-private-hosted-zones)

## アーキテクチャ図
<a name="architecture-diagram"></a>

次の図は、 AWS PrivateLink の仕組みの概要を示しています。コンシューマーが、プロバイダーによってホストされるエンドポイントサービスとリソースに接続するための VPC エンドポイントを作成します。

![\[サービスコンシューマーが、プロバイダーによってホストされるエンドポイントサービスとリソースに接続するための VPC エンドポイントを作成します。\]](http://docs.aws.amazon.com/ja_jp/vpc/latest/privatelink/images/privatelink-concepts.png)


## プロバイダー
<a name="concepts-service-providers"></a>

プロバイダーに関連する概念を理解します。

### サービスプロバイダー
<a name="concepts-service-provider"></a>

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

### リソースプロバイダー
<a name="concepts-resource-provider"></a>

リソースプロバイダーはリソース (データベースや Amazon EC2 インスタンスなど) の所有者です。リソースプロバイダーには、 AWS サービス、 AWS パートナー、その他の AWS アカウントが含まれます。リソースプロバイダーは、VPC 内またはオンプレミスでリソースをホストできます。

**Topics**
+ [サービスプロバイダー](#concepts-service-provider)
+ [リソースプロバイダー](#concepts-resource-provider)
+ [エンドポイントサービス](#concepts-endpoint-services)
+ [サービス名](#concepts-service-names)
+ [サービスの状態](#concepts-service-states)
+ [リソース設定](#concepts-resource-configuration)
+ [リソースゲートウェイ](#concepts-resource-gateway)

### エンドポイントサービス
<a name="concepts-endpoint-services"></a>

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

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

### サービス名
<a name="concepts-service-names"></a>

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

### サービスの状態
<a name="concepts-service-states"></a>

エンドポイントサービスの可能な状態は次のとおりです。
+ 保留中 - エンドポイントサービスが作成されています。
+ 利用可能 - エンドポイントサービスが利用可能です。
+ 失敗 - エンドポイントサービスを作成できませんでした。
+ 削除中 - サービスプロバイダーがエンドポイントサービスを削除し、削除処理が進行中です。
+ 削除済み - エンドポイントサービスが削除されました。

### リソース設定
<a name="concepts-resource-configuration"></a>

リソースプロバイダーは、リソースを共有するための*リソース設定*を作成します。リソース設定は、データベースなどの単一のリソース、またはリソースのグループのいずれかを表す論理オブジェクトです。リソースとしては、IP アドレス、ドメイン名ターゲット、または [Amazon Relational Database Service](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) (Amazon RDS) データベースがあります。

他のアカウントと共有する場合、リソースプロバイダーは [AWS Resource Access Manager](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html) (AWS RAM) リソース共有を介してリソースを共有し、他のアカウントの特定の AWS プリンシパルがリソース VPC エンドポイントを介してリソースに接続できるようにする必要があります。

リソース設定は、プリンシパルがサービスネットワーク VPC エンドポイント経由で接続するサービスネットワークに関連付けることができます。

### リソースゲートウェイ
<a name="concepts-resource-gateway"></a>

リソースゲートウェイは、リソースの共有元である VPC へのイングレスポイントです。プロバイダーは、VPC からリソースを共有するためのリソースゲートウェイを作成します。

## サービスまたはリソースコンシューマー
<a name="concepts-service-consumers"></a>

*サービスコンシューマー*は、サービスまたはリソースのユーザーです。コンシューマーは、その VPC またはオンプレミスからエンドポイントサービスやリソースにアクセスできます。

**Topics**
+ [VPC エンドポイント](#concepts-vpc-endpoints)
+ [エンドポイントのネットワークインターフェイス](#concepts-endpoint-network-interfaces)
+ [エンドポイントポリシー](#concepts-endpoint-policies)
+ [エンドポイントの状態](#concepts-endpoint-states)

### VPC エンドポイント
<a name="concepts-vpc-endpoints"></a>

コンシューマーは、その VPC をエンドポイントサービスまたはリソースに接続するための *VPC エンドポイント*を作成します。コンシューマーが VPC エンドポイントを作成するときは、エンドポイントサービス、リソース、またはサービスネットワークを指定する必要があります。VPC エンドポイントには複数のタイプがあります。必要なタイプの VPC エンドポイントを作成する必要があります。
+ `Interface` - TCP または UDP トラフィックをエンドポイントサービスに送信するための*インターフェイスエンドポイント*を作成します。エンドポイントサービス宛てのトラフィックは DNS を使用して解決されます。
+ `GatewayLoadBalancer` - プライベート IP アドレスを使用して仮想アプライアンスのフリートにトラフィックを送信するための *Gateway Load Balancer エンドポイント*を作成します。ルートテーブルを使用して、VPC から Gateway Load Balancer エンドポイントにトラフィックをルーティングします。Gateway Load Balancer は、トラフィックを仮想アプライアンスに分散し、需要に応じてスケールできます。
+ `Resource` - 共有されたリソースや別の VPC に格納されているリソースにアクセスするための*リソースエンドポイント*を作成します。リソースエンドポイントを使用することで、データベース、Amazon EC2 インスタンス、アプリケーションエンドポイント、ドメイン名ターゲット、または別の VPC 内やオンプレミス環境内のプライベートサブネットにある IP アドレスなどのリソースへのプライベートかつセキュアなアクセスが可能になります。リソースエンドポイントにはロードバランサーが必要なく、リソースに直接アクセスできます。
+ `Service network` - 作成した、または共有されたサービスネットワークにアクセスするための*サービスネットワークエンドポイント*を作成します。単一のサービスネットワークエンドポイントを使用して、サービスネットワークに関連付けられている複数のリソースやサービスにプライベートかつセキュアにアクセスできます。

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

### エンドポイントのネットワークインターフェイス
<a name="concepts-endpoint-network-interfaces"></a>

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

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

### エンドポイントポリシー
<a name="concepts-endpoint-policies"></a>

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

### エンドポイントの状態
<a name="concepts-endpoint-states"></a>

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

VPC エンドポイントの可能な状態は次のとおりです。
+ 承諾の保留中 - 接続リクエストが保留中です。これは、リクエストが手動で受け入れられた場合の初期状態です。
+ 保留中 - サービスプロバイダーが接続リクエストを受け入れました。これは、リクエストが自動で受け入れられた場合の初期状態です。サービスコンシューマーが VPC エンドポイントを変更すると、VPC エンドポイントはこの状態に戻ります。
+ 利用可能 - VPC エンドポイントが利用可能です。
+ 却下 – サービスプロバイダーが接続リクエストを却下しました。サービスプロバイダーは、接続が使用可能になった後にその接続を拒否することもできます。
+ 期限切れ - 接続リクエストの有効期限が切れました。
+ 失敗 - VPC エンドポイントを利用可能にできませんでした。
+ 削除中 - サービスコンシューマーが VPC エンドポイントを削除し、削除処理が進行中です。
+ 削除済み - VPC エンドポイントが削除されました。

 AWS PrivateLink API は、キャメルケースを使用して可能な状態を返します。

## AWS PrivateLink 接続
<a name="privatelink-connections"></a>

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

サービスプロバイダーは、サービスコンシューマーがエンドポイントサービスにアクセスできるように[許可](configure-endpoint-service.md#add-remove-permissions)を追加します。サービスコンシューマーが接続を開始すると、サービスプロバイダーは接続リクエストを承諾または拒否します。リソース所有者またはサービスネットワーク所有者は、 を介してリソース設定またはサービスネットワークをコンシューマーと共有 AWS Resource Access Manager し、コンシューマーがリソースまたはサービスネットワークにアクセスできるようにします。

インターフェイス VPC エンドポイントでは、コンシューマーが[エンドポイントポリシー](vpc-endpoints-access.md)を使用して、エンドポイントサービスやリソースにアクセスするために VPC エンドポイントを使用できる IAM プリンシパルを制御できます。

## プライベートホストゾーン
<a name="concepts-private-hosted-zones"></a>

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

ドメイントラフィックを VPC エンドポイントにルーティングするように Amazon Route 53 を設定できます。詳細については、「[ドメイン名を使用してトラフィックを VPC エンドポイントにルーティングする](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-vpc-interface-endpoint.html)」を参照してください。

Route 53 を使用して分割期間 DNS を設定できます。ここでは、パブリックウェブサイトと を利用したエンドポイントサービスの両方に同じドメイン名を使用します AWS PrivateLink。コンシューマー VPC からのパブリックホスト名の DNS リクエストは、エンドポイントのネットワークインターフェイスのプライベート IP アドレスに解決されますが、VPC の外部からのリクエストは引き続きパブリックエンドポイントに解決されます。詳細については、「[トラフィックをルーティングするための DNS メカニズムおよび AWS PrivateLink デプロイのフェイルオーバーの有効化](https://aws.amazon.com/blogs/apn/reviewing-dns-mechanisms-for-routing-traffic-and-enabling-failover-for-aws-privatelink-deployments/)」を参照してください。