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

上次更新时间:2020 年 3 月 16 日

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

简短描述

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

重要提示:以下步骤仅适用于 Application Load Balancer 和 Classic Load Balancer。网络负载均衡器没有相关安全组

解决方法

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

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

2.    记下安全组的 ID(例如:sg-123456)。

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

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

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

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

对于 Classic Load Balancer 类型,进行以下更新:

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

如果您使用 Classic Load Balancer 更新现有环境,请使用 SecurityGroups 设置删除默认安全组。请参阅以下示例:

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

对于 Application Load Balancer 类型,请进行以下更新:

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

如果您使用 Application Load Balancer 更新现有环境,请使用 SecurityGroups 设置删除默认安全组。请参阅以下示例:

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

注意:您可以使用 SecurityGroups 设置向负载均衡器添加其他安全组。

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

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


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?