【问题标题】:Give EC2 access to a ELB Elastic Beanstalk system授予 EC2 对 ELB Elastic Beanstalk 系统的访问权限
【发布时间】:2018-09-18 05:35:18
【问题描述】:

我在 EC2 实例上有一个数据库服务器,我希望 Elastic Load Balancer 集群可以访问它。

我尝试添加数据库 EC2 的负载均衡器安全组的子网。

必须有某种方法让整个 EC2 实例集群创建 ELB 和自动扩展,访问单个 EC2。

【问题讨论】:

    标签: amazon-ec2 amazon-elastic-beanstalk elastic-load-balancer aws-security-group


    【解决方案1】:

    您的问题不太清楚,但您的情况似乎是:

    Internet -> ELB -> EC2 fleet -> Database (on EC2 instance)
    
    • 您有一个在单个 EC2 实例上运行的数据库
    • 您有多个 EC2 实例运行连接到数据库的应用程序
    • 您有一个弹性负载均衡器,它接受来自 Internet 的流量并将其分发到运行应用程序的 EC2 实例

    您应该配置以下安全组:

    • ELB-SG:配置此安全组以允许来自 Internet (0.0.0.0/0) 的传入 Web 流量。将安全组关联到负载均衡器。
    • App-SG:配置此安全组以允许来自 ELB-SG 的传入 Web 流量。将安全组与应用程序队列中的每个实例相关联。如果 EC2 实例是通过 Auto Scaling 启动的,则将安全组与启动配置相关联。
    • DB-SG:配置此安全组以允许来自App-SG 的传入流量。将安全组与运行数据库的 EC2 实例相关联。

    当我说“允许来自 xxx-SG 的传入流量”时,我的意思是你应该在配置安全组时在 Source 字段中输入传入安全组的名称。这将自动插入安全组的唯一名称 (sg-xxxx)。这意味着与引用的安全组关联的任何资源都将被允许在指定端口上进行传入访问。

    您应该避免在安全组中使用 IP 地址或 CIDR 范围,因为它们可能会发生变化(例如,如果您启动另一个 EC2 实例)。通过按名称引用安全组,它将在添加/删除实例时自动更新。

    【讨论】:

    • 我使用的是ElasticBeanstalk,所以ELB-SG已经自动创建好了。将 ELB-SG 添加到 DB-SG 时出现此错误“您指定了属于不同网络的两个资源。”
    • 创建新的安全组时,确保它们在同一个 VPC 中。您的所有资源都应位于同一个 VPC 中,否则会带来额外的复杂性。
    猜你喜欢
    • 2014-03-06
    • 1970-01-01
    • 2019-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-21
    • 2016-09-05
    • 2012-02-22
    相关资源
    最近更新 更多