使用安全组 - Amazon Elastic Compute Cloud

使用安全组

在启动实例时,您可以向实例分配安全组。在添加或删除规则时,所做的更改将自动应用于已分配安全组的所有实例。有关更多信息,请参阅向实例分配安全组

启动实例后,您可以更改其安全组。有关更多信息,请参阅更改实例的安全组

您可以使用 Amazon EC2 控制台和命令行工具创建、查看、更新和删除安全组及安全组规则。

创建安全组

尽管您可以为实例指定默认安全组,您可能仍希望创建自己的安全组,以反映实例在您的系统中扮演的不同角色。

在默认情况下,新安全组起初只有一条出站规则,即允许所有通信离开实例。您必须添加规则,以便允许任何入站数据流或限制出站数据流。

安全组只能在为其创建该组的 VPC 中使用。

New console

创建安全组

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. 选择创建安全组

  4. Basic details (基本详细信息) 部分中,执行以下操作。

    1. 输入安全组的描述性名称和简要说明。创建安全组后,无法对其进行编辑。名称和描述的长度最多为 255 个字符。有效字符为 a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

    2. 对于 VPC,请选择 VPC。

  5. 您可以现在添加安全组规则,也可以稍后再添加。有关更多信息,请参阅向安全组添加规则

  6. 您可以现在添加标签,也可以稍后再添加。要添加标签,请选择 Add new tag (添加新标签),然后输入标签键和值。

  7. 选择创建安全组

Old console

创建安全组

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. 选择 Create Security Group

  4. 为安全组指定名称和描述。

  5. 对于 VPC,选择 VPC 的 ID。

  6. 您可以开始添加规则,也可以选择 Create (创建) 以立即创建安全组(您可以在以后随时添加规则)。有关添加规则的更多信息,请参阅向安全组添加规则

Command line

创建安全组

使用以下命令之一:

复制安全组

您可以通过创建现有安全组的副本来创建新安全组。复制安全组时,将使用与原始安全组相同的入站和出站规则创建副本。如果原始安全组位于 VPC 中,则除非您指定不同的安全组,否则将在相同 VPC 中创建副本。

副本会收到一个新的唯一安全组 ID,您必须为其指定名称。您还可以添加描述。

您无法将安全组从一个区域复制到另一区域。

您可以使用以下方法之一创建安全组的副本。

New console

复制安全组

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. 选择要复制的安全组,然后选择 Actions (操作)Copy to new security group (复制到新安全组)

  4. 指定名称和可选描述,并根据需要更改 VPC 和安全组规则。

  5. 选择 Create (创建)

Old console

复制安全组

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. 选择您要复制的安全组,然后依次选择操作复制到新项目

  4. Create Security Group (创建安全组) 对话框随即打开,其中预填充了现有安全组中的规则。为新的安全组指定名称和说明。对于 VPC,选择 VPC 的 ID。完成后,选择 Create

查看安全组

您可以使用以下方法之一查看有关安全组的信息。

New console

查看安全组

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. 此时将列出您的安全组。要查看特定安全组的详细信息,包括其入站和出站规则,请在安全组 ID 列中选择其 ID。

Old console

查看安全组

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. (可选)从筛选条件列表中选择 VPC ID,然后选择 VPC 的 ID。

  4. 选择一个安全组。将在 Description (描述) 选项卡上显示常规信息,在 Inbound (入站) 选项卡上显示入站规则,在 Outbound (出站) 选项卡上显示出站规则,并在 Tags (标签) 选项卡上显示标签。

Command line

查看安全组

使用以下命令之一。

向安全组添加规则

当您向安全组添加规则时,这一新规则会自动应用于与该安全组关联的任何实例。应用规则可能会有短暂的延迟。有关更多信息,请参阅针对不同使用案例的安全组规则安全组规则

New console

