Amazon EC2 のセキュリティグループの作成、設定、および削除 - AWS Command Line Interface

Amazon EC2 のセキュリティグループの作成、設定、および削除

本質的にファイアウォールとして動作する Amazon Elastic Compute Cloud (Amazon EC2) インスタンス用のセキュリティグループを作成し、入退出が可能なネットワークトラフィックを決めるルールと共に作成することができます。

AWS Command Line Interface (AWS CLI) を使用して新しいセキュリティグループを作成し、既存のセキュリティグループにルールを追加して、セキュリティグループを削除します。

注記

その他のコマンドの例については、AWS CLI リファレンスガイドを参照してください。

前提条件

ec2 コマンドを実行するには、次のことが必要です。

セキュリティグループの作成

仮想プライベートクラウド (VPC) に関連するセキュリティグループを作成できます。

次の aws ec2 create-security-group の例は、指定された VPC のセキュリティグループを作成する方法を示しています。

$ aws ec2 create-security-group --group-name my-sg --description "My security group" --vpc-id vpc-1a2b3c4d { "GroupId": "sg-903004f8" }

セキュリティグループの初期情報を表示するには、aws ec2 describe-security-groups コマンドを実行します。EC2-VPC セキュリティグループは、名前ではなく vpc-id によってのみ参照することができます。

$ aws ec2 describe-security-groups --group-ids sg-903004f8 { "SecurityGroups": [ { "IpPermissionsEgress": [ { "IpProtocol": "-1", "IpRanges": [ { "CidrIp": "0.0.0.0/0" } ], "UserIdGroupPairs": [] } ], "Description": "My security group" "IpPermissions": [], "GroupName": "my-sg", "VpcId": "vpc-1a2b3c4d", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ] }

ルールをセキュリティグループに追加する

Amazon EC2 インスタンスを実行するときには、セキュリティグループのルールを有効にして、イメージに接続する手段としての着信ネットワークトラフィックを有効にする必要があります。

例えば、Windows インスタンスを起動する場合、Remote Desktop Protocol (RDP) をサポートするには、一般に TCP ポート 3389 へのインバウンドトラフィックを許可するルールを追加します。Linux インスタンスを起動する場合、SSH 接続をサポートするには、一般に TCP ポート 22 へのインバウンドトラフィックを許可するルールを追加します。

セキュリティグループにルールを追加するには、aws ec2 authorize-security-group-ingress コマンドを使用します。このコマンドの必須パラメータは、コンピュータのパブリック IP アドレス、またはコンピュータが接続しているネットワーク (アドレス範囲の形式で) の CIDR 表記です。

注記

当社では、以下のサービス https://checkip.amazonaws.com/ を提供し、お客様のパブリック IP アドレスを特定できます。IP アドレスの識別に役立つその他のサービスを見つけるには、ブラウザを使用して「what is my IP address」を検索します。ISP 経由、またはファイアウォールの内側から動的な IP アドレスを使用して接続している場合 (プライベートネットワークの NAT ゲートウェイ経由)、アドレスは定期的に変更される場合があります。その場合、クライアントコンピュータによって使用される IP アドレスの範囲を見つける必要があります。

次の例は、IP アドレスを使用して ID sg-903004f8 を持つ EC2-VPC セキュリティグループに RDP (TCP ポート 3389) のルールを追加する方法を示しています。

まず、あなたの IP アドレスを探してください。

$ curl https://checkip.amazonaws.com x.x.x.x

その後、aws ec2 authorize-security-group-ingress コマンドを実行して、セキュリティグループに IP アドレスを追加できます。

$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 3389 --cidr x.x.x.x

次のコマンドは、同じセキュリティグループのインスタンスに SSH を有効にする別のルールを追加します。

$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 22 --cidr x.x.x.x

セキュリティグループに加えられた変更を表示するには、aws ec2 describe-security-groups コマンドを実行します。

$ aws ec2 describe-security-groups --group-ids sg-903004f8 { "SecurityGroups": [ { "IpPermissionsEgress": [ { "IpProtocol": "-1", "IpRanges": [ { "CidrIp": "0.0.0.0/0" } ], "UserIdGroupPairs": [] } ], "Description": "My security group" "IpPermissions": [ { "ToPort": 22, "IpProtocol": "tcp", "IpRanges": [ { "CidrIp": "x.x.x.x" } ] "UserIdGroupPairs": [], "FromPort": 22 } ], "GroupName": "my-sg", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ] }

セキュリティグループを削除する

セキュリティグループを削除するには、aws ec2 delete-security-group コマンドを実行します。

注記

環境に現在アタッチされているセキュリティグループは削除できません。

次のコマンド例は、EC2-VPC セキュリティグループを削除します。

$ aws ec2 delete-security-group --group-id sg-903004f8

リファレンス:

AWS CLI リファレンス:

その他のリファレンス: