使用安全组
在启动实例时,您可以向实例分配安全组。在添加或删除规则时,所做的更改将自动应用于已分配安全组的所有实例。有关更多信息,请参阅向实例分配安全组。
启动实例后,您可以更改其安全组。有关更多信息,请参阅更改实例的安全组。
您可以使用 Amazon EC2 控制台和命令行工具创建、查看、更新和删除安全组及安全组规则。
创建安全组
尽管您可以为实例指定默认安全组,您可能仍希望创建自己的安全组,以反映实例在您的系统中扮演的不同角色。
在默认情况下,新安全组起初只有一条出站规则,即允许所有通信离开实例。您必须添加规则,以便允许任何入站数据流或限制出站数据流。
安全组只能在为其创建该组的 VPC 中使用。
- New console
-
创建安全组
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups(安全组)。
-
选择Create security group(创建安全组)。
-
在 Basic details (基本详细信息) 部分中,执行以下操作。
-
输入安全组的描述性名称和简要说明。创建安全组后,无法对其进行编辑。名称和描述的长度最多为 255 个字符。允许的字符包括 a-z、A-Z、0-9、空格和 ._-:/()#,@[]+=&;{}!$*。
-
对于 VPC,请选择 VPC。
-
-
您可以现在添加安全组规则,也可以稍后再添加。有关更多信息,请参阅向安全组添加规则。
-
您可以现在添加标签,也可以稍后再添加。要添加标签,请选择 Add new tag(添加新标签),然后输入标签键和值。
-
选择Create security group(创建安全组)。
- Old console
-
创建安全组
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups(安全组)。
-
选择 Create Security Group。
-
为安全组指定名称和描述。
-
对于 VPC,选择 VPC 的 ID。
-
您可以开始添加规则,也可以选择 Create (创建) 以立即创建安全组(您可以在以后随时添加规则)。有关添加规则的更多信息,请参阅向安全组添加规则。
-
- Command line
-
创建安全组
使用以下命令之一:
-
create-security-group (Amazon CLI)
-
New-EC2SecurityGroup (Amazon Tools for Windows PowerShell)
-
复制安全组
您可以通过创建现有安全组的副本来创建新安全组。复制安全组时,将使用与原始安全组相同的入站和出站规则创建副本。如果原始安全组位于 VPC 中,则除非您指定不同的安全组,否则将在相同 VPC 中创建副本。
副本会收到一个新的唯一安全组 ID,您必须为其指定名称。您还可以添加描述。
您无法将安全组从一个区域复制到另一区域。
您可以使用以下方法之一创建安全组的副本。
- New console
-
复制安全组
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups (安全组)。
-
选择要复制的安全组,然后选择 Actions (操作)、Copy to new security group (复制到新安全组)。
-
指定名称和可选描述,并根据需要更改 VPC 和安全组规则。
-
选择 Create (创建)。
-
- Old console
-
复制安全组
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups (安全组)。
-
选择您要复制的安全组,然后依次选择操作、复制到新项目。
-
Create Security Group (创建安全组) 对话框随即打开,其中预填充了现有安全组中的规则。为新的安全组指定名称和说明。对于 VPC,选择 VPC 的 ID。完成后,选择 Create 。
-
查看安全组
您可以使用以下方法之一查看有关安全组的信息。
- New console
-
查看安全组
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups(安全组)。
-
此时将列出您的安全组。要查看特定安全组的详细信息,包括其入站和出站规则,请在安全组 ID 列中选择其 ID。
- Old console
-
查看安全组
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups (安全组)。
-
(可选)从筛选条件列表中选择 VPC ID,然后选择 VPC 的 ID。
-
选择一个安全组。常规信息将在 Description(描述)选项卡上显示,入站规则将在 Inbound(入站)选项卡上显示,出站规则将在 Outbound(出站)选项卡上显示,标签将在 Tags(标签)选项卡上显示。
-
- Command line
-
查看安全组
使用以下命令之一。
-
describe-security-groups (Amazon CLI)
-
描述安全组规则 (Amazon CLI)
-
Get-EC2SecurityGroup (Amazon Tools for Windows PowerShell)
-
- Amazon EC2 Global View
-
您可以使用 Amazon EC2 全局视图查看启用 Amazon 账户的所有区域中的安全组。有关更多信息,请参阅使用 Amazon EC2 全局视图列出和筛选跨区域的资源。
向安全组添加规则
当您向安全组添加规则时,这一新规则会自动应用于与该安全组关联的任何实例。应用规则可能会有短暂的延迟。有关更多信息,请参阅针对不同使用案例的安全组规则和安全组规则。
- New console
-
在安全组中添加入站规则
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups (安全组)。
-
选择安全组,选择 Actions (操作),然后选择 Edit inbound rules (编辑入站规则)。
-
对于每一条规则,选择 Add rule(添加规则),然后执行以下操作:
-
对于Type(类型),选择要允许的协议类型。
-
对于自定义 TCP 或 UDP,您必须输入允许的端口范围。
-
对于自定义 ICMP,您必须从 Protocol (协议) 中选择 ICMP 类型,并从 Port range (端口范围) 中选择代码(如果适用)。例如,要允许ping命令中,从协议选择Echo 请求。
-
对于任何其他类型,则会为您配置协议和端口范围。
-
-
对于 Source (源),请执行以下操作之一以允许流量通信。
-
选择 Custom(自定义),然后以 CIDR 表示法输入 IP 地址、CIDR 块、其他安全组或前缀列表。
-
选择 Anywhere (任何位置) 以允许指定协议的所有流量到达您的实例。此选项将自动添加 0.0.0.0/0 IPv4 CIDR 块作为源。如果您的安全组位于启用 IPv6 的 VPC 中,则此选项会自动为 ::/0 IPv6 CIDR 块添加规则。
警告 如果您选择 Anywhere(任意位置),则允许所有 IPv4 和 IPv6 地址使用指定协议访问您的实例。如果您要为端口 22(SSH)或 3389(RDP)添加规则,则应该仅授权特定 IP 地址或特定范围内的 IP 地址访问您的实例。
-
选择我的 IP 以仅允许来自本地计算机的公有 IPv4 地址的入站流量。
-
-
对于 Description (描述),您可以选择指定规则的简单描述。
-
-
选择 Preview changes (预览更改),然后选择 Save rules (保存规则)。
在安全组中添加出站规则
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups (安全组)。
-
选择安全组,然后选择 Actions (操作)、Edit outboud rules (编辑出站规则)。
-
对于每一条规则,选择 Add rule(添加规则),然后执行以下操作:
-
对于Type(类型),选择要允许的协议类型。
-
对于自定义 TCP 或 UDP,您必须输入允许的端口范围。
-
对于自定义 ICMP,您必须从 Protocol (协议) 中选择 ICMP 类型,并从 Port range (端口范围) 中选择代码(如果适用)。
-
对于任何其他类型,则会自动配置协议和端口范围。
-
-
对于目标,执行以下操作之一。
-
选择自定义,然后以 CIDR 表示法输入 IP 地址、CIDR 块、其他安全组或允许出站流量的前缀列表。
-
选择任意位置以允许传送到所有 IP 地址的出站流量。此选项将自动添加 0.0.0.0/0 IPv4 CIDR 块作为目标。
如果您的安全组位于启用 IPv6 的 VPC 中,则此选项会自动为 ::/0 IPv6 CIDR 块添加规则。
-
选择我的 IP 以仅允许流向本地计算机的公有 IPv4 地址的出站流量。
-
-
(可选)对于 Description (描述),请指定规则的简单描述。
-
-
选择 Preview changes (预览更改)、Confirm (确认)。
- Old console
-
向安全组添加规则
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择安全组,然后选择相应安全组。
-
在 Inbound (入站) 选项卡上,选择 Edit (编辑)。
-
在对话框中选择添加规则并执行以下操作:
-
对于 Type (类型),请选择相应协议。
-
如果您选择自定义 TCP 或 UDP 协议,请在 Port Range (端口范围) 中指定端口范围。
-
如果您选择自定义 ICMP 协议,请从 Protocol (协议) 中选择 ICMP 类型名称,并从 Port Range (端口范围) 中选择代码名称(如果适用)。例如,要允许ping命令中,从协议选择Echo 请求。
-
对于源,请选择下列选项之一:
-
Custom (自定义):在提供的字段中,您必须用 CIDR 表示法指定一个 IP 地址、CIDR 块或者其他安全组。
-
选择 Anywhere (任何位置) 以允许指定协议的所有流量到达您的实例。此选项将自动添加 0.0.0.0/0 IPv4 CIDR 块作为源。如果您的安全组位于启用 IPv6 的 VPC 中,则此选项会自动为 ::/0 IPv6 CIDR 块添加规则。
警告 如果您选择 Anywhere(任意位置),则允许所有 IPv4 和 IPv6 地址使用指定协议访问您的实例。如果您要为端口 22(SSH)或 3389(RDP)添加规则,则应该仅授权特定 IP 地址或特定范围内的 IP 地址访问您的实例。
-
我的 IP:自动添加本地计算机的公有 IPv4 地址。
-
-
对于 Description (描述),您可以选择指定规则的描述。
有关您可以添加的规则类型的更多信息,请参阅 针对不同使用案例的安全组规则。
-
-
选择 Save。
-
您也可以指定出站规则。在出站选项卡中,依次选择编辑、添加规则,并执行以下操作:
-
对于 Type (类型),请选择相应协议。
-
如果您选择自定义 TCP 或 UDP 协议,请在 Port Range (端口范围) 中指定端口范围。
-
如果您选择自定义 ICMP 协议,请从 Protocol (协议) 中选择 ICMP 类型名称,并从 Port Range (端口范围) 中选择代码名称(如果适用)。
-
对于目标,请选择下列选项之一:
-
Custom (自定义):在提供的字段中,您必须用 CIDR 表示法指定一个 IP 地址、CIDR 块或者其他安全组。
-
Anywhere(任何位置):自动添加 0.0.0.0/0 IPv4 CIDR 块。该选项允许出站流量流向所有 IP 地址。
如果您的安全组位于已启用 IPv6 的 VPC 中,选择 Anywhere (任何位置) 选项后,系统会创建两个规则:一个用于 IPv4 流量 (0.0.0.0/0)),另一个用于 IPv6 流量 (::/0)。
-
我的 IP:自动添加本地计算机的 IP 地址。
-
-
对于 Description (描述),您可以选择指定规则的描述。
-
-
选择 Save。
-
- Command line
向安全组添加规则
使用以下命令之一。
-
authorize-security-group-ingress (Amazon CLI)
-
Grant-EC2SecurityGroupIngress (Amazon Tools for Windows PowerShell)
向安全组添加一个或多个传出规则
使用以下命令之一。
-
authorize-security-group-egress (Amazon CLI)
-
Grant-EC2SecurityGroupEgress (Amazon Tools for Windows PowerShell)
-
更新安全组规则
您可以使用以下方法之一更新安全组规则。更新的规则将自动应用于与安全组关联的任何实例。
- New console
-
使用控制台修改现有安全组规则的协议、端口范围或者源或目标时,控制台会删除现有规则并为您添加新规则。
更新安全组规则
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups (安全组)。
-
选择安全组。
-
选择 Actions(操作)、Edit inbound rules(编辑入站规则)以更新入站流量的规则,或选择 Actions(操作)、Edit outbound rules(编辑出站规则)以更新出站流量的规则。
-
根据需要更新规则。
-
选择 Preview changes (预览更改)、Confirm (确认)。
为安全组规则添加标签
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups (安全组)。
-
选择安全组。
-
在 Inbound rules(入站规则)或 Outbound rules(出站规则)选项卡上,选中规则的复选框,然后选择 Manage tags(管理标签)。
-
Manage tags(管理标签)页面显示分配给规则的所有标签。要添加标签,请选择 Add tag(添加标签),然后输入标签键和值。要删除标签,请选择要删除的标签旁边的 Remove(删除)。
-
选择 Save changes(保存更改)。
- Old console
-
使用控制台修改现有安全组规则的协议、端口范围或者源或目标时,控制台会删除现有规则并为您添加新规则。
更新安全组规则
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups (安全组)。
-
选择要更新的安全组,然后选择 Inbound (入站) 选项卡以更新入站流量的规则,或选择 Outbound (出站) 选项卡以更新出站流量的规则。
-
选择 Edit(编辑)。
-
根据需要修改规则条目,然后选择 Save。
- Command line
-
您无法使用 Amazon EC2 API 或命令行工具更新现有规则的协议、端口范围或者源或目标。相反,您必须删除该现有规则并添加新规则。不过,您可以更新现有规则的描述。
更新现有入站规则的描述
使用以下命令之一。
-
update-security-group-rule-descriptions-ingress (Amazon CLI)
-
Update-EC2SecurityGroupRuleIngressDescription (Amazon Tools for Windows PowerShell)
更新现有出站规则的描述
使用以下命令之一。
-
update-security-group-rule-descriptions-egress (Amazon CLI)
-
Update-EC2SecurityGroupRuleEgressDescription (Amazon Tools for Windows PowerShell)
-
从安全组中删除规则
当您从安全组中删除规则时,此更改会自动应用于与该安全组关联的任何实例。
您可以使用以下方法之一从安全组中删除规则。
- New console
-
删除安全组规则
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups (安全组)。
-
选择要更新的安全组,选择 Actionis (操作),然后选择 Edit inbound rules (编辑入站规则) 以删除入站规则,或选择 Edit outbound rules (编辑出站规则) 以删除出站规则。
-
选择要删除的规则右侧的 Delete(删除)按钮。
-
选择 Preview changes (预览更改)、Confirm (确认)。
- Old console
-
删除安全组规则
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups (安全组)。
-
选择一个安全组。
-
在入站选项卡中 (用于入站规则) 或出站选项卡中 (用于出站规则),请选择编辑。选择要删除的每个规则旁边的删除 (十字图标)。
-
选择 Save。
-
- Command line
-
从安全组中删除一个或多个传入规则
使用以下命令之一。
-
revoke-security-group-ingress (Amazon CLI)
-
Revoke-EC2SecurityGroupIngress (Amazon Tools for Windows PowerShell)
从安全组中删除一个或多个传出规则
使用以下命令之一。
-
revoke-security-group-egress(Amazon CLI)
-
Revoke-EC2SecurityGroupEgress (Amazon Tools for Windows PowerShell)
-
删除安全组
您不能删除与实例关联的安全组。您不能删除默认安全组。您不能删除由同一 VPC 中其他安全组中的规则引用的安全组。如果您的安全组由自己的一个规则引用,则必须先删除该规则,然后才能删除安全组。
- New console
-
删除安全组
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups (安全组)。
-
选择要删除的安全组,然后选择操作、删除安全组、删除。
- Old console
-
删除安全组
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Security Groups (安全组)。
-
选择一个安全组,然后依次选择操作、删除安全组。
-
选择 Yes, Delete。
-
- Command line
-
删除安全组
使用以下命令之一。
-
delete-security-group (Amazon CLI)
-
Remove-EC2SecurityGroup (Amazon Tools for Windows PowerShell)
-
向实例分配安全组
启动实例时,您可以将一个或多个安全组分配给实例。您还可以在启动模板中指定一个或多个安全组。安全组将分配给使用启动模板启动的所有实例。
-
要在启动实例时向实例分配安全组,请参阅步骤 6:配置安全组。
-
要在启动模板中指定安全组,请参阅使用您定义的参数创建新启动模板的步骤 6。
更改实例的安全组
启动实例后,您可以通过添加或删除安全组来更改其安全组。
要求
-
实例必须处于
running
或stopped
状态。 -
安全组特定于 VPC。您可以将一个安全组分配给在您为其创建安全组的 VPC 中启动的一个或多个实例。
- New console
-
使用控制台更改实例的安全组
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择实例。
-
选择您的实例,依次选择 Actions(操作)、Security(安全)和 Change security groups(更改安全组)。
-
对于 Associated security groups (关联的安全组),从列表中选择一个安全组,然后选择 Add security group (添加安全组)。
要删除已关联的安全组,请为该安全组选择 Remove (删除)。
-
选择 Save。
- Old console
-
使用控制台更改实例的安全组
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择实例。
-
选择您的实例,然后选择 Actions(操作)、Networking(联网)、Change Security Groups(更改安全组)。
-
要添加一个或多个安全组,请选中其复选框。
要删除已关联的安全组,请清除其复选框。
-
选择 Assign Security Groups。
- Command line
-
使用命令行更改实例的安全组
使用以下命令之一。
-
modify-instance-attribute (Amazon CLI)
-
Edit-EC2InstanceAttribute (Amazon Tools for Windows PowerShell)
-