在安全组中添加入站规则

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. 选择安全组,选择 Actions (操作),然后选择 Edit inbound rules (编辑入站规则)

  4. 对于每一条规则,选择 Add rule (添加规则),然后执行以下操作:

    1. 对于Type (类型),选择要允许的协议类型。

      • 对于 TCP 或 UDP,您必须输入允许的端口范围。

      • 对于自定义 ICMP,您必须从 Protocol (协议) 中选择 ICMP 类型名称,并从 Port range (端口范围) 中选择代码名称(如果适用)。

      • 对于任何其他类型,则会自动配置协议和端口范围。

    2. 对于 Source (源),请执行以下操作之一以允许流量通信。

      • 选择 Custom (自定义),然后以 CIDR 表示法输入 IP 地址、CIDR 块、其他安全组或前缀列表。

      • 选择 Anywhere (任何位置) 以允许指定协议的所有流量到达您的实例。此选项将自动添加 0.0.0.0/0 IPv4 CIDR 块作为源。这在测试环境中可以接受一小段时间,但是在生产环境中并不安全。在生产环境中,请仅授权特定 IP 地址或地址范围访问您的实例。

        如果您的安全组位于启用 IPv6 的 VPC 中,则此选项会自动为 ::/0 IPv6 CIDR 块添加规则。

      • 选择我的 IP 以仅允许来自本地计算机的公有 IPv4 地址的入站流量。

    3. 对于 Description (描述),您可以选择指定规则的简单描述。

  5. 选择 Preview changes (预览更改),然后选择 Save rules (保存规则)

在安全组中添加出站规则

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. 选择安全组,然后选择 Actions (操作)Edit outboud rules (编辑出站规则)

  4. 对于每一条规则,选择 Add rule (添加规则),然后执行以下操作:

    1. 对于Type (类型),选择要允许的协议类型。

      • 对于 TCP 或 UDP,您必须输入允许的端口范围。

      • 对于自定义 ICMP,您必须从 Protocol (协议) 中选择 ICMP 类型名称,并从 Port range (端口范围) 中选择代码名称(如果适用)。

      • 对于任何其他类型,则会自动配置协议和端口范围。

    2. 对于目标,执行以下操作之一。

      • 选择自定义,然后以 CIDR 表示法输入 IP 地址、CIDR 块、其他安全组或允许出站流量的前缀列表。

      • 选择任意位置以允许传送到所有 IP 地址的出站流量。此选项将自动添加 0.0.0.0/0 IPv4 CIDR 块作为目标。

        如果您的安全组位于启用 IPv6 的 VPC 中,则此选项会自动为 ::/0 IPv6 CIDR 块添加规则。

      • 选择我的 IP 以仅允许流向本地计算机的公有 IPv4 地址的出站流量。

    3. (可选)对于 Description (描述),指定规则的简单描述。

  5. 选择 Preview changes (预览更改)Confirm (确认)

Old console

向安全组添加规则

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择安全组,然后选择相应安全组。

  3. Inbound (入站) 选项卡上,选择 Edit (编辑)

  4. 在对话框中选择添加规则并执行以下操作:

    • 对于 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:自动添加本地计算机的公有 IPv4 地址。

    • 对于 Description (描述),您可以选择指定规则的描述。

    有关您可以添加的规则类型的更多信息,请参阅 针对不同使用案例的安全组规则

  5. 选择 Save

  6. 您也可以指定出站规则。在出站选项卡中,依次选择编辑添加规则,并执行以下操作:

    • 对于 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 (描述),您可以选择指定规则的描述。

  7. 选择 Save

Command line

向安全组添加规则

使用以下命令之一。

向安全组添加一个或多个传出规则

使用以下命令之一。

更新安全组规则

您可以使用以下方法之一更新安全组规则。更新的规则将自动应用于与安全组关联的任何实例。

New console

使用控制台修改现有安全组规则的协议、端口范围或者源或目标时,控制台会删除现有规则并为您添加新规则。

更新安全组规则

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. 选择安全组。

  4. 选择 Actions (操作)Edit inbound rules (编辑入站规则) 以更新入站流量的规则,或选择 Actions (操作)Edit outbound rules (编辑出站规则) 以更新出站流量的规则。

  5. 根据需要更新规则。

  6. 选择 Preview changes (预览更改)Confirm (确认)

