

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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)存取隔離non-internet-facing服務和應用程式。如需 VPCs的詳細資訊，請參閱《[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 對等互連等解決方案，將其與 `us-west-2` 區域中的 VPC 連結。 [https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)在這種情況下，Device Farm 會在您為`us-west-2`區域 VPC 提供的子網路中建立 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/zh_tw/devicefarm/latest/developerguide/images/VPC-ENI-Customer-Flow.jpg)


如需有關使用 AWS CloudFormation 自動建立和對等 VPCs 的資訊，請參閱 GitHub 上[範本儲存庫中的 VPCPeering ](https://github.com/awslabs/aws-cloudformation-templates/tree/master/aws/solutions/VPCPeering) AWS CloudFormation 範本。

**注意**  
Device Farm 在 的客戶 VPC 中建立 ENIs 不收取任何費用`us-west-2`。跨區域或外部跨 VPC 連線的成本不包含在此功能中。

設定 VPC 存取後，您用於測試的裝置和主機機器將無法連線至 VPC 外部的資源 （例如公有 CDNs)，除非您在 VPC 中指定 NAT 閘道。如需詳細資訊，請參閱 *《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)
+ [搭配使用 Amazon VPC 端點服務與 Device Farm - Legacy （不建議）](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)，並尋找 **Service-Linked Role** (服務連結角色) 欄顯示 **Yes** (是) 的服務。選擇具有連結的 **Yes** (是)，以檢視該服務的服務連結角色文件。

## Device Farm 的服務連結角色許可
<a name="slr-permissions"></a>

Device Farm 使用名為 **AWSServiceRoleForDeviceFarm** 的服務連結角色 – 允許 Device Farm 代表您存取 AWS 資源。

AWSServiceRoleForDeviceFarm 服務連結角色信任下列服務擔任該角色：
+ `devicefarm.amazonaws.com`

角色許可政策允許 Device Farm 完成下列動作：
+ 針對您的帳戶
  + 建立網路介面
  + 描述網路介面
  + 描述 VPCs
  + 描述子網路
  + 描述安全群組
  + 刪除界面
  + 修改網路介面
+ 對於網路介面
  + 建立標籤
+ 適用於 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 | 否 | 
| Europe (Paris) | 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` 區域中連線至 VPCs。如果您在 `us-west-2` 區域中沒有 VPC，則需要建立一個 VPC。然後，若要存取另一個區域中 VPC 中的資源，您必須在 `us-west-2` 區域中的 VPC 與另一個區域中的 VPC 之間建立對等連線。如需對等 VPCs 的詳細資訊，請參閱 [Amazon VPC 對等互連指南](https://docs.aws.amazon.com/vpc/latest/peering/)。

  您應該在設定連線時，確認您有權存取指定的 VPC。您必須為 Device Farm 設定特定 Amazon Elastic Compute Cloud (Amazon EC2) 許可。
+ 在您使用的 VPC 中需要 DNS 解析。
+ 建立 VPC 之後，您將需要 區域中 VPC 的下列相關資訊`us-west-2`：
  + VPC ID
  + 子網路 IDs （僅限私有子網路）
  + 安全群組 IDs
+ 您必須根據專案設定 Amazon VPC 連線。目前，每個專案只能設定一個 VPC 組態。當您設定 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 組態是以每個專案為基礎進行設定。專案在任何指定時間只能有一個 VPC-ENI 端點。若要設定專案的 VPC 存取，您必須知道下列詳細資訊：
+ `us-west-2` 如果您的應用程式託管在那裡，則為 中的 VPC ID，或連接到不同區域中其他 VPC 的 `us-west-2` VPC ID。
+ 要套用至連線的適用安全群組。
+ 將與連線相關聯的子網路。當工作階段開始時，會使用最大的可用子網路。我們建議您擁有多個與不同可用區域相關聯的子網路，以改善 VPC 連線的可用性狀態。
+ 使用 VPC-ENI 時，Device Farm 測試主機和裝置所使用的 DNS 解析程式將是客戶子網路中 DHCP 服務提供的伺服器。在預設組態中，這會是 VPC 的預設解析程式。想要指定自訂 DNS 解析程式的客戶可以在其 VPC 中設定 DHCP 選項集。

建立 VPC-ENI 組態後，您可以使用主控台或 CLI 更新其詳細資訊，步驟如下。

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

1. 登入 Device Farm 主控台，網址為 https：//[https://console.aws.amazon.com/devicefarm](https://console.aws.amazon.com/devicefarm)。

1. 在 Device Farm 導覽面板上，選擇**行動裝置測試**，然後選擇**專案**。

1. 在**行動測試專案**下，從清單中選擇專案的名稱。

1. 選擇 **Project settings (專案設定)**。

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 組態中提供最多五個安全群組。
+ 您可以在 Device Farm 專案的 VPC 組態中提供最多八個子網路。
+ 設定 Device Farm 專案以使用 VPC 時，您可以提供的最小子網路必須至少有五個可用的 IPv4 地址。
+ 目前不支援公有 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 接收未經請求的傳入請求。

# 搭配使用 Amazon VPC 端點服務與 Device Farm - Legacy （不建議）
<a name="amazon-vpc-endpoints"></a>

**警告**  
我們強烈建議將[此頁面](https://docs.aws.amazon.com/devicefarm/latest/developerguide/vpc-eni.html)所述的 VPC-ENI 連線用於私有端點連線，因為 VPCE 現在被視為舊版功能。與 VPCE 連線方法相比，VPC-ENI 提供更多彈性、更簡單的組態、更具成本效益，而且需要的維護開銷也大幅降低。

**注意**  
只有已設定私有裝置的客戶，才支援將 Amazon VPC Endpoint Services 與 Device Farm 搭配使用。若要讓您的 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。端點服務為 Device Farm 提供可靠、可擴展的連線，而不需要網際網路閘道、網路位址轉譯 (NAT) 執行個體或 VPN 連線。如需詳細資訊，請參閱《 *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-2`) 區域的 Amazon VPC 使用者，子網路位於下列每個可用區域：us-west-2a、us-west-2b 和 us-west-2c。

