本文介绍了几个常见的安全组应用案例,同时包括专有网络(VPC)和经典网络的安全组设置说明。

说明

案例 1:同一个地域、同一个账号下的实例实现内网互通

同一地域、同一账号的 2 个实例:
  • 如果在同一个安全组内,默认内网互通,不需要设置。
  • 如果在不同的安全组内,默认内网不通。此时,在实例所在安全组中分别添加一条安全组规则,授权另一个安全组内的实例访问本安全组内的实例,实现内网互通。根据网络类型做不同的安全组规则设置:
    网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 优先级 授权类型 授权对象
    专有网络 不需要设置 入方向 允许 设置适用的协议类型 设置端口范围 1 安全组访问(本账号授权) 选择允许访问的实例所在的安全组 ID
    经典网络 内网
说明

对于 VPC 网络类型的 ECS 实例,如果它们在同一个 VPC 网络内,可以通过安全组规则实现内网互通。如果 ECS 实例不在同一个 VPC 内(无论是否属于同一个账号或在同一个地域里),您可以使用高速通道实现 VPC 互通

案例 2:同一个地域、不同账号下的实例实现内网互通

此案例仅适用于经典网络类型的 ECS 实例。

UserA 在华东 1 有一台经典网络类型的 ECS 实例 InstanceA(内网 IP:A.A.A.A),InstanceA 所属的安全组为 GroupA。

UserB 在华东1有一台经典网络的 ECS 实例 InstanceB(内网 IP:B.B.B.B),InstanceB 所属的安全组为 GroupB。

您需要在 GroupA 和 GroupB 中分别添加安全组规则,授权 InstanceA 和 InstanceB 内网互通。

  • 在 GroupA 中添加安全组规则,授权 InstanceB 内网访问 InstanceA,如下表所示。
    网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
    内网 入方向 允许 选择适用的协议类型 设置端口范围 安全组访问(跨账号授权) GroupB的ID,并在 账号ID 里填写UserB的ID 1
  • 在 GroupB 中添加安全组规则,授权 InstanceA 内网访问 InstanceB,如下表所示。
    网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
    内网 入方向 允许 选择适用的协议类型 设置端口范围 安全组访问(跨账号授权) GroupA的ID,并在 账号ID 里填写UserA的ID 1
    说明 出于安全性考虑,经典网络的内网入方向规则,授权类型优先选择 安全组访问;如果选择 地址段访问,则仅支持单 IP 授权,授权对象的格式只能是 a.b.c.d/32,其中 IP 地址应根据您的实际需求设置,子网掩码必须是 /32。

案例 3:只允许特定IP地址远程登录到实例

如果您只想让某些特定 IP 地址远程登录到实例,可以参考以下示例的步骤在实例所在安全组里添加规则:
  • Linux 实例
    网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
    VPC 不需要配置 入方向 允许 SSH(22) 22/22 地址段访问 允许远程连接的IP地址,如1.2.3.4。 1
    经典网络 公网
  • Windows 实例
    网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
    VPC 不需要配置 入方向 允许 RDP(3389) 3389/3389 地址段访问 允许远程连接的IP地址,如1.2.3.4。 1
    经典网络 公网

案例 4:只允许实例访问外部特定 IP 地址

如果您只想让实例访问特定的 IP 地址,参考以下示例的步骤在实例所在安全组中添加安全组规则:
  • 禁止实例以任何协议访问所有公网 IP 地址,优先级应低于允许访问的规则(如本例中设置优先级为 2)。安全组规则如下表所示。
    网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
    VPC 不需要配置 出方向 拒绝 全部 -1/-1 地址段访问 0.0.0.0/0 2
    经典网络 公网
  • 允许实例访问特定公网 IP 地址,优先级应高于拒绝访问的安全组规则的优先级(如本例中设置为 1)。
    网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
    VPC 不需要配置 出方向 允许 选择适用的协议类型 设置端口范围 地址段访问 允许实例访问的特定公网IP地址,如1.2.3.4。 1
    经典网络 公网

添加了安全组规则后,在连接实例,执行 pingtelnet 等测试。如果实例只能访问允许访问的 IP 地址,说明安全组规则已经生效。

案例 5:拒绝实例访问外部特定IP地址

如果您不希望您的 ECS 实例访问某个特定的外部 IP 地址,您可以参考以下示例在实例所在安全组中添加安全组规则:
网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
VPC 不需要配置 出方向 拒绝 全部 -1/-1 地址段访问 拒绝实例访问的特定公网IP地址,如1.2.3.4。 1
经典网络 公网

