示例:控制对子网中的实例的访问
在本示例中,子网中的任意两个实例可相互通信,并可从受信任的远程计算机访问它们。远程计算机可能是本地网络中的计算机,也可能是其他子网或 VPC 中的实例。您可以使用它连接到实例以执行管理任务。安全组规则和网络 ACL 规则允许从远程计算机 (172.31.1.2/32) 的 IP 地址进行访问。来自 Internet 或其他网络的所有其他流量会被拒绝。该方案让您能够灵活地更改实例的安全组或安全组规则,并使用网络 ACL 作为备份防御层。
下表显示实例的示例安全组的入站规则。
协议类型 | 协议 | 端口范围 | 源 | 注释 |
---|---|---|---|---|
所有流量 | All | All | sg-1234567890abcdef0 | 与此安全组关联的所有实例都可以相互通信。 |
SSH | TCP | 22 | 172.31.1.2/32 | 允许远程计算机进行入站 SSH 访问。 |
下表显示实例的示例安全组的出站规则。安全组是有状态的。因此,您不需要允许对入站流量做出响应的规则。
协议类型 | 协议 | 端口范围 | 目的地 | 注释 |
---|---|---|---|---|
所有流量 | All | All | sg-1234567890abcdef0 | 与此安全组关联的所有实例都可以相互通信。 |
下表显示与实例的子网关联的示例网络 ACL 的入站规则。网络 ACL 规则应用到子网中的所有实例。
规则 # | 类型 | 协议 | 端口范围 | 源 | 允许/拒绝 | 注释 |
---|---|---|---|---|---|---|
100 | SSH | TCP | 22 | 172.31.1.2/32 | 允许 | 允许远程计算机的入站流量。 |
* | 所有流量 | All | 全部 | 0.0.0.0/0 | 拒绝 | 拒绝所有其他入站流量。 |
下表显示与实例的子网关联的示例网络 ACL 的出站规则。网络 ACL 没有任何状态。因此,您需要允许对入站流量做出响应的规则。
规则 # | 类型 | 协议 | 端口范围 | 目的地 | 允许/拒绝 | 注释 |
---|---|---|---|---|---|---|
100 | 自定义 TCP | TCP | 1024-65535 | 172.31.1.2/32 | 允许 | 允许到远程计算机的出站响应。 |
* | 所有流量 | All | 全部 | 0.0.0.0/0 | 拒绝 | 拒绝所有其他出站流量。 |
如果您不小心设置了过于宽松的安全组规则,此示例中的网络 ACL 规则仍继续生效,只允许来自指定 IP 地址的访问。例如,下面的安全组包含允许从任何 IP 地址进行入站 SSH 访问的规则。但是,如果您将此安全组与使用网络 ACL 的子网中的实例关联起来,则只有子网内的其他实例以及远程计算机才能访问该实例,因为网络 ACL 规则会拒绝对子网的其他入站流量。
下表显示只允许从指定 IP 地址进行访问的示例网络 ACL 的入站规则。
类型 | 协议 | 端口范围 | 源 | 注释 |
---|---|---|---|---|
所有流量 | All | All | sg-1234567890abcdef0 | 与此安全组关联的所有实例都可以相互通信。 |
SSH | TCP | 22 | 0.0.0.0/0 | 允许来自任意 IP 地址的 SSH 访问。 |
下表显示只允许从指定 IP 地址进行访问的示例网络 ACL 的出站规则。
类型 | 协议 | 端口范围 | 目的地 | 注释 |
---|---|---|---|---|
所有流量 | All | 全部 | 0.0.0.0/0 | 允许所有出站流量。 |