我在EC2实例上有一个数据库服务器,我希望Elastic Load Balancer集群可以访问它 .
我尝试添加数据库EC2的Load Balancer安全组的子网 .
必须有一些方法可以为EC2实例的整个集群创建ELB并自动调整,访问单个EC2 .
您的问题不太清楚,但您的方案似乎是:
Internet -> ELB -> EC2 fleet -> Database (on EC2 instance)
您在单个EC2实例上运行了一个数据库
您有多个运行连接到数据库的应用程序的EC2实例
您有一个Elastic Load Balancer,它接受来自Internet的流量并将其分发到运行该应用程序的EC2实例
您应该配置以下 Security Groups :
ELB-SG :配置此安全组以允许来自Internet的传入Web流量( 0.0.0.0/0 ) . 将安全组关联到Load Balancer .
ELB-SG
0.0.0.0/0
App-SG :配置此安全组以允许来自 ELB-SG 的传入Web流量 . 将安全组与应用程序组中的每个实例相关联 . 如果通过Auto Scaling启动EC2实例,则将安全组与启动配置相关联 .
App-SG
DB-SG :配置此安全组以允许来自 App-SG 的传入流量 . 将安全组关联到运行数据库的EC2实例 .
DB-SG
当我说"allow incoming traffic from xxx-SG"时,我的意思是在配置安全组时应该在 Source 字段中输入传入安全组的名称 . 这将自动插入安全组的唯一名称(sg-xxxx) . 这意味着与引用的安全组关联的任何资源都将被允许在指定端口上进行传入访问 .
您应该避免在安全组中使用IP地址或CIDR范围,因为它们可以更改(例如,如果您启动另一个EC2实例) . 通过按名称引用安全组,它将在添加/删除实例时自动更新 .
1 回答
您的问题不太清楚,但您的方案似乎是:
您在单个EC2实例上运行了一个数据库
您有多个运行连接到数据库的应用程序的EC2实例
您有一个Elastic Load Balancer,它接受来自Internet的流量并将其分发到运行该应用程序的EC2实例
您应该配置以下 Security Groups :
ELB-SG
:配置此安全组以允许来自Internet的传入Web流量(0.0.0.0/0
) . 将安全组关联到Load Balancer .App-SG
:配置此安全组以允许来自ELB-SG
的传入Web流量 . 将安全组与应用程序组中的每个实例相关联 . 如果通过Auto Scaling启动EC2实例,则将安全组与启动配置相关联 .DB-SG
:配置此安全组以允许来自App-SG
的传入流量 . 将安全组关联到运行数据库的EC2实例 .当我说"allow incoming traffic from xxx-SG"时,我的意思是在配置安全组时应该在 Source 字段中输入传入安全组的名称 . 这将自动插入安全组的唯一名称(sg-xxxx) . 这意味着与引用的安全组关联的任何资源都将被允许在指定端口上进行传入访问 .
您应该避免在安全组中使用IP地址或CIDR范围,因为它们可以更改(例如,如果您启动另一个EC2实例) . 通过按名称引用安全组,它将在添加/删除实例时自动更新 .