LoginSignup
3
3

More than 5 years have passed since last update.

AWS CLIメモ: SG作成

Posted at

コンソール操作(通称:ぽちぽち)ではなく、AWS CLIでSG(Security Group)を作成するメモ

参考)
http://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html
http://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html
http://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-egress.html

やるべきことは以下
1. SGを作成する ※所属するVPNを指定する必要あり
2. Inboundの許可設定追加
3. Outboundの許可設定追加

CLIコマンド例は以下

SG作成

aws ec2 create-security-group --group-name [SG名] --description [説明] --vpc-id [VPC ID]

VPC名で管理したい場合に、VPC名からVPC IDへの変換をシェル芸で対応するならdescribe-vpcsコマンドと、jqを使って整形して取得できる。

VPC_NAME='my_vpc'
eval VPC_ID=$(eval "aws ec2 describe-vpcs |jq -r '.Vpcs[] | select(.Tags[].Value==\"${VPC_NAME}\") | .VpcId '")

※変数VPC_NAMEで指定したVPC名で、VPC IDを取得する例

SGにNameタグを付与したければ以下を追加

aws ec2 create-tags --resources [SG ID] --tags Key=Name,Value=[名前]

Inbound設定

外部からSGへのアクセス許可設定

以下はFROMをSG IDで指定する例
※すべてのプロトコル対象の場合は--protocol all

aws ec2 authorize-security-group-ingress --group-id [対象のSG ID] --protocol all --source-group [アクセス許可する送信元SG ID]

IPアドレス指定するならオプション --source-group の代わりに --cidr を利用

--cidr 192.168.0.0/24

また、参考まで、SG名からSG IDに変換するには以下

aws ec2 describe-security-groups --filters Name=group-name,Values=[SG名] | jq -r '.SecurityGroups[].GroupId'

Outbound設定

基本的には、Inboundの authorize-security-group-ingress を authorize-security-group-egress に変えるだけ。

注意点:VPCエンドポイント経由でS3へアクセスする場合

アウトバウンドに PrefixListId=pl-61a54008 を指定する必要あり

Prefix List IDを指定したい場合は --source-group の代わりに --ip-permissions

--ip-permissions IpProtocol=tcp,FromPort=443,ToPort=443,PrefixListIds=[{PrefixListId=pl-61a54008}]

※Prefix IDとは、宛先のAWSクラウド上のサービスを特定するためのIDで、AWSサービスのIPアドレス帯域をIDで指定できるもので、東京リージョンはpl-61a54008が該当。
VPCエンドポイント経由でS3バケットにアクセスする場合に、この帯域に対するアウトバウンドを設定しておく必要がある。

以下で詳細を確認できる。

aws ec2 describe-prefix-lists

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3