使用 Elastic Beanstalk 配置亚马逊虚拟私有云(亚马逊VPC) - AWS Elastic Beanstalk

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Elastic Beanstalk 配置亚马逊虚拟私有云(亚马逊VPC)

Amazon Virtual Private Cloud(亚马逊VPC)是一项网络服务,可将流量安全地路由到在 Elastic Beanstalk 中运行您的应用程序的EC2实例。如果你在启动环境VPC时没有配置,Elastic Beanstalk 将使用默认设置。VPC

您可以自定义启动您的环境,VPC以自定义网络和安全设置。您可以在 Elastic Beanstalk 中选择用于您的资源的子网,以及如何为您的环境中的实例和负载均衡器配置 IP 地址。创建环境VPC时,环境会被锁定,但您可以更改正在运行的环境中的子网和 IP 地址设置。

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

如果您在创建环境VPC时选择了自定义,则可以在 Elastic Beanstalk 控制台中修改其VPC设置。

配置您的环境VPC设置
  1. 打开 Elastic Beanstalk 控制台,然后在 “区域” 列表中,选择您的。 AWS 区域

  2. 在导航窗格中,选择 Environments(环境),然后从列表中选择环境的名称。

    注意

    如果您有多个环境,请使用搜索栏筛选环境列表。

  3. 在导航窗格中,选择 Configuration(配置)。

  4. Network(网络)配置类别中,选择 Edit(编辑)。

可供使用的设置如下。

VPC

VPC为您的环境选择一个。您只能在创建环境期间更改该设置。

VPCElastic Beanstalk 控制台上修改网络配置页面中的部分

负载均衡器可见性

对于负载均衡的环境,请选择负载均衡器模式。默认情况下,负载均衡器是具有公有 IP 地址和域名的公有负载均衡器。如果您的应用程序仅提供来自您的内部VPC或连接的流量,请取消选择此选项VPN,然后为您的负载均衡器选择私有子网,以将负载均衡器设为内部并禁止从 Internet 进行访问。

负载均衡器子网

对于负载均衡的环境,请选择负载均衡器用于处理流量的子网。对于公有应用程序,请选择公有子网。可以在多个可用区中使用子网以提供高可用性。对于内部应用程序,请选择私有子网并禁用负载均衡器可见性。

Elastic Beanstalk 控制台上的 Modify network(修改网络)配置页面中的 Load balancer settings(负载均衡器设置)部分

实例公有 IP 地址

如果为您的应用程序实例选择公有子网,请启用公有 IP 地址以便从 Internet 路由这些地址。

实例子网

为您的应用程序实例选择子网。为您的负载均衡器使用的每个可用区选择至少一个子网。如果您为实例选择私有子网,则VPC必须在公有子NAT网中有一个网关,供实例用来访问 Internet。

Elastic Beanstalk 控制台上的 Modify network(修改网络)配置页面中的 Instance settings(实例设置)部分

数据库子网

当您运行连接到 Elastic Beanstalk 环境的亚马逊RDS数据库时,请为数据库实例选择子网。为了获得高可用性,请将数据库指定为多可用区数据库,并为每个可用区选择一个子网。要确保您的应用程序可以连接到您的数据库,请在同一子网中运行应用程序和数据库。

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