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