如何将安全组添加到正在运行的 EC2 实例?

Geo*_*Geo 94 security linux cloud-computing amazon-ec2

我有一个 Amazon EC2 实例正在运行,我想向该实例添加另一个安全组,然后从该实例中删除当前的安全组。这可能吗?

han*_*xue 100

更新:自 2014 年 1 月起,您现在可以更改运行 AWS EC2 实例的安全组。

AWS 控制台

只需右键单击一个实例,然后单击 Change Security Group

更改安全组

根据需要添加/删除安全组,Assign Security Groups完成后单击

选择安全组


EC2 命令行

使用以下命令:

ec2-modify-instance-attribute <instance-id> --group-id <group-id>
Run Code Online (Sandbox Code Playgroud)

AWS 命令​​行

使用以下命令:

aws ec2 modify-instance-attribute --instance-id i-12345 --groups sg-12345 sg-67890
Run Code Online (Sandbox Code Playgroud)

请注意,您必须指定要与实例关联的所有安全组。

  • “更改安全组”选项存在于菜单中但被禁用。我正在使用区域 ap-southeast-2。 (5认同)
  • 这目前仅适用于 VPC 实例。非 VPC 实例所属的安全组是固定/不可变的,并在首次启动时设置。更改它们的唯一方法是从现有实例创建一个捆绑包,然后使用捆绑的 ami 重新启动一个新实例。 (4认同)
  • 如果我新创建的安全组未列在“更改安全组”模式中怎么办? (2认同)

tow*_*owo 57

2015-02-27更新

现在这是可能的,请参阅下面的答案

旧回复:

亚马逊的常见问题解答说,除了在发布时,不可能在任何地方定义安全组。

  • 这个答案已经过时了。现在您可以修改 EC2 VPC 安全组。请参阅下面的@hanxue 答案。 (2认同)

小智 8

现在可以做到这一点。单击操作菜单和更改安全组 - 选择您要使用的安全组。

  • 我相信只有在 VPC 中。 (3认同)

小智 5

  1. 从要移动到不同安全组的实例创建 AMI 映像。
  2. 使用该映像启动一个新实例,现在我们可以将这个新实例分配给不同的安全组。
  3. 丢弃前一个实例。

这需要您的实例停机。使用 API 可能还有一些其他选项可用。


小智 5

正如两个所说,除了启动时间之外,您无法在任何地方更改实例的安全组。

除非您使用的 VPC 的安全组不同于 EC2 安全组。

本页面概述了 EC2 和 VPC 安全组之间的差异。

http://docs.amazonwebservices.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html

因此,如果您需要 VPC 组的额外功能(更改组、控制入口/入口流量等),您可能需要查看 VPC 提供的附加功能。