当我部署 AWS Elastic Beanstalk 应用程序时,如何将我自己的安全组用于负载均衡器?

1 分钟阅读
0

我想为我的 AWS Elastic Beanstalk 应用程序创建负载均衡的自动扩展环境类型。我还想为我的负载均衡器指定我自己的安全组。

简短描述

Elastic Beanstalk 会为您的负载均衡器创建默认安全组。如果您有想要挂载到自己的负载均衡器的现有安全组(又称为 ManagedSecurityGroup),您可以覆盖此默认行为。为了阻止 Elastic Beanstalk 创建默认安全组,您必须将一个或多个配置文件添加到 .ebextensions 目录。该目录位于应用程序部署包中。

**重要提示:**以下步骤仅适用于 Application Load Balancer 和 Classic Load Balancer。Network Load Balancer 没有关联的安全组

解决方法

使用 .ebextensions 指示 Elastic Beanstalk 服务将预先存在的安全组附加到您的负载均衡器。然后,删除 Elastic Beanstalk 为您创建的默认安全组。

1.    确认您已将现有安全组提供给 Elastic Beanstalk 使用。或者,在您的 Elastic Beanstalk 环境中为负载均衡器创建新安全组

2.    记下您的安全组的 ID。例如,sg-123456

3.    在本地应用程序代码目录中创建一个 .ebextensions/ 目录。

**注意:**有关更多信息,请参阅使用配置文件 (.ebextensions) 进行高级环境自定义

4.    在 .ebextensions/ 目录中,创建一个名为 elbsg.config 的文件。例如:

~/workspace/my-app/
├── .ebextensions
│   ├── elbsg.config
├── helloworld

**注意:**有关更多信息,请参阅使用配置文件 (.ebextensions) 进行高级环境自定义

5.    基于您的 Elastic Beanstalk 环境的负载均衡器类型更新 elbsg.config 文件。

要使用 Classic Load Balancer 创建新环境或更新现有环境,请使用 SecurityGroups 设置覆盖默认安全组。例如:

option_settings:
 aws:elb:loadbalancer:
  ManagedSecurityGroup: "sg-123456"
  SecurityGroups: "sg-123456"

要使用 Application Load Balancer 创建新环境或更新现有环境,请使用 SecurityGroups 设置覆盖默认安全组。例如:

option_settings:
 aws:elbv2:loadbalancer:
  ManagedSecurityGroup: "sg-123456"
  SecurityGroups: "sg-123456"

**注意:**在前面的示例中,将 sg-123456 替换为您的安全组和托管安全组。前面的 .ebextensions 采用 YAML 格式。确保验证 YAML 格式。

6.    将您的代码和新的 .ebextensions/ 目录作为新应用程序版本一起部署到您的 Elastic Beanstalk 环境。

部署之后,您的安全组将会挂载到该负载均衡器。您的环境和负载均衡器现在使用您现有安全组,而非默认负载均衡器安全组。


相关信息

配置 Elastic Beanstalk 环境

aws:elb:loadbalancer

aws:elbv2:loadbalancer

AWS 官方
AWS 官方已更新 1 年前