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


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


68
2017-07-07 14:54




只是添加一些信息。我们有两个实例联合两个安全组。我们希望将其分开并为每个实例专门设置一个安全组。 - Geo


答案:


更新 2015年2月27日:

现在可以,见 答案如下

旧回复:

亚马逊的FAQ 他说,除了发布时,不可能在任何地方定义安全组。


51
2017-07-07 15:41



谢谢,我在浏览常见问题时错过了这个问题。再次感谢。 - Geo
这个答案已经过时了。现在您可以修改EC2 VPC安全组。请参阅下面的@hanxue答案。 - Diego F. Durán


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

AWS控制台

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

Change Security Group

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

Select 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

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


61
2018-01-08 13:39



“更改安全组”选项出现在菜单中但已禁用。我正在使用地区ap-southeast-2。 - Alastair Irvine
这当前仅适用于VPC实例。非VPC实例所属的安全组是固定/不可变的,并在首次启动时设置。更改它们的唯一方法是从现有实例创建一个包,并使用捆绑的ami重新启动一个新实例。 - ives
如果我新创建的安全组未在列表中列出,该怎么办? Change Security Groups 莫代尔? - jtheletter
此选项可能仅在VPC内可用。在vpc之前创建并且具有在EC2经典模式下运行的实例的旧AWS账户将无法利用此功能。 - cgseller


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


7
2017-10-11 14:14



我相信,只有在VPC中。 - ceejayoz
看起来如此。 “更改安全组”选项存在于菜单中,但对非VPC实例禁用。 - Alastair Irvine
如果新创建的安全组未在“更改安全组”模式中列出,该怎么办? - jtheletter


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

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


5
2018-03-10 03:20





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

除非 您正在使用安全组与EC2安全组不同的VPC。

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

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

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


5
2017-11-20 15:15



欢迎来到服务器故障!虽然理论上这可以回答这个问题, 这会更好 在这里包括答案的基本部分,并提供参考链接。 - Scott Pack


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

the differences from AWS official documentation


1
2017-11-24 03:39





如果您使用的是boto3,则需要拨打电话 modify_attribute 并传递一个组列表 IDS

http://boto3.readthedocs.io/en/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.

0
2018-06-30 16:14





但是,根据此常见问题解答“修改当前安全组的设置 - 这将影响在特定组中运行的所有实例”,您可以逐步重新定义现有安全组。 正如我现在通过EC2控制台尝试这个,我的记录全部被删除了!


-2
2017-12-28 11:48