aws-cliコマンドでsecurity groupのinboundとoutboundをコマンドで設定する。


スポンサーリンク

AWSにはコマンド経由でEC2のインスタンスに対する操作を行うことができます。

今回はWindows Server上にて、コマンドラインでEC2の設定を行ってみます。

まずは、以下のURLからAWSCLI64.msiをダウンロードします。
http://docs.aws.amazon.com/cli/latest/userguide/installing.html

上記のURLにはLinux上でaws-cliコマンドを使う方法も記載されているため、linux上でAWSをコマンド操作する際にも役に立つと思います。

aws-cliでコマンドを使うためには、

aws configure

というコマンドで、設定を編集する必要があります。

$ aws configure
AWS Access Key ID [None]: AKIAfJKJKVF
AWS Secret Access Key [None]: wJalrXUtnFVDFJKLJLF/vfdkAMPLEKEY
Default region name [None]: us-west-1
Default output format [None]: json

参考)http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html

aws configureで設定するAccess KeyやSecret Access Keyは、IAMを作成して取得します。
IAM(Identity and Access Management)とは、AWS上のリソースを操作する権限を管理するためのサービスで、IAMの機能を使って、使いたいユーザーに「AWSを操作できる権限」を与えなければいけません。

今回の記事はIAMの紹介ではないので割愛します。

では、メインの内容。
セキュリティグループの設定を行うコマンドについてです。

・セキュリティグループを作成するコマンド

aws ec2 create-security-group --group-name "my security" --description "this is my security" --vpi-id hoge

参考)https://github.com/aws/aws-cli/blob/develop/awscli/examples/ec2/create-security-group.rst


・セキュリティグループにinboundの設定を追加するコマンド

aws ec2 authorize-security-group-ingress --group-id sg-64782fhXX --protocol tcp --port 443 --cidr 1X7.100.XXX.YYY/32

・セキュリティグループにoutboundの設定を追加するコマンド

aws ec2 authorize-security-group-egress --group-id sg-64782fhXX --protocol tcp --port 443 --cidr 1X7.100.XXX.YYY/32

こうやってコマンドで設定すれば、たくさんのIPアドレスの設定を、いちいちブラウザ経由のGUIでやることなく、一気に行うことができます。

セキュリティグループの設定の削除はこちらのリンクにあります。

inboundの設定削除がこちらで、
http://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-ingress.html

aws ec2  revoke-security-group-ingress --group-id sg-XXXdajau --protocol tcp --port 80 --cidr 0.0.0.0/0

outboundの設定削除がこちらですね。
http://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-egress.html

aws ec2  revoke-security-group-egress --group-id sg-XXXrsYY --protocol tcp --port 80 --cidr 0.0.0.0/0