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


81

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


仅添加更多信息。我们有两个实例联合到两个安全组。我们希望将其分开,并为每个实例专用一个安全组。
地理位置

Answers:


52

更新 2015-02-27:

现在可以实现,请参见下面的答案

旧回覆:

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


1
谢谢,我在浏览常见问题时错过了这个问题。再次感谢。
地理位置

2
这个答案已经过时了。现在,您可以修改EC2 VPC安全组。请参阅下面的@hanxue答案。
Diego F.Durán'15

需要更新!看到下面的答案

78

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

AWS控制台

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

变更安全小组

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

选择安全组


EC2命令行

使用以下命令:

ec2-modify-instance-attribute <instance-id> --group-id <group-id>

AWS命令行

使用以下命令:

aws ec2 modify-instance-attribute --instance-id i-12345 --groups sg-12345 sg-67890

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


5
菜单中存在“更改安全组”选项,但已禁用。我正在使用区域ap-southeast-2。
Alastair Irvine,2014年

4
当前仅适用于VPC实例。非VPC实例所属的安全组是固定的/不可变的,并在首次启动时设置。更改它们的唯一方法是从现有实例创建捆绑包,然后使用捆绑的ami重新启动新实例。
ives

1
如果我的新创建的安全组未在Change Security Groups模式中列出怎么办?
jtheletter 2015年

此选项可能仅在VPC内部可用。在vpc之前创建且实例在EC2经典模式下运行的旧AWS账户将无法利用此功能。
cgseller

令人困惑的是,CLI不像许多其他地方那样使用逗号分隔的列表。
user67327

7

现在可以执行此操作。单击操作菜单,然后单击“更改安全组-选择要使用的安全组”。


3
我相信,仅在VPC中。
ceejayoz 2014年

看起来是这样。菜单中显示“更改安全组”选项,但对于非VPC实例则禁用该选项。
Alastair Irvine

1
如果我的新创建的安全组未在“更改安全组”模式中列出,该怎么办?
jtheletter 2015年

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

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


5

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

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

此页面概述了EC2和VPC安全组之间的区别。

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

因此,如果您需要VPC组的其他功能(更改组,控制入口/出口流量等),则可能需要查看VPC提供的其他功能。


欢迎来到服务器故障!虽然从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。
Scott Pack

1

截至2016年11月24日。@hanxue给出的上述答案是正确的,但并不完整。AWS中有两种类型的实例:私有云中称为vpc实例的实例公共实例 Ec2 Classic。您只能更改VPC实例的安全组,而不能更改EC2-classic。您想看到的AWS官方文档截图。 您想看的文件

与AWS官方文档的区别


0

如果您使用的是boto3,则需要调用Modify_attribute并传递一个组ID列表

http://boto3.readthedocs.io/zh_CN/latest/reference/services/ec2.html#EC2.Instance.modify_attribute

response = instance.modify_attribute(Groups=['string'])

Groups (list) --
  [EC2-VPC] Changes the security groups of the instance. You must 
  specify at least one security group, even if it's just the default 
  security group for the VPC. You must specify the security group ID,
  not the security group name.

-2

但是,根据此FAQ“修改当前安全组的设置-这会影响在特定组中运行的所有实例”,您可以更改并重新定义现有实例。当我现在通过EC2控制台尝试这种操作时,我的记录全部被擦除了!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.