

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

# AWS Device Farm の VPC-ENI
<a name="vpc-eni"></a>

**警告**  
この機能は、[プライベートデバイス](https://docs.aws.amazon.com/devicefarm/latest/developerguide/working-with-private-devices.html)でのみ利用できます。 AWS アカウントでプライベートデバイスの使用をリクエストするには、[お問い合わせください](mailto:aws-devicefarm-support@amazon.com)。 AWS アカウントにプライベートデバイスがすでに追加されている場合は、この VPC 接続方法を使用することを強くお勧めします。

AWS Device Farm の VPC-ENI 接続機能は、お客様が 、オンプレミスソフトウェア AWS、またはその他のクラウドプロバイダーでホストされているプライベートエンドポイントに安全に接続するのに役立ちます。

Device Farm モバイルデバイスとそのホストマシンの両方を `us-west-2` リージョンの Amazon Virtual Private Cloud (Amazon VPC) 環境に接続できます。これにより、[エラスティックネットワークインターフェース](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html)を通じて、インターネットに関与しない分離されたサービスやアプリケーションにアクセスできます。VPC の詳細については、「[Amazon VPC ユーザーガイド](https://docs.aws.amazon.com/vpc/latest/userguide/)」を参照してください。

プライベートエンドポイントまたは VPC が `us-west-2` リージョンにない場合は、[Transit Gateway](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/transit-gateway.html) や [VPC ピアリング](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) などのソリューションを使用して `us-west-2` リージョン内の VPC とリンクできます。このような場合、Device Farm は `us-west-2` リージョン用に指定したサブネットに ENI を作成します。その `us-west-2` リージョン VPC と他のリージョンの VPC との間で接続を確立できるようにする必要があります。

![\[AWS Device Farm architecture with on-premises and cloud components for mobile app testing.\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/VPC-ENI-Customer-Flow.jpg)


を使用して VPCs を自動的に作成およびピアリング AWS CloudFormation する方法については、GitHub の [テンプレートリポジトリの VPCPeering](https://github.com/awslabs/aws-cloudformation-templates/tree/master/aws/solutions/VPCPeering) AWS CloudFormation テンプレートを参照してください。

**注記**  
Device Farm では、`us-west-2` のお客様が VPC で ENI を作成しても料金は発生しません。クロスリージョン接続または外部 VPC 間接続の費用は、この機能には含まれていません。

VPC アクセスを構成すると、VPC 内に指定した NAT ゲートウェイがない限り、テストに使用するデバイスとホストマシンは VPC 外のリソース (パブリック CDN など) に接続できなくなります。詳細については、「*Amazon VPC ユーザーガイド*」の「[NAT ゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)」を参照してください。

**Topics**
+ [AWS アクセスコントロールと IAM](vpc-eni-access-control.md)
+ [サービスリンクロール](vpc-eni-service-linked-role.md)
+ [前提条件](vpc-eni-prerequisites.md)
+ [Amazon VPC への接続](connecting-to-amazon-vpc.md)
+ [制限](vpc-eni-limits.md)
+ [Device Farm による Amazon VPC エンドポイントサービスの使用 - レガシー (推奨されません)](amazon-vpc-endpoints.md)

# AWS アクセスコントロールと IAM
<a name="vpc-eni-access-control"></a>

AWS Device Farm では、[AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) (IAM) を使用して Device Farm の機能へのアクセス権を付与または制限するポリシーを作成できます。AWS Device Farm で VPC 接続機能を使用するには、AWS Device Farm へのアクセスに使用しているユーザーアカウントまたはロールに次の IAM ポリシーが求められます:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [{
      "Effect": "Allow",
      "Action": [
        "devicefarm:*",
        "ec2:DescribeVpcs",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups",
        "ec2:CreateNetworkInterface"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "iam:CreateServiceLinkedRole",
      "Resource": "arn:aws:iam::*:role/aws-service-role/devicefarm.amazonaws.com/AWSServiceRoleForDeviceFarm",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "devicefarm.amazonaws.com"
        }
      }
    }
  ]
}
```

------

VPC 構成で Device Farm プロジェクトを作成または更新するには、IAM ポリシーで VPC 構成にリストされているリソースに対して次のアクションを呼び出すことを許可する必要があります:

```
"ec2:DescribeVpcs"
"ec2:DescribeSubnets"
"ec2:DescribeSecurityGroups"
"ec2:CreateNetworkInterface"
```

さらに、IAM ポリシーでサービスリンクロールの作成を許可する必要もあります:

```
"iam:CreateServiceLinkedRole"
```

**注記**  
これらの権限はいずれも、プロジェクトで VPC 構成を使用しないユーザーには必要ありません。

# サービスリンクロール
<a name="vpc-eni-service-linked-role"></a>

AWS Device Farm は AWS Identity and Access Management (IAM)[ サービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)を使用します。サービスリンクロールは、Device Farm に直接リンクされる一意のタイプの IAM ロールです。サービスにリンクされたロールは Device Farm によって事前定義されており、サービスがユーザーに代わって他の AWS サービスを呼び出すために必要なすべてのアクセス許可が含まれています。

サービスリンクロールを使用すると、必要な権限を手動で追加する必要がないため、Device Farm のセットアップが簡単になります。Device Farm は、サービスリンクロールの権限を定義します。別の定義がなされている場合を除き、Device Farm のみがそのロールを引き受けることができます。定義される権限には、信頼ポリシーと権限ポリシーが含まれており、その権限ポリシーを他のIAM エンティティにアタッチすることはできません。

サービスリンクロールは、まずその関連リソースを削除しなければ削除できません。これにより、リソースへのアクセス権限を不用意に削除することがなくなり、Device Farm のリソースを保護できます。

サービスリンクロールをサポートする他のサービスについては、「[IAM と連携する AWS サービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」で「**サービスリンクロール**」列が「**はい**」になっているサービスを探してください。サービスのサービスリンクロールに関するドキュメンテーションを表示するには、**[Yes]** (はい) リンクを選択します。

## Device Farm のサービスリンクロール権限
<a name="slr-permissions"></a>

Device Farm は **AWSServiceRoleForDeviceFarm** という名前のサービスリンクロールを使用します。これにより、Device Farm が代わりに AWS リソースにアクセスできるようになります。

サービスリンクロール AWSServiceRoleForDeviceFarm は、次のサービスを信頼してロールを引き受けます:
+ `devicefarm.amazonaws.com`

ロールの権限ポリシーは、Device Farm が次のアクションを完了することを許可します:
+ アカウント用
  + ネットワークインターフェイスを作成する
  + ネットワークインターフェースを記述する
  + VPC を記述する　
  + サブネットを記述する
  + セキュリティグループを記述する
  + インターフェイスを削除する
  + ネットワークインターフェイスを変更する
+ ネットワークインターフェイス用
  + タグを作成する
+ Device Farm によって管理される EC2 ネットワークインターフェイス用
  + ネットワークインターフェイス権限を作成する

IAM ポリシーの全文は次のとおりです:

------
#### [ JSON ]

****  

```
	{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"ec2:DescribeNetworkInterfaces",
				"ec2:DescribeVpcs",
				"ec2:DescribeSubnets",
				"ec2:DescribeSecurityGroups"
			],
			"Resource": "*"
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:CreateNetworkInterface"
			],
			"Resource": [
				"arn:aws:ec2:*:*:subnet/*",
				"arn:aws:ec2:*:*:security-group/*"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:CreateNetworkInterface"
			],
			"Resource": [
				"arn:aws:ec2:*:*:network-interface/*"
			],
			"Condition": {
				"StringEquals": {
					"aws:RequestTag/AWSDeviceFarmManaged": "true"
				}
			}
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:CreateTags"
			],
			"Resource": "arn:aws:ec2:*:*:network-interface/*",
			"Condition": {
				"StringEquals": {
					"ec2:CreateAction": "CreateNetworkInterface"
				}
			}
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:CreateNetworkInterfacePermission",
				"ec2:DeleteNetworkInterface"
			],
			"Resource": "arn:aws:ec2:*:*:network-interface/*",
			"Condition": {
				"StringEquals": {
					"aws:ResourceTag/AWSDeviceFarmManaged": "true"
				}
			}
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:ModifyNetworkInterfaceAttribute"
			],
			"Resource": [
				"arn:aws:ec2:*:*:security-group/*",
				"arn:aws:ec2:*:*:instance/*"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:ModifyNetworkInterfaceAttribute"
			],
			"Resource": "arn:aws:ec2:*:*:network-interface/*",
			"Condition": {
				"StringEquals": {
					"aws:ResourceTag/AWSDeviceFarmManaged": "true"
				}
			}
		}
	]
}
```

------

サービスリンクロールの作成、編集、削除をIAM エンティティ (ユーザー、グループ、ロールなど) に許可する権限を構成する必要があります。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロール権限](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)」を参照してください。

## Device Farm のサービスリンクロールの作成
<a name="create-slr"></a>

モバイルテストプロジェクトの VPC 構成を提供する場合、サービスリンクロールを手動で作成する必要はありません。 AWS マネジメントコンソール、、 AWS CLIまたは AWS API で最初の Device Farm リソースを作成すると、Device Farm によってサービスにリンクされたロールが作成されます。

このサービスリンクロールを削除した後で再度作成する必要が生じた場合は同じ方法でアカウントにロールを再作成できます。Device Farm リソースを初めて作成すると、Device Farm がサービスリンクロールを再度作成します。

IAM コンソールを使用して、**Device Farm** ユースケースでサービスリンクロールを作成することもできます。 AWS CLI または AWS API で、サービス名を使用して`devicefarm.amazonaws.com`サービスにリンクされたロールを作成します。詳細については、「IAM ユーザーガイド**」の「[サービスにリンクされたロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)」を参照してください。このサービスリンクロールを削除しても、同じ方法でロールを再作成できます。

## Device Farm のサービスリンクロールの編集
<a name="edit-slr"></a>

Device Farm では、サービスリンクロール AWSServiceRoleForDeviceFarm を編集できません。サービスリンクロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、IAM を使用してロールの説明を編集することはできます。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)」を参照してください。

## Device Farm のサービスリンクロールの削除
<a name="delete-slr"></a>

サービスリンクロールが必要な機能またはサービスが不要になった場合には、そのロールを削除することをお勧めします。そうすることで、積極的にモニタリングまたは保守されていない未使用のエンティティを排除できます。ただし、手動で削除する前に、サービスリンクロールのリソースをクリーンアップする必要があります。

**注記**  
リソースを削除する際に、Device Farm サービスがそのロールを使用している場合、削除が失敗することがあります。その場合は、数分待ってからオペレーションを再試行してください。

**IAM を使用してサービスリンクロールを手動で削除するには**

IAM コンソール、 AWS CLI、または AWS API を使用して、AWSServiceRoleForDeviceFarm サービスにリンクされたロールを削除します。詳細については、「[IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)」の「*サービスリンクロールの削除*」を参照してください。

## Device Farm のサービスリンクロールがサポートされるリージョン
<a name="slr-regions"></a>

Device Farm は、サービスが利用可能なすべてのリージョンで、サービスリンクロールの使用をサポートします。詳細については、「[AWS リージョンとエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html)」を参照してください。

Device Farm は、サービスを利用できるすべてのリージョンで、サービスリンクロールの使用をサポートしているわけではありません。AWSServiceRoleForDeviceFarm ロールは、以下のリージョンで使用できます。


****  

| リージョン名 | リージョン識別子 | Device Farm でのサポート | 
| --- | --- | --- | 
| 米国東部 (バージニア北部) | us–east–1 | いいえ | 
| 米国東部 (オハイオ) | us-east-2 | いいえ | 
| 米国西部（北カリフォルニア) | us-west-1 | いいえ | 
| 米国西部 (オレゴン) | us-west-2 | はい | 
| アジアパシフィック (ムンバイ) | ap-south-1 | いいえ | 
| アジアパシフィック (大阪) | ap-northeast-3 | いいえ | 
| アジアパシフィック (ソウル) | ap-northeast-2 | いいえ | 
| アジアパシフィック (シンガポール) | ap-southeast-1 | いいえ | 
| アジアパシフィック (シドニー) | ap-southeast-2 | いいえ | 
| アジアパシフィック (東京) | ap-northeast-1 | いいえ | 
| カナダ (中部) | ca-central-1 | いいえ | 
| 欧州 (フランクフルト) | eu-central-1 | いいえ | 
| 欧州 (アイルランド) | eu-west-1 | いいえ | 
| 欧州 (ロンドン) | eu-west-2 | いいえ | 
| 欧州 (パリ) | eu-west-3 | いいえ | 
| 南米 (サンパウロ） | sa-east-1 | いいえ | 
| AWS GovCloud (US) | us-gov-west-1 | いいえ | 

# 前提条件
<a name="vpc-eni-prerequisites"></a>

次のリストは、VPC-ENI 構成を作成する際に確認すべきいくつかの要件と提案を示しています。
+ プライベートデバイスは AWS アカウントに割り当てる必要があります。
+ サービスにリンクされたロールを作成するには、アクセス許可を持つ AWS アカウントユーザーまたはロールが必要です。Device Farm モバイルテスト機能で Amazon VPC エンドポイントを使用する場合、Device Farm は AWS Identity and Access Management (IAM) サービスにリンクされたロールを作成します。
+ Device Farm は、`us-west-2` リージョン内の VPC にのみ接続できます。`us-west-2` リージョンに VPC がない場合は、作成する必要があります。次に、別のリージョンの VPC のリソースにアクセスするには、`us-west-2` リージョンの VPC と他のリージョンの VPC との間にピアリング接続を確立する必要があります。VPC のピアリングについては、「[Amazon VPC ピアリングガイド](https://docs.aws.amazon.com/vpc/latest/peering/)」を参照してください。

  接続を構成するときは、指定した VPC へのアクセス権を持つことを証明する必要があります。Device Farm では、特定の Amazon Elastic Compute Cloud (Amazon EC2) 権限を構成する必要があります。
+ 使用する VPC では DNS 解決が必要です。
+ VPC を作成したら、`us-west-2` リージョン内の VPC に関する以下の情報が必要になります。
  + VPC ID
  + サブネット ID (プライベートサブネットのみ)
  + セキュリティグループ ID
+ Amazon VPC 接続は個々のプロジェクトベースで構成する必要があります。現時点では、1 つのプロジェクトで構成できる VPC 構成は 1 つだけです。VPC を構成すると、Amazon VPC は VPC 内にインターフェイスを作成し、指定されたサブネットとセキュリティグループに割り当てます。プロジェクトに関連するその後のセッションはすべて、構成された VPC 接続を使用します。
+ VPC-ENI 構成をレガシー VPCE 機能と一緒に使用することはできません。
+ VPC-ENI 構成を使用して**既存のプロジェクトを更新しない**ことを強くお勧めします。既存のプロジェクトには、実行レベルで VPCE 設定が維持される可能性があるためです。代わりに、既存の VPCE 機能をすでに使用している場合は、すべての新しいプロジェクトに VPC-ENI を使用してください。

# Amazon VPC への接続
<a name="connecting-to-amazon-vpc"></a>

Amazon VPC エンドポイントを使用するようにプロジェクトを構成および更新できます。VPC-ENI 構成は、個々のプロジェクトベースで構成されます。1 つのプロジェクトは常に 1 つの VPC-ENI エンドポイントしか持てません。プロジェクトの VPC アクセスを構成するには、次の情報を把握しておく必要があります:
+ アプリケーションがそこでホストされている場合は `us-west-2` の VPC ID、それ以外の場合は別のリージョンの他の `us-west-2` VPC に接続する VPC ID。
+ 接続に適用する適切なセキュリティグループ。
+ 接続に関連付けられるサブネット。セッションが開始されると、使用可能な最大のサブネットが使用されます。VPC 接続の可用性を向上させるために、複数のサブネットを異なるアベイラビリティーゾーンに関連付けることをお勧めします。
+ VPC-ENI を使用する場合、Device Farm テストホストとデバイスが使用する DNS リゾルバーは、カスタマーサブネットの DHCP サービスによって提供されるサーバーになります。デフォルト設定では、これは VPC のデフォルトリゾルバーになります。カスタム DNS リゾルバーを指定する場合は、VPC で DHCP オプションセットを設定できます。

VPC-ENI 構成を作成したら、次の手順に従ってコンソールまたは CLI を使用して詳細を更新できます。

------
#### [ Console ]

1. [https://console.aws.amazon.com/devicefarm](https://console.aws.amazon.com/devicefarm) で Device Farm コンソールにサインインします。

1. Device Farm ナビゲーションパネルで、**[モバイルデバイスのテスト]** を選択して、**[プロジェクト]** を選択します。

1. 「**モバイルテストプロジェクト**」で、リストからプロジェクトの名前を選択します。

1. **[プロジェクト設定]** を選択します。

1. **[仮想プライベートクラウド (VPC) 設定]** セクションで、`VPC`、`Subnets` (プライベートサブネットのみ)、および `Security Groups` を変更できます。

1. **[保存]** を選択します。

------
#### [ CLI ]

以下の AWS CLI コマンドを使用して Amazon VPC を更新します。

```
$  aws devicefarm update-project \
--arn arn:aws:devicefarm:us-west-2:111122223333:project:12345678-1111-2222-333-456789abcdef \
--vpc-config \
securityGroupIds=sg-02c1537701a7e3763,sg-005dadf9311efda25,\
subnetIds=subnet-09b1a45f9cac53717,subnet-09b1a45f9cac12345,\
vpcId=vpc-0238fb322af81a368
```

プロジェクトを作成するときに Amazon VPC を構成することもできます。

```
$  aws devicefarm create-project \
--name VPCDemo \
--vpc-config \
securityGroupIds=sg-02c1537701a7e3763,sg-005dadf9311efda25,\
subnetIds=subnet-09b1a45f9cac53717,subnet-09b1a45f9cac12345,\
vpcId=vpc-0238fb322af81a368
```

------

# 制限
<a name="vpc-eni-limits"></a>

VPC-ENI 機能には次の制限が適用されます。
+ Device Farm プロジェクトの VPC 構成には、最大 5 つのセキュリティグループを指定できます。
+ Device Farm プロジェクトの VPC 構成には、最大 8 つのサブネットを指定できます。
+ Device Farm プロジェクトを VPC と連携するように構成する場合、提供できる最小のサブネットには、使用可能な IPv4 アドレスが少なくとも 5 つ必要です。
+ パブリック IP アドレスは現時点ではサポートされていません。代わりに、Device Farm プロジェクトでプライベートサブネットを使用することをお勧めします。テスト中にパブリックインターネットアクセスが必要な場合は、[ネットワークアドレス変換 (NAT) ゲートウェイ](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#vpc-internet)を使用してください。パブリックサブネットで Device Farm プロジェクトを構成しても、テストにインターネットアクセスやパブリック IP アドレスは提供されません。
+ VPC-ENI 統合は、VPC 内のプライベートサブネットのみをサポートします。
+ サービス管理される ENI からの送信トラフィックのみがサポートされます。つまり、ENI は VPC からの未承諾のインバウンドリクエストを受信できません。

# Device Farm による Amazon VPC エンドポイントサービスの使用 - レガシー (推奨されません)
<a name="amazon-vpc-endpoints"></a>

**警告**  
VPCE はレガシー機能と見なされるようになったため、プライベートエンドポイント接続には[このページ](https://docs.aws.amazon.com/devicefarm/latest/developerguide/vpc-eni.html)で説明されている VPC-ENI 接続を使用することを強くお勧めします。VPC-ENI では、VPCE 接続方法と比較して、柔軟性の向上、設定の簡素化、コスト効率の向上、メンテナンスオーバーヘッドの大幅な削減が実現します。

**注記**  
Device Farm による Amazon VPC エンドポイントサービスの使用は構成済みプライベートデバイスをお使いのお客様に対してのみサポートされます。プライベートデバイスでこの機能を使用するために AWS アカウントを有効化するには、[お問い合わせ](mailto:aws-devicefarm-support@amazon.com)ください。

Amazon Virtual Private Cloud (Amazon VPC) は、定義した仮想ネットワークで AWS リソースを起動するために使用できる AWS サービスです。VPC を使用すると、IP アドレス範囲、サブネット、ルートテーブル、ネットワークゲートウェイなどのネットワーク設定を制御できます。

Amazon VPC を使用して米国西部 (オレゴン) (`us-west-2`) AWS リージョンでプライベートアプリケーションをホストする場合、VPC と Device Farm の間にプライベート接続を確立できます。この接続により、Device Farm を使用し、パブリックインターネットを介して公開することなく、プライベートアプリケーションをテストすることができます。 AWS アカウントでこの機能をプライベートデバイスで使用できるようにするには、[お問い合わせください](mailto:aws-devicefarm-support@amazon.com)。

お使いの VPC のリソースを Device Farm に接続するには、Amazon VPC コンソールを使用して、VPC エンドポイントサービスを作成します。このエンドポイントサービスでは、Device Farm VPC エンドポイントを介して VPC のリソースが Device Farm に提供されます。このエンドポイントサービスでは、インターネットゲートウェイ、ネットワークアドレス変換 (NAT) インスタンス、または VPN 接続を必要とせずに、信頼性の高いスケーラブルな接続性が Device Farm に提供されます。詳細については、「*AWS PrivateLink ガイド*」の「[VPC エンドポイントサービス (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/privatelink/endpoint-service.html)」を参照してください。

**重要**  
Device Farm VPC エンドポイント機能は、 AWS PrivateLink 接続を使用して、VPC 内のプライベート内部サービスを Device Farm パブリック VPC に安全に接続するのに役立ちます。接続は安全でプライベートですが、そのセキュリティはお客様の AWS 認証情報の保護によって異なります。 AWS 認証情報が侵害された場合、攻撃者はサービスデータにアクセスしたり、外部に公開したりできます。

Amazon VPC で VPC エンドポイントサービスを作成した後は、Device Farm コンソールを使用して、Device Farm で VPC エンドポイント構成を作成できます。このトピックでは、Device Farm で Amazon VPC 接続と VPC エンドポイント構成を作成する方法について説明します。

## [開始する前に]
<a name="device-farm-vpce-configuration-before-you-begin"></a>

以下の情報は、サブネットを us-west-2a、us-west-2b、および us-west-2c といった各 Availability Zone で持つ、米国西部 (オレゴン) (`us-west-2`) リージョンの Amazon VPC ユーザー向けとなります。

Device Farm には、一緒に使用できる VPC エンドポイントサービスについての追加要件があります。Device Farm で作業するために VPC エンドポイントサービスを作成および構成する場合は、必ず次の要件を満たすオプションを選択してください。
+ このサービスの Availability Zone は、us-west-2a、us-west-2b、および us-west-2c を含む必要があります。VPC エンドポイントサービスの Availability Zone は、エンドポイントサービスに関連付けられている Network Load Balancer によって決まります。VPC エンドポイントサービスにこれら 3 つのアベイラビリティーゾーンがすべて表示されない場合は、これら 3 つのゾーンを有効にするように Network Load Balancer を再作成してから、Network Load Balancer をエンドポイントサービスに再度関連付ける必要があります。
+ エンドポイントサービス用に許可されたプリンシパルには、 Device Farm VPC エンドポイント (サービス ARN) の Amazon リソースネーム (ARN) が含まれる必要があります。エンドポイントサービスを作成した後、Device Farm VPC エンドポイントサービス ARN を許可リストに追加して、VPC エンドポイントサービスにアクセスするための Device Farm 権限を付与します。Device Farm VPC エンドポイントサービス ARN を取得するには、[お問い合わせ](mailto:aws-devicefarm-support@amazon.com)ください。

また、VPC エンドポイントサービス作成時に **[承認が必要]** 設定が有効になっている場合は、Device Farm がエンドポイントサービスに送信する各接続リクエストを手動で承認する必要があります。既存のエンドポイントサービスに対して、この設定を変更するには、Amazon VPC コンソールでエンドポイントサービスを選択し、**[アクション]** を選択後、**[エンドポイント承認設定を変更]** を選択します。詳細については、「*AWS PrivateLink ガイド*」の「[ロードバランサーと承認設定を変更する](https://docs.aws.amazon.com/vpc/latest/privatelink/modify-endpoint-service.html)」を参照してください。

次のセクションでは、これらの要件を満たす Amazon VPC エンドポイントサービスを作成する方法について説明します。

## ステップ 1: Network Load Balancer の作成
<a name="device-farm-create-nlb"></a>

VPC と Device Farm の間でプライベート接続を確立する最初のステップは、Network Load Balancer を作成して、リクエストをターゲットグループにルーティングすることです。

------
#### [ New console ]

**新しいコンソールを使用して Network Load Balancer を作成するには**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2) で Amazon Elastic Compute Cloud (Amazon EC2) コンソールを開きます。

1. ナビゲーションペインの **[ロードバランシング]** で、**[ロードバランサー]** を選択します。

1. **[ロードバランサーを作成]** を選択します。

1. **[Network Load Balancer]** で、**[作成]** を選択します。

1. 「**Network Load Balancer を作成する**」ページの **[基本構成]** で、次の操作を行います。

   1. ロードバランサーの **[名前]** を入力します。

   1. **[スキーム]** では **[内部]** を選択します。

1. **[ネットワークマッピング]** で、次を行います:

   1. ターゲットグループの **[VPC]** を選択します。

   1. 次の **[マッピング]** を選択します:
      + `us-west-2a`
      + `us-west-2b`
      + `us-west-2c`

1. **[リスナーとルーティング]** で、**[プロトコル]** と **[ポート]** オプションを使用してターゲットグループを選択します。
**注記**  
デフォルトでは、クロスアベイラビリティーゾーンロードバランシングは無効化されます。  
ロードバランサーは アベイラビリティーゾーン `us-west-2a`、`us-west-2b`、`us-west-2c` を使用するため、ターゲットをそれぞれのアベイラビリティゾーンに登録する必要があります。また、3 つのゾーンすべてにターゲットを登録しない場合は、クロスゾーンロードバランシングを有効にする必要があります。そうしないと、ロードバランサーが期待どおりに機能しない可能性があります。

1. **[ロードバランサーを作成]** を選択します。

------
#### [ Old console ]

**古いコンソールを使用して Network Load Balancer を作成するには**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2) で Amazon Elastic Compute Cloud (Amazon EC2) コンソールを開きます。

1. ナビゲーションペインの **[ロードバランシング]** で、**[ロードバランサー]** を選択します。

1. **[ロードバランサーを作成]** を選択します。

1. **[Network Load Balancer]** で、**[作成]** を選択します。

1. 「**ロードバランサーを構成する**」ページの **[基本構成]** で、次の操作を行います。

   1. ロードバランサーの **[名前]** を入力します。

   1. **[スキーム]** では **[内部]** を選択します。

1. **[リスナー]** で、ターゲットグループが使用している **[プロトコル]** と **[ポート]** を選択します。

1. **[アベイラビリティゾーン]** で次の操作を行います。

   1. ターゲットグループの **[VPC]** を選択します。

   1. 以下の **[アベイラビリティゾーン]** を選択します。
      + `us-west-2a`
      + `us-west-2b`
      + `us-west-2c`

   1. **[次: セキュリティー設定を構成]** を選択します。

1. (オプション) セキュリティを構成し、**[次: ルーティングを構成]** を選択します。

1. 「**ルーティングを構成する**」ページで、以下を実行します。

   1. **[ターゲットグループ]** で、**[既存のターゲットグループ]** を選択します。

   1. **[名前]** では、ターゲットグループを選択します。

   1. **[次: ターゲットを登録]** を選択します。

1. 「**ターゲットを登録する**」ページでターゲットを確認し、「**次: 点検**」を選択します。
**注記**  
デフォルトでは、クロスアベイラビリティーゾーンロードバランシングは無効化されます。  
ロードバランサーは アベイラビリティーゾーン `us-west-2a`、`us-west-2b`、`us-west-2c` を使用するため、ターゲットをそれぞれのアベイラビリティゾーンに登録する必要があります。また、3 つのゾーンすべてにターゲットを登録しない場合は、クロスゾーンロードバランシングを有効にする必要があります。そうしないと、ロードバランサーが期待どおりに機能しない可能性があります。

1. ロードバランサー構成を点検し、**[作成]** を選択します。

------

## ステップ 2: Amazon VPC エンドポイントサービスの作成
<a name="device-farm-vpce-configuration-vpc-endpoint"></a>

Network Load Balancer を作成したら、Amazon VPC コンソールを使用して、VPC にエンドポイントサービスを作成します。

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. **[リージョン別リソース]** で、**[エンドポイントサービス]** を選択します。

1. **[エンドポイントサービスを作成]** を選択します。

1. 次のいずれかを行います。
   + エンドポイントサービスで使用する Network Load Balancer がすでにある場合は、**[利用可能なロードバランサー]** でそれを選択して、ステップ 5 に進みます。
   + Network Load Balancer をまだ作成していない場合は、**[新規ロードバランサーを作成]** を選択します。Amazon EC2 コンソールが開きます。ステップ 3 から始まる「[Network Load Balancer の作成](#device-farm-create-nlb)」のステップに従い、Amazon VPC コンソールで次の手順に進みます。

   

1. **[含まれるアベイラビリティーゾーン]** では、`us-west-2a`、`us-west-2b`、および `us-west-2c` がリストに表示されていることを確認します。

1. エンドポイントサービスに送信される各接続リクエストを手動で承認または拒否しない場合は、**[追加設定]** で **[承認が必要]** チェックボックスのマークを外します。このチェックボックスのマークを外すと、エンドポイントサービスは受け取る各接続リクエストを自動的に承認します。

1. **[作成]** を選択します。

1. 新しいエンドポイントサービスを選択し、**[プリンシパルを許可]** の順に選択します。

1. エンドポイントサービスの許可リストに追加する Device Farm VPC エンドポイント (サービス ARN) の ARN を取得し、そのサービス ARN をサービスの許可リストに追加するには、[私たちにお問い合わせ](mailto:aws-devicefarm-support@amazon.com)ください。

1. エンドポイントサービスの **[詳細]** タブで、サービスの名前 (**サービス名**) を書き留めます。この名前は、次のステップで VPC エンドポイント構成を作成する際に必要になります。

VPC エンドポイントサービスは現在、Device Farm により使用できます。

## ステップ 3: Device Farm での VPC エンドポイント構成の作成
<a name="device-farm-edit-devicefarm-settings-vpc-endpoint"></a>

Amazon VPC でエンドポイントサービスを作成したら、Amazon VPC エンドポイント構成を Device Farm で作成できます。

1. [https://console.aws.amazon.com/devicefarm](https://console.aws.amazon.com/devicefarm) で Device Farm コンソールにサインインします。

1. ナビゲーションペインで、**[モバイルデバイスのテスト]** を選択後、**[プライベートデバイス]** を選択します。

1. **[VPCE 構成]** を選択します。

1. **[VPCE 構成を作成]** を選択します。

1. **[新規 VPCE 構成を作成]** で、VPC エンドポイント構成の **[名前]** を入力します。

1. **[VPCE サービス名]** には、Amazon VPC エンドポイントサービスでメモした Amazon VPC エンドポイントサービスの名前 (**サービス名**) を入力します。名前は `com.amazonaws.vpce.us-west-2.vpce-svc-id` のようになります。

1. **[Service DNS 名]** には、テストするアプリケーションのサービス DNS 名 (例: `devicefarm.com`) を入力します。サービス DNS 名の前には `http` または `https` を指定しないでください。

   ドメイン名は、パブリックインターネットからはアクセスできません。また、VPC エンドポイントサービスにマッピングされるこの新規ドメイン名は、Amazon Route 53 によって生成され、Device Farm セッションでお客様専用として使用できます。

1. **[保存]** を選択します。  
![\[「新規 VPC 構成を作成する」ページ (サンプルデータ付き)\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/aws-device-farm-create-vpce-configuration.png)

## ステップ 4: テスト実行の作成
<a name="device-farm-create-test-run"></a>

VPC エンドポイント構成を保存したら、その構成を使用してテスト実行またはリモートアクセスセッションを作成できます。詳細については、[Device Farm でのテスト実行の作成](how-to-create-test-run.md)または[セッションの作成](how-to-create-session.md)を参照してください。