为安全组规则添加标签

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. 选择安全组。

  4. Inbound rules (入站规则)Outbound rules (出站规则) 选项卡上,选中规则的复选框,然后选择 Manage tags (管理标签)

  5. Manage tags (管理标签) 页面显示分配给规则的所有标签。要添加标签,请选择 Add tag (添加标签),然后输入标签键和值。要删除标签,请选择要删除的标签旁边的 Remove (删除)

  6. 选择保存更改

Old console

使用控制台修改现有安全组规则的协议、端口范围或者源或目标时,控制台会删除现有规则并为您添加新规则。

更新安全组规则

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. 选择要更新的安全组,然后选择 Inbound (入站) 选项卡以更新入站流量的规则,或选择 Outbound (出站) 选项卡以更新出站流量的规则。

  4. 选择 Edit

  5. 根据需要修改规则条目,然后选择 Save

Command line

您无法使用 Amazon EC2 API 或命令行工具更新现有规则的协议、端口范围或者源或目标。相反,您必须删除该现有规则并添加新规则。不过,您可以更新现有规则的描述。

更新规则

使用以下命令之一。

更新现有入站规则的描述

使用以下命令之一。

更新现有出站规则的描述

使用以下命令之一。

为安全组规则添加标签

使用以下命令之一。

从安全组中删除规则

当您从安全组中删除规则时,此更改会自动应用于与该安全组关联的任何实例。

您可以使用以下方法之一从安全组中删除规则。

New console

删除安全组规则

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. 选择要更新的安全组,选择 Actionis (操作),然后选择 Edit inbound rules (编辑入站规则) 以删除入站规则,或选择 Edit outbound rules (编辑出站规则) 以删除出站规则。

  4. 选择要删除的规则右侧的 Delete(删除)按钮。

  5. 选择 Preview changes (预览更改)Confirm (确认)

Old console

删除安全组规则

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. 选择一个安全组。

  4. 入站选项卡中 (用于入站规则) 或出站选项卡中 (用于出站规则),请选择编辑。选择要删除的每个规则旁边的删除 (十字图标)。

  5. 选择 Save

Command line

从安全组中删除一个或多个传入规则

使用以下命令之一。

从安全组中删除一个或多个传出规则

使用以下命令之一。

删除安全组

您不能删除与实例关联的安全组。您不能删除默认安全组。您不能删除由同一 VPC 中其他安全组中的规则引用的安全组。如果您的安全组由自己的一个规则引用,则必须先删除该规则,然后才能删除安全组。

New console

删除安全组

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. 选择要删除的安全组,然后选择操作删除安全组删除

Old console

删除安全组

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Security Groups (安全组)

  3. 选择一个安全组,然后依次选择操作删除安全组

  4. 选择 Yes, Delete

Command line

删除安全组

使用以下命令之一。

向实例分配安全组

启动实例时,您可以将一个或多个安全组分配给实例。您还可以在启动模板中指定一个或多个安全组。安全组将分配给使用启动模板启动的所有实例。

更改实例的安全组

启动实例后,您可以通过添加或删除安全组来更改其安全组。当实例处于 runningstopped 状态时,您可以更改安全组。

New console

使用控制台更改实例的安全组

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Instances (实例)

  3. 选择您的实例,依次选择 Actions(操作)、Security(安全)和 Change security groups(更改安全组)。

  4. 对于 Associated security groups (关联的安全组),从列表中选择一个安全组,然后选择 Add security group (添加安全组)

    要删除已关联的安全组,请为该安全组选择 Remove (删除)

  5. 选择 Save

Old console

使用控制台更改实例的安全组

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Instances (实例)

  3. 选择您的实例,然后选择 Actions(操作)、Networking(联网)、Change Security Groups(更改安全组)。

  4. 要添加一个或多个安全组,请选中其复选框。

    要删除已关联的安全组,请清除其复选框。

  5. 选择 Assign Security Groups

Command line

使用命令行更改实例的安全组

使用以下命令之一。