スポンサーリンク
こんにちは!
クラウドエンジニアの湖山です。
AWS CLI は非常に強力で便利なツールですが、全てのコマンドを覚えておくことは難しいでしょう。
helpコマンドを使用すると説明は表示されるが、どうせなので調べたコマンドはここに備忘録として残していくようにします。
ご参考になれば幸いです。
(随時追記していく予定)
コマンド構造
aws [options] <command> <subcommand> [parameters]
コマンド | 必須 | 説明 |
---|---|---|
aws | 必須 | aws プログラムのベースコール |
[options] | ー | オプション設定 ※次セクション参照 |
<command> | 必須 | どのサービスに対して実行するのか 例) ec2, s3, rdsなど |
<subcommand> | 必須 | どのような操作を行うのか 例) EC2 一覧取得 → describe-instances |
[parameters] | ー | コマンドに対するパラメーター |
オプション (options)
オプション | 型 | 説明 |
---|---|---|
--debug | bool | デバッグログの出力設定 (true : 出力する) |
--endpoint-url | bool | 指定したURLでコマンドのデフォルトURLを上書き |
--no-verify-ssl | bool | SSL証明書を検証の有無 (true : 検証しない) |
--no-paginate | string | ページネーション設定 (true : 無効) |
--output | string | 出力形式の設定 ・json ・text ・table ・yaml ・yaml-stream |
--query | string | 応答データのフィルタリングに使用するJMESPath |
--profile | string | 認証情報ファイルからプロファイルの指定 |
--region | string | リージョン指定 |
--version | string | バージョン指定 |
--color | string | カラー設定 ・on ・off ・auto |
--no-sign-request | bool | 署名なしリクエスト設定 (true : 署名なし) |
--ca-bundle | string | SSL証明書を検証するときに使用するCA証明書 |
--cli-read-timeout | int | 秒単位の最大ソケット読み取り時間 |
--cli-connect-timeout | int | 秒単位の最大ソケット接続時間 |
--cli-binary-format | string | バイナリのフォーマット ・base64 (デフォルト) ・raw-in-base64-out |
引用元:CLI リファレンス
各サービスごとのコマンド集
S3
バケット作成 (mb)
aws s3 mb s3://bucket-name
・バケット名は全世界で一意
・小文字の英文字、数字、ハイフン、ピリオド
バケット一覧表示 (ls)
aws s3 ls
aws s3 ls s3://bucket-name
aws s3 ls s3://bucket-name/path/
バケット削除 (rb)
aws s3 rb s3://bucket-name
・バケットが空である必要がある
・強制的に削除する場合、[--force
]オプションを付与
ファイルコピー (cp)
aws s3 cp <source> <target> [--options] # 基本構文
aws s3 cp <file> s3://bucket-name/path/ # S3へアップロード
aws s3 cp s3://bucket-name/path/ <file> # S3からダウンロード
aws s3 cp <Dir> s3://bucket-name/path/ --recursive # <Dir>配下全てをS3へアップロード
aws s3 cp . s3://bucket-name/path/ --recursive --exclude "*.txt" # カレントディレクトリの txtファイル以外をS3へアップロード
aws s3 cp . s3://bucket-name/path/ --recursive --exclude "*.txt" --include "Test*.txt" # 上記に加えて Test*.txt をS3へアップロード
・サブディレクトリも一緒に操作する場合、[--recursive
]オプションを付与
・ファイル操作対象から除外したい場合、[--exclude
]オプションを付与
・ファイル操作対象に含めたい(除外しない)場合、[--include
]オプションを付与
ファイル移動 (mv)
aws s3 mv <source> <target> [--options] # 基本構文
aws s3 mv <file> s3://bucket-name/path/ # S3へ移動
aws s3 mv s3://bucket-name/path/ <file> # S3から移動
aws s3 mv <Dir> s3://bucket-name/path/ --recursive # <Dir>配下全てをS3へ移動
aws s3 mv . s3://bucket-name/path/ --recursive --exclude "*.txt" # カレントディレクトリの txtファイル以外をS3へ移動
aws s3 mv . s3://bucket-name/path/ --recursive --exclude "*.txt" --include "Test*.txt" # 上記に加えて Test*.txt をS3へ移動
・サブディレクトリも一緒に操作する場合、[--recursive
]オプションを付与
・ファイル操作対象から除外したい場合、[--exclude
]オプションを付与
・ファイル操作対象に含めたい(除外しない)場合、[--include
]オプションを付与
EC2
インスタンス起動 (start-instances)
aws ec2 start-instances --instance-ids <インスタンスID> <インスタンスID> …
パラメーター | 型 | 説明 |
---|---|---|
--instance-ids | list | 対象のインスタンスID (複数指定可能) |
[--additional-info] | string | 予約済み |
[--dry-run] | boolean | アクションに必要な権限チェック 実際のリクエストは行わない – エラー応答はDryRunOperation – 正常の応答はUnauthorizedOperation |
[--cli-input-json] | string | インプットファイルを指定 |
[--generate-cli-skeleton] | string | スケルトンテンプレートを生成 |
[--cli-auto-prompt] | boolean | 対話型の入力形式にする |
インスタンス起動 (stop-instances)
aws ec2 stop-instances --instance-ids <インスタンスID> <インスタンスID> …
パラメーター | 型 | 説明 |
---|---|---|
--instance-ids | list | 対象のインスタンスID (複数指定可能) |
[--hibernate] | boolean | EC2インスタンスの休止(ハイバネーション) |
[--dry-run] | boolean | アクションに必要な権限チェック 実際のリクエストは行わない – エラー応答はDryRunOperation – 正常の応答はUnauthorizedOperation |
[--force ] | boolean | 強制的に停止する |
[--cli-input-json] | string | インプットファイルを指定 |
[--generate-cli-skeleton] | string | スケルトンテンプレートを生成 |
[--cli-auto-prompt] | boolean | 対話型の入力形式にする |
スポンサーリンク