web-dev-qa-db-ja.com

実行中のEC2インスタンスにセキュリティグループを追加するにはどうすればよいですか?

Amazon EC2インスタンスを実行しています。そのインスタンスに別のセキュリティグループを追加して、そのインスタンスから現在のセキュリティグループを削除します。これは可能ですか?

84
Geo

更新2015-02-27:

これが可能になりました。 以下の答え を参照してください。

古い返信:

AmazonのFAQ では、セキュリティグループを起動時以外の場所に定義することはできないとしています。

53
towo

更新: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

インスタンスに関連付けるすべてのセキュリティグループを指定する必要があることに注意してください。

83
hanxue

これが可能になりました。アクションメニューをクリックして、セキュリティグループの変更-使用するセキュリティグループを選択します。

7
user193616
  1. 別のセキュリティグループに移動するインスタンスからAMIイメージを作成します。
  2. そのイメージを使用して新しいインスタンスを起動します。これで、この新しいインスタンスを別のセキュリティグループに割り当てることができます。
  3. 前のインスタンスを破棄します。

これには、インスタンスのダウンタイムが必要です。 APIを使用して利用できる他のいくつかのオプションがあるかもしれません。

5
Rajan

Towoが言ったように、インスタンスのセキュリティグループは起動時間以外は変更できません。

ただし、セキュリティグループがEC2セキュリティグループと異なるVPCを使用している場合を除きます

このページでは、EC2とVPCのセキュリティグループの違いについて説明します。

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

したがって、VPCグループの追加機能(グループの変更、上り/下りトラフィックの制御など)が必要な場合は、VPCによって提供される追加機能を確認することをお勧めします。

5
idiom

2016年11月24日現在、@ hanxueによる上記の回答は正しいですが、完全ではありません。 AWSには2種類のインスタンスがあります:vpcインスタンスと呼ばれるプライベートクラウド内のインスタンスおよびpublic instancesがEc2 Classicと呼ばれます。 VPCインスタンスのセキュリティグループのみを変更でき、EC2-classicは変更できません。 Awsの公式ドキュメントのスクリーンショット。 見たいドキュメント

the differences from AWS official documentation

1
Balman Rawat

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
James Morgan