Device Farm 對您可以使用的 VPC 端點服務有其他要求。當您建立和設定 VPC 端點服務以使用 Device Farm 時，請務必選擇符合下列需求的選項：
+ 服務的可用區域必須包含 us-west-2a、us-west-2b 和 us-west-2c。與 VPC 端點服務相關聯的 Network Load Balancer 會決定該 VPC 端點服務的可用區域。如果您的 VPC 端點服務未顯示所有三個可用區域，您必須重新建立 Network Load Balancer 以啟用這三個區域，然後將 Network Load Balancer 與端點服務重新建立關聯。
+ 端點服務的允許主體必須包含 Device Farm VPC 端點 （服務 ARN) 的 Amazon Resource Name (ARN)。建立端點服務之後，請將 Device Farm VPC 端點服務 ARN 新增至允許清單，以授予 Device Farm 存取 VPC 端點服務的許可。若要取得 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：//[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2) 的 Amazon Elastic Compute Cloud (Amazon EC2) 主控台。

1. 在導覽窗格的**負載平衡**下，選擇**負載平衡器**。

1. 選擇 **Create load balancer** (建立負載平衡器)。

1. 在**網路負載平衡器**下，選擇**建立**。

1. 在**建立網路負載平衡器**頁面**的基本組態**下，執行下列動作：

   1. 輸入負載平衡器**名稱**。

   1. 針對**結構描述**，選擇**內部**。

1. 在 **Network mappings** (網路映射) 下，執行下列動作：

   1. 選擇目標群組的 **VPC**。

   1. 選取下列**映射**：
      + `us-west-2a`
      + `us-west-2b`
      + `us-west-2c`

1. 在**接聽程式和路由**下，使用**通訊協定**和**連接埠**選項來選擇您的目標群組。
**注意**  
預設會停用跨可用區域負載平衡。  
由於負載平衡器使用可用區域 `us-west-2a`、 `us-west-2b`和 `us-west-2c`，因此需要在每個可用區域中註冊目標，或者，如果您在少於所有三個區域中註冊目標，則需要啟用跨區域負載平衡。否則，負載平衡器可能無法如預期般運作。

1. 選擇 **Create load balancer** (建立負載平衡器)。

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

**使用舊主控台建立 Network Load Balancer **

