ICT Diary

Network(主にCisco系)、Server(RedHat系)、Program(適当)を気まぐれにUPしていく。

AWS CLI EC2 コマンド

バージョンによる違い

パラメータ,キーワードの"(ダブルクォーテーション)区切り

一定以上のバージョンからパラメータキーワードやパラメータを"(ダブルクォーテーション)で囲む必要が無くなった。
※新バージョンでも"(ダブルクォーテーション)区切りの互換性はある(Ver2.7.35で確認)

コマンド構成

aws <service> <command> <parameter> [option]
  • service
    • ec2等コマンドを実施したいサービスの選択
  • command
    • サービスに対して実施したいコマンド
  • parameter
    • コマンドに必要なパラメータの指定
  • option
    • オプションの指定

環境設定

AWSを操作する際に使用するアカウント・IAMユーザや、操作先のリージョンの設定

> aws configure <--profile [NAME]>

AWS Access Key ID []:
AWS Secret Access Key []:
Default region name []:
Default output format [None]:

設定

  • AWS Access Key ID
    • 操作に使用するIAMユーザのAccessKeyを指定
  • AWS Secret Access Key
    • 操作に使用するIAMユーザのsecretAccessKeyを指定
  • Default region name
    • 接続して操作するリージョンの指定
    • リージョンごとに完全に分けられている為、リージョンを切り替えると利用中のサービスも異なる
    • JP東京リージョン: ap-northeast-1
    • JP大阪リージョン:
  • Default output format
    • コマンド結果のデフォルト出力方式

option

  • --profile
    • 指定することによりデフォルトの設定でなく、名前付けしたプロファイルの構成を設定。
    • プロファイルことに構成を変えれるので、接続先等を複数登録出来る。

バージョン確認

aws --version

EC2 Command

セキュリティグループのルール一覧出力

Command

aws ec2 describe-security-group-rules <option>

option

オプション複数同時指定可

  • --no-cli-pager
    • コマンド結果出力が多い際のmoreを表示せず一括で結果を出力する
  • --output

セキュリティグループ(SG)へのルール追加・削除

aws ec2 <command> <parameter [sub-parameter]>

command

  • authorize-security-group-ingress
    • Inbound(内向き)通信へのアクセス制御を追加。EC2 <-- アクセス元
  • authorize-security-group-egress
    • Outbound(外向き)通信へのアクセス制御を追加。EC2 --> アクセス先
  • revoke-security-group-ingress
    • Inbound(内向き)通信へのアクセス制御を削除。EC2 <-- アクセス元
  • revoke-security-group-egress
    • Outbound(外向き)通信へのアクセス制御を削除。EC2 --> アクセス先

parameter&sub-parameter

  • --group-id
    • ルールを追加したいSGのIDを指定
  • --ip-permissions
    • 以下のパラメータを指定。(各パラメータは,[カンマ]区切り)
    • IpProtocol=
      • 追加したい通信のProtocolを指定
        • tcp, udp, icmp, ProtocolNo, -1(すべて)から指定
    • FromPort=
      • 開始ポート番号を指定(範囲指定)。
      • すべてのポートの場合は[ -1 ]を指定
    • ToPort=
      • 終了ポート番号を指定(範囲指定)。
      • すべてのポートの場合は[ -1 ]を指定
    • IpRanges=
      • ,[カンマ]区切りで複数指定可。
      • 以下の2つを,[カンマ]区切りで"{}"(中かっこ)<<'(シングルクォート)の順で囲う。
      • CidrIp=
        • 対象のIP範囲を指定。
      • Description=
        • SGの説明を記載
        • 無くでも設定出来る。

Command例

コマンド例1

EC2にプロトコル"TCP",ポート番号"80",送信元"10.0.0.0/24"のインバウンドの通信を許可 (説明コメントあり)

aws ec2 authorize-security-group-ingress --group-id sg-xxxxxx --ip-permissions IpProtocol=tcp,FromPort=80,ToPort=80,IpRanges='[{CidrIp=10.0.0.0/24,Description="TestTCP80"}]'