

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

# 透過 Elastic Beanstalk 設定 Amazon Virtual Private Cloud (Amazon VPC)
<a name="using-features.managing.vpc"></a>

[Amazon Virtual Private Cloud](https://docs.aws.amazon.com/vpc/latest/userguide/) (Amazon VPC) 是是能安全地將流量路由傳送到在 Elastic Beanstalk 中執行您應用程式的 EC2 執行個體的聯網服務。當您啟動環境時，如果未設定 VPC，Elastic Beanstalk 會使用預設 VPC。

您可以啟動您的環境於自訂的 VPC，以自訂聯網和安全設定。Elastic Beanstalk 可讓您選擇要將哪些子網路用於您的資源，以及如何為您環境中的執行個體和負載平衡器設定 IP 地址。當您建立環境時，環境是鎖定到 VPC 的，但您可在執行中的環境變更子網路和 IP 地址。

## 在 Elastic Beanstalk 主控台設定 VPC 設定
<a name="environments-cfg-vpc-console"></a>

如果您在建立環境時選擇自訂 VPC，您可以在 Elastic Beanstalk 主控台修改該 VPC 設定。

**若要設定您的環境 VPC 設定**

1. 開啟 [Elastic Beanstalk 主控台](https://console.aws.amazon.com/elasticbeanstalk)，然後在**區域**清單中選取您的 AWS 區域。

1. 在導覽窗格中，選擇**環境**，然後在清單中選擇您環境的名稱。

1. 在導覽窗格中，選擇**組態**。

1. 在 **Network (網路)** 組態類別中，選擇 **Edit (編輯)**。

可用的設定如下所示。

**Topics**
+ [VPC](#environments-cfg-vpc-console-vpc)
+ [負載平衡器可見性](#environments-cfg-vpc-console-lbvisibility)
+ [負載平衡器子網路](#environments-cfg-vpc-console-lbsubnets)
+ [執行個體的公有 IP 地址。](#environments-cfg-vpc-console-ec2ip)
+ [執行個體子網路](#environments-cfg-vpc-console-ec2subnets)
+ [資料庫子網路](#environments-cfg-vpc-console-dbsubnets)

### VPC
<a name="environments-cfg-vpc-console-vpc"></a>

選擇您環境的 VPC。您只能在環境建立時變更此設定。

![Elastic Beanstalk 主控台上修改網路組態頁面中的 VPC 區段](http://docs.aws.amazon.com/zh_tw/elasticbeanstalk/latest/dg/images/environments-cfg-vpc-console-vpc.png)


### 負載平衡器可見性
<a name="environments-cfg-vpc-console-lbvisibility"></a>

於負載平衡的環境中，選擇負載平衡器機制。在預設情況下，負載平衡器為公有狀態，包含公有的 IP 地址和網域名稱。如果您的應用程式只會從您的 VPC 或連線的 VPN 內部提供流量，取消選取此選項並選擇適用於您的負載平衡器的私有子網路，讓負載平衡器為內部使用且從網際網路停用存取。

### 負載平衡器子網路
<a name="environments-cfg-vpc-console-lbsubnets"></a>

於負載平衡的環境中，選擇您的負載平衡器用於提供流量的子網路。於公有應用程式中，選擇公有子網路。於多個可用區域使用子網路以有高可用性。於內部應用程式，請選擇私有子網路且停用負載平衡器的可見性。

![Elastic Beanstalk 主控台上修改網路組態頁面中的負載平衡器設定區段](http://docs.aws.amazon.com/zh_tw/elasticbeanstalk/latest/dg/images/environments-cfg-vpc-console-lb.png)


### 執行個體的公有 IP 地址。
<a name="environments-cfg-vpc-console-ec2ip"></a>

如果您為您的應用程式執行個體選擇公有子網路，讓公有 IP 地址可從網際網路使其路由。

### 執行個體子網路
<a name="environments-cfg-vpc-console-ec2subnets"></a>

選擇適用於您的應用程式執行個體的子網路。為您的負載平衡器使用的每個可用區域，選擇至少一個子網路。如果您為您的執行個體選擇私有子網路，您的 VPC 必須擁有 NAT 閘道於可以用於存取網際網路的公有子網路執行個體。

![Elastic Beanstalk 主控台上修改網路組態頁面中的執行個體設定區段](http://docs.aws.amazon.com/zh_tw/elasticbeanstalk/latest/dg/images/environments-cfg-vpc-console-ec2.png)


### 資料庫子網路
<a name="environments-cfg-vpc-console-dbsubnets"></a>

執行連接至 Elastic Beanstalk 環境的 Amazon RDS 資料庫時，請為資料庫執行個體選擇子網路。為了高可用性，讓資料庫可 multi-AZ 且為每個可用區域選擇子網路。為了確保您的應用程式可以連接到您的資料庫，於相同子網路執行上述兩項。

## aws:ec2:vpc 命名空間
<a name="environments-cfg-vpc-namespace"></a>

您可以在 `aws:ec2:vpc` 命名空間中使用組態選項來設定您的環境網路設定。

以下[組態檔案](ebextensions.md)使用於此命名空間的選項來設定公有私有組態環境的 VPC 和子網路。為了設定 VPC ID 於組態檔案中，檔案必須包含在環境建立時的應用程式原始碼套件。如需環境建立時設定這些設定的其他方法，請參閱[於環境建立期間設定組態選項](environment-configuration-methods-during.md)。

**Example .ebextensions/vpc.config - 公有 - 私有**  

```
option_settings:
   aws:ec2:vpc:
      VPCId: vpc-087a68c03b9c50c84
      AssociatePublicIpAddress: 'false'
      ELBScheme: public
      ELBSubnets: subnet-0fe6b36bcb0ffc462,subnet-032fe3068297ac5b2
      Subnets: subnet-026c6117b178a9c45,subnet-0839e902f656e8bd1
```

此範例顯示執行於相同公有子網路中的負載平衡器和 EC2 執行個體的公有 - 公有組態。

**Example .ebextensions/vpc.config - 公有 - 公有**  

```
option_settings:
   aws:ec2:vpc:
      VPCId: vpc-087a68c03b9c50c84
      AssociatePublicIpAddress: 'true'
      ELBScheme: public
      ELBSubnets: subnet-0fe6b36bcb0ffc462,subnet-032fe3068297ac5b2
      Subnets: subnet-0fe6b36bcb0ffc462,subnet-032fe3068297ac5b2
```