💬

【AWS】AWS CloudShellにてEC2のSG取り外しを実施する

2024/12/10に公開

はじめに

AWS CloudShellでEC2のSG取り外しをするための作業手順を作成する機会があり、こちらにも参考としてまとめようと思う。

環境

  • AWS CLI :2.22.0
version
$ aws --version
aws-cli/2.22.0 Python/3.12.6 Linux/6.1.115-126.197.amzn2023.x86_64 exec-env/CloudShell exe/x86_64.amzn.2023
$

手順

既に下記が用意されている前提で記載していきます。

  • EC2インスタンス
  • セキュリティグループ(SG)

EC2インスタンスへのSG取り付け

EC2インスタンスにSGを1つ追加するという一連の手順になります。

1.SG付与状況確認

対象のEC2インスタンスに付与されているSGのIDとSG名を抽出する。

コマンド
aws ec2 describe-instances --instance-ids <インスタンスID> --query "Reservations[*].Instances[*].SecurityGroups[*]"
実行例
$ aws ec2 describe-instances --instance-ids i-05ac15834xxxxxxxx --query "Reservations[*].Instances[*].SecurityGroups[*]"
[
    [
        [
            {
                "GroupId": "sg-xxxxxxxxxxxxxxxxx",
                "GroupName": "SG1"
            }
        ]
    ]
]
$

2.SG付与

対象のEC2インスタンスに新しくセキュリティグループを追加する。
元々付与されているセキュリティグループも指定必須。

コマンド
aws ec2 modify-instance-attribute --instance-id <インスタンスID> --groups <セキュリティグループ1> <セキュリティグループ2>
実行例
$ aws ec2 modify-instance-attribute --instance-id i-05ac15834xxxxxxxx --groups sg-xxxxxxxxxxxxxxxxx sg-yyyyyyyyyyyyyyyyy
$ 

3.SG付与状況確認

再度、対象のEC2インスタンスに付与されているSGのIDとSG名を抽出する。

コマンド
aws ec2 modify-instance-attribute --instance-id <インスタンスID> --groups <セキュリティグループ1> <セキュリティグループ2>
実行例
$ aws ec2 describe-instances --instance-ids i-05ac15834xxxxxxxx --query "Reservations[*].Instances[*].SecurityGroups[*]"
[
    [
        [
            {
                "GroupId": "sg-xxxxxxxxxxxxxxxxx",
                "GroupName": "SG1"
            },
            {
                "GroupId": "sg-yyyyyyyyyyyyyyyyy",
                "GroupName": "SG2
            }
        ]
    ]
]
$ 

SG取り外し

SG取り付けと同じ要領で作業を進めます。

1.SG状況確認

対象のEC2インスタンスに付与されているSGのIDとSG名を抽出する。

コマンド
aws ec2 modify-instance-attribute --instance-id <インスタンスID> --groups <セキュリティグループ1> <セキュリティグループ2>
実行例
$ aws ec2 describe-instances --instance-ids i-05ac15834xxxxxxxx --query "Reservations[*].Instances[*].SecurityGroups[*]"
[
    [
        [
            {
                "GroupId": "sg-xxxxxxxxxxxxxxxxx",
                "GroupName": "SG1"
            },
            {
                "GroupId": "sg-yyyyyyyyyyyyyyyyy",
                "GroupName": "SG2
            }
        ]
    ]
]
$ 

2.SG取り外し

対象のEC2インスタンスに付与するセキュリティグループのみ指定
セキュリティグループ2を付与していた場合、セキュリティグループ1のみ指定する。

コマンド
aws ec2 modify-instance-attribute --instance-id <インスタンスID> --groups <セキュリティグループ1>
実行例
$ aws ec2 modify-instance-attribute --instance-id i-05ac15834xxxxxxxx --groups sg-xxxxxxxxxxxxxxxxx
$ 

3.SG付与状況確認

再度、対象のEC2インスタンスに付与されているSGのIDとSG名を抽出する。

コマンド
aws ec2 describe-instances --instance-ids <インスタンスID> --query "Reservations[*].Instances[*].SecurityGroups[*]"
実行例
$ aws ec2 describe-instances --instance-ids i-05ac15834xxxxxxxx --query "Reservations[*].Instances[*].SecurityGroups[*]"
[
    [
        [
            {
                "GroupId": "sg-xxxxxxxxxxxxxxxxx",
                "GroupName": "SG1"
            }
        ]
    ]
]
$

参考

https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-instances.html

https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/modify-instance-attribute.html

Discussion