安全组是实例级别防火墙,为保障实例安全,设置安全组规则时要遵循最小授权原则,下面介绍四种安全的内网实例互通设置方法。
方法一:使用单IP地址授权
- 适用场景:适用于小规模实例间内网互通场景。
- 优点:以IP地址方式授权,安全组规则清晰,容易理解。
- 缺点:内网互通实例数量较多时,会受到安全组规则条数200条的限制,并且后期维护工作量比较大。
设置方法如下:
方法二:加入同一安全组
- 适用场景:如果您的应用架构比较简单,可以为所有的实例选择相同的普通安全组,绑定同普通一安全组的实例之间不用设置特殊规则,默认网络互通。
- 优点:安全组规则清晰。
- 缺点:仅适用于简单的应用网络架构,网络架构调整时授权方法要随之进行修改。
设置方法,请参见ECS实例加入安全组。
方法三:绑定互通安全组
- 适用场景:为需要互通的实例增加绑定一个专门用于互通的普通安全组,适用于多层应用网络架构场景。
- 优点:操作简单,可以迅速建立实例间互通,可应用于复杂网络架构。
- 缺点:实例需绑定多个安全组,安全组规则阅读性较差。
设置方法如下:
- 新建一个普通安全组并命名,例如:互通安全组,不需要给新建的安全组添加任何规则。
- 将需要互通的实例都添加绑定新建的互通安全组。利用同一普通安全组的实例之间默认互通的特性,达到内网实例互通的效果。
方法四: 安全组互信授权
- 适用场景:为需要互通的实例增加绑定一个专门用于互通的安全组,适用于多层应用网络架构场景。
- 优点:操作简单,可以迅速建立实例间互通,可应用于复杂网络架构。
- 缺点:实例需绑定多个安全组,安全组规则阅读性较差。
设置方法如下:
建议
如果前期安全组授权过大,建议采用以下流程收紧授权范围。
图中的删除0.0.0.0是指删除原来的允许0.0.0.0/0地址段的安全组规则。
如果安全组规则变更操作不当,可能会导致您的实例间通信受到影响,请在修改设置前备份您要操作的安全组规则,以便出现互通问题时及时恢复。
安全组映射了实例在整个应用架构中的角色,推荐按照应用架构规划防火墙规则。例如:常见的三层Web应用架构就可以规划三个安全组,将部署了相应应用或数据库的实例绑定对应的安全组:
- Web层安全组:开放80端口。
- APP层安全组:开放8080端口。
- DB层安全组:开放3306端口。