透過 Elastic Beanstalk 設定 Amazon Virtual Private Cloud (Amazon VPC) - AWS Elastic Beanstalk

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

透過 Elastic Beanstalk 設定 Amazon Virtual Private Cloud (Amazon VPC)

Amazon Virtual Private Cloud (Amazon VPC) 是是能安全地將流量路由傳送到在 Elastic Beanstalk 中執行您應用程式的 EC2 執行個體的聯網服務。當您啟動環境時,如果未設定 VPC,Elastic Beanstalk 會使用預設 VPC。

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

注意

如果您在 2013 年 12 月 4 日前建立 AWS 帳戶,您可能會在某些 AWS 區域中使用 Amazon EC2-Classic 網路組態的環境而非使用 Amazon VPC。如需將環境從 EC2-Classic 遷移至 VPC 網路組態的詳細資訊,請參閱將 Elastic Beanstalk 環境從 EC2-Classic 遷移至 VPC

在 Elastic Beanstalk 主控台設定 VPC 設定

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

若要設定您的環境 VPC 設定
  1. 開啟 Elastic Beanstalk 主控台,然後在 Regions (區域) 清單中選取您的 AWS 區域。

  2. 在導覽窗格中,選擇 Environments (環境),然後在清單中選擇您環境的名稱。

    注意

    如果您有許多環境,請使用搜尋列來篩選環境清單。

  3. 在導覽窗格中,選擇 Configuration (組態)

  4. Network (網路) 組態類別中,選擇 Edit (編輯)

可用的設定如下所示。

VPC

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

Elastic Beanstalk 主控台上修改網路組態頁面中的 VPC 區段

負載平衡器可見性

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

負載平衡器子網路

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

Elastic Beanstalk 主控台上修改網路組態頁面中的負載平衡器設定區段

執行個體的公有 IP 地址。

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

執行個體子網路

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

Elastic Beanstalk 主控台上修改網路組態頁面中的執行個體設定區段

資料庫子網路

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

aws:ec2:vpc 命名空間

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

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

範例 .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 執行個體的公有 - 公有組態。

範例 .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