案例 6:允许公网远程连接实例

如果要允许公网远程连接实例,添加如下安全组规则:
网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
VPC 不需要配置 入方向 允许 Windows:RDP(3389) 3389/3389 地址段访问 如果允许任意公网IP地址连接实例,填写0.0.0.0/0。如果只允许特定IP地址远程连接实例,参见案例 2:只允许特定IP地址远程登录到实例 1
Linux:SSH(22) 22/22
自定义TCP 自定义,如8080/8080
经典网络 公网 入方向 允许 Windows:RDP(3389) 3389/3389 地址段访问 如果允许任意公网IP地址连接实例,填写0.0.0.0/0。如果只允许特定公网IP地址连接实例,参见案例 2:只允许特定IP地址远程登录到实例 1
Linux:SSH(22) 22/22
自定义TCP 自定义,如8080/8080

自定义远程连接端口的详细操作,请参见服务器默认远程端口修改

案例 7:允许内网其他账号下某个安全组内的 ECS 实例远程连接实例

如果您的账号与同地域其他账号内网互通,而且您想允许内网其他账号下某个安全组内的 ECS 实例远程连接实例,按以下示例添加安全组规则。
  • 允许内网其他账号某个实例内网 IP 地址连接您的实例,您需要添加如下安全组规则。其中,VPC 网络类型实例先保证 2 个账号的实例通过高速通道内网互通,再添加安全组规则。
    网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
    VPC 不需要配置 入方向 允许 Windows:RDP(3389) 3389/3389 地址段访问 对方实例的私有IP地址 1
    Linux:SSH(22) 22/22
    自定义TCP 自定义,如8080/8080
    经典网络 内网 入方向 允许 Windows:RDP(3389) 3389/3389 地址段访问 对方实例的内网IP地址,出于安全性考虑,仅支持单IP授权,例如:a.b.c.d/32。 1
    Linux:SSH(22) 22/22
    自定义TCP 自定义,如8080/8080
  • 允许内网其他账号某个安全组里的所有 ECS 实例连接您的实例,您需要添加如下安全组规则。其中,VPC 类型的实例,先保证 2 个账号的实例通过高速通道内网互通,再添加如下表所示的安全组规则。
    网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
    VPC 不需要配置 入方向 允许 Windows:RDP(3389) 3389/3389 安全组访问(跨账号授权) 对方ECS实例所属的安全组ID,并填写对方账号ID 1
    Linux:SSH(22) 22/22
    自定义TCP 自定义,如8080/8080
    经典网络 内网 入方向 允许 Windows:RDP(3389) 3389/3389 安全组访问(跨账号授权) 对方ECS实例所属的安全组ID,并填写对方账号ID 1
    Linux:SSH(22) 22/22
    自定义TCP 自定义,如8080/8080

案例 8:允许公网通过 HTTP、HTTPS 等服务访问实例

如果您在实例上架设了一个网站,希望您的用户能通过 HTTP 或 HTTPS 服务访问到您的网站,您需要在实例所在安全组中添加以下安全组规则。
  • 允许公网上所有IP地址访问您的网站。
    网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
    VPC 不需要配置 入方向 允许 HTTP(80) 80/80 地址段访问 0.0.0.0/0 1
    HTTPS(443) 443/443
    自定义TCP 自定义,如8080/8080
    经典网络 公网 入方向 允许 HTTP(80) 80/80 地址段访问 0.0.0.0/0 1
    HTTPS(443) 443/443
    自定义TCP 自定义,如8080/8080
  • 允许公网上部分 IP 地址访问您的网站。
    网络类型 网卡类型 规则方向 授权策略 协议类型 端口范围 授权类型 授权对象 优先级
    VPC 不需要配置 入方向 允许 HTTP(80) 80/80 地址段访问 允许访问您网站的主机的公网IP地址,可以为一个或多个公网IP地址。 1
    HTTPS(443) 443/443
    自定义TCP 自定义,如8080/8080
    经典网络 公网 入方向 允许 HTTP(80) 80/80 地址段访问 允许访问您网站的主机的公网IP地址,可以为一个或多个公网IP地址。 1
    HTTPS(443) 443/443
    自定义TCP 自定义,如8080/8080
说明
  • 如果您无法通过http://公网 IP 地址访问您的实例,请参见检查 TCP 80 端口是否正常工作
  • 80 端口是 HTTP 服务默认端口。如果要使用其他端口,如 8080 端口,您必须修改 Web 服务器配置文件中监听端口设置。