我希望允许特定 IP 地址访问我的 Amazon Elastic Compute Cloud(Amazon EC2)实例,并阻止其他 IP 地址访问。应如何操作?
简短描述
要允许或阻止特定 IP 地址访问您的 EC2 实例,请在虚拟私有云(VPC)中使用网络访问控制列表(ACL)或安全组规则。网络 ACL 和安全组规则的作用相当于防火墙,可允许或阻止 IP 地址访问您的资源。网络 ACL 可以控制子网级别的入站和出站流量。由于网络 ACL 在子网级别起作用,因此规则适用于关联子网中的所有实例。安全组规则可作为关联的 Amazon EC2 实例的防火墙,在实例级别控制入站和出站流量。
请记住,网络 ACL 是无状态的,这意味着必须在规则中明确允许返回流量通过。安全组规则会自动允许返回流量通过,而不考虑任何规则。
解决方法
使用网络 ACL 来允许或阻止特定的 IP 地址
**注意:**以下说明简要概述了如何使用网络 ACL。有关更详细的说明,请参阅使用网络 ACL。
创建网络 ACL
-
打开 Amazon VPC 控制台。
-
选择网络 ACL。
-
选择创建网络 ACL。
-
在创建网络 ACL 对话框中,您可以选择为网络 ACL 命名,然后从 VPC 列表中选择 VPC 的 ID。
-
选择是,创建。
向网络 ACL 添加规则
-
打开 Amazon VPC 控制台。
-
选择网络 ACL。
-
在详细信息窗格中,根据需要添加的规则类型,选择入站规则或出站规则选项卡。然后选择编辑。
-
在规则编号中,输入规则编号(例如 100)。该规则编号必须从未在网络 ACL 中使用过。规则将按顺序从最小的编号开始处理。
**注意:**最佳做法是在规则编号之间留出间隔(例如 100、200、300),而不是使用连续数字(例如 101、102、103)。这样可以更轻松地添加新规则,而不必对现有规则进行重新编号。
-
从类型列表中选择规则。例如,要添加适用于 HTTP 的规则,请选择 HTTP。要添加允许所有 TCP 流量通过的规则,请选择所有 TCP。其中一些选项(例如 HTTP)添加了端口。要使用未列出的协议,请选择自定义协议规则。
-
(可选)如果您要创建自定义协议规则,请从协议列表中选择协议的编号和名称。有关更多信息,请参阅 IANA 协议号列表。
-
(可选)如果您选择的协议需要端口号,请输入端口号或用连字符分隔的端口范围(例如,49152-65535)。
-
在源或目标字段(取决于要创建的是入站规则还是出站规则)中,输入该规则适用的 CIDR 范围。
-
从允许/拒绝列表中,选择允许以允许指定的流量通过,或者选择拒绝以拒绝指定的流量通过。
-
(可选)要添加其他规则,请选择添加另一条规则,然后根据需要重复步骤 4 到 9。
-
完成后,选择保存。
将子网与网络 ACL 关联
-
打开 Amazon VPC 控制台。
-
选择网络 ACL,然后选择网络 ACL。
-
在详细信息窗格的子网关联选项卡上,选择编辑。选中要与网络 ACL 关联的子网对应的关联复选框,然后选择保存。
使用安全组来允许或阻止特定 IP 地址
**注意:**以下说明简要概述了如何使用安全组。有关如何修改默认安全组、创建新组、添加规则,以及将您的安全组与子网中的一个或多个实例关联的详细信息,请参阅使用安全组。
-
打开 Amazon VPC 控制台。
-
选择安全组。
-
选择创建安全组。
-
输入安全组的名称和描述。创建安全组后,它的名称和描述无法更改。
-
从 VPC 中选择所需 VPC。
-
您可以立即或稍后添加安全组规则。有关详细信息,请参阅向安全组添加规则。
-
您可以立即添加标签,也可以稍后添加。要添加标签,请选择添加新标签,然后输入标签的键和值。
-
选择创建安全组。
创建安全组后,您可以在启动实例或更改当前分配给实例的安全组时将安全组分配给 EC2 实例。有关详细信息,请参阅使用定义的参数启动实例或更改实例的安全组。
相关信息
Amazon VPC 中的互联网络流量隐私
使用网络 ACL 控制指向子网的流量
使用安全组控制到资源的流量