使用 Elastic Beanstalk 配置 Amazon Virtual Private Cloud(AmazonVPC) - AWS Elastic Beanstalk

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

使用 Elastic Beanstalk 配置 Amazon Virtual Private Cloud(AmazonVPC)

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

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

在 Elastic Beanstalk 控制台中配VPC置設置

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

若要設定您的環境VPC設定
  1. 開啟彈性魔豆控制台,然後在區域清單中選取您的. AWS 區域

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

    注意

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

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

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

可用的設定如下所示。

VPC

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

VPCElastic Beanstalk 主控台上「修改網路組態」頁面中的一節

負載平衡器可見性

於負載平衡的環境中,選擇負載平衡器機制。在預設情況下,負載平衡器為公有狀態,包含公有的 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