在部署 Elastic Beanstalk 应用程序时,如何为我的负载均衡器使用自己的安全组?

1 分钟阅读
0

我想为 AWS Elastic Beanstalk 应用程序创建一个可扩展的负载均衡环境,并为我的负载均衡器指定自己的安全组。

简短描述

Elastic Beanstalk 会为您的负载均衡器创建默认安全组。要将现有安全组(ManagedSecurityGroup)附加到您的负载均衡器,请覆盖默认行为。将更多的配置文件添加到 .ebextensions/ 目录中,这样 Elastic Beanstalk 就不会创建默认安全组。该目录位于您的应用程序部署包中。

**重要事项:**以下步骤仅适用于应用程序负载均衡器和经典负载均衡器。网络负载均衡器没有关联的安全组。必须配置与目标关联的安全组,以接受来自网络负载均衡器的流量

解决方法

使用 .ebextensions 指示 Elastions Beanstalk 服务将现有安全组附加到您的负载均衡器。然后,移除 Elastic Beanstalk 为您创建的默认安全组。

完成以下步骤:

  1. 确认有现有安全组可供 Elastic Beanstalk 使用。或者,为 Elastic Beanstalk 环境中的负载均衡器创建一个新的安全组
  2. 记下安全组的 ID。例如:sg-123456
  3. 在本地应用程序代码目录中创建一个 .ebextensions/ 目录。
  4. .ebextensions/ 目录中,创建 elbsg.config 文件。例如:
    ~/workspace/my-app/
    |-- .ebextensions
    |   |-- elbsg.config  
    |-- helloworld
    **注意:**有关更多信息,请参阅 Advanced environment customization with configuration files(.ebextensions)
  5. 根据 Elastic Beanstalk 环境的负载均衡器类型更新 elbsg.config 文件。有关更多信息,请参阅使用负载均衡分配 Amazon ECS 服务流量。要使用经典负载均衡器创建新环境或更新现有环境,请使用 SecurityGroups 设置来覆盖默认安全组。例如:
    option_settings:
      aws:elb:loadbalancer:
        ManagedSecurityGroup: "sg-123456"
        SecurityGroups: "sg-123456"
    要使用应用程序负载均衡器创建新环境或更新现有环境,请使用 SecurityGroups 设置覆盖默认安全组。例如:
    option_settings:
      aws:elbv2:loadbalancer:
        ManagedSecurityGroup: "sg-123456"  
        SecurityGroups: "sg-123456"
    **注意:**在前面的示例中,将 sg-123456 替换为您的安全组和托管安全组 ID。前面的 .ebextensions 采用 YAML 格式。请务必验证 YAML 格式。
  6. 将代码和新的 .ebextensions/ 目录作为新的应用程序版本一起部署到 Elastic Beanstalk 环境中。

相关信息

配置 Elastic Beanstalk 环境

aws:elb:loadbalancer

aws:elbv2:loadbalancer

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