1. 開啟位於 https：//[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2) 的 Amazon Elastic Compute Cloud (Amazon EC2) 主控台。

1. 在導覽窗格的**負載平衡**下，選擇**負載平衡器**。

1. 選擇 **Create load balancer** (建立負載平衡器)。

1. 在**網路負載平衡器**下，選擇**建立**。

1. 在**設定負載平衡器**頁面**的基本組態**下，執行下列動作：

   1. 輸入負載平衡器**名稱**。

   1. 針對**結構描述**，選擇**內部**。

1. 在**接聽程式**下，選取目標群組正在使用的**通訊協定**和**連接埠**。

1. 在**可用區域**下，執行下列動作：

   1. 選擇目標群組的 **VPC**。

   1. 選取下列**可用區域**：
      + `us-west-2a`
      + `us-west-2b`
      + `us-west-2c`

   1. 選擇**下一步：設定安全設定**。

1. （選用） 設定您的安全設定，然後選擇**下一步：設定路由**。

1. 在 **Configure Routing (設定路由)** 頁面上，執行下列作業：

   1. 對於 **目標群組**，選擇 **現有的目標群組**。

   1. 針對**名稱**，選擇您的目標群組。

   1. 選擇**下一步：註冊目標**。

1. 在**註冊目標**頁面上，檢閱您的目標，然後選擇**下一步：檢閱**。
**注意**  
預設會停用跨可用區域負載平衡。  
由於負載平衡器使用可用區域 `us-west-2a`、 `us-west-2b`和 `us-west-2c`，因此需要在每個可用區域中註冊目標，或者，如果您在少於所有三個區域中註冊目標，則需要啟用跨區域負載平衡。否則，負載平衡器可能無法如預期般運作。

1. 檢閱您的負載平衡器組態，然後選擇**建立**。

------

## 步驟 2：建立 Amazon VPC 端點服務
<a name="device-farm-vpce-configuration-vpc-endpoint"></a>

建立 Network Load Balancer 之後，請使用 Amazon VPC 主控台在您的 VPC 中建立端點服務。

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在**依區域的資源**下，選擇**端點服務**。

1. 選擇 **Create Endpoint Service** (建立端點服務)。

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. [聯絡我們](mailto:aws-devicefarm-support@amazon.com)以取得 Device Farm VPC 端點的 ARN （服務 ARN)，以新增至端點服務的允許清單，然後將該服務 ARN 新增至服務的允許清單。

1. 在端點服務的 **Details (詳細資訊)** 標籤上，記下服務的名稱 (**服務名稱**)。在下一個步驟中建立 VPC 端點組態時您會需要此名稱。

您的 VPC 端點服務現在可以與 Device Farm 搭配使用。

## 步驟 3：在 Device Farm 中建立 VPC 端點組態
<a name="device-farm-edit-devicefarm-settings-vpc-endpoint"></a>

在 Amazon VPC 中建立端點服務之後，您可以在 Device Farm 中建立 Amazon VPC 端點組態。

1. 登入 Device Farm 主控台，網址為 https：//[https://console.aws.amazon.com/devicefarm](https://console.aws.amazon.com/devicefarm)。

1. 在導覽窗格中，選擇**行動裝置測試**，然後選擇**私有裝置**。

1. 選擇 **VPCE 組態**。

1. 選擇**建立 VPCE 組態**。

1. 在**建立新的 VPCE 組態**下，輸入 VPC 端點組態**的名稱**。

1. 針對 **VPCE 服務名稱**，輸入您在 Amazon VPC 主控台中記下的 Amazon VPC 端點服務名稱 (**服務名稱**)。名称的形式类似于 `com.amazonaws.vpce.us-west-2.vpce-svc-id`。

1. 針對**服務 DNS 名稱**，輸入您要測試的應用程式的服務 DNS 名稱 （例如 `devicefarm.com`)。請勿在服務 DNS 名稱前面指定 `http` 或 `https`。

   網域名稱無法透過公有網際網路存取。此外，此新網域名稱會映射至您的 VPC 端點服務，由 Amazon Route 53 產生，並僅供您在 Device Farm 工作階段中使用。

1. 選擇**儲存**。  
![\[使用範例資料建立新的 VPC 組態頁面\]](http://docs.aws.amazon.com/zh_tw/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) 。