この記事の内容
この記事では、AWS CLIがそもそもどういうものなのかの概要を説明した上で、AWS CLIのインストール方法やAWS CLIの基本的な使い方について解説をします。
AWS CLIとは
AWS CLIとは、その名の通りCLI(コマンドラインインターフェース)でAWSの様々なサービスと連携を行うことができるツールになります。
例えば、コマンドラインを通して、S3にファイルをアップロードしたり、EC2のインスタンスの状態をコマンドライン上に表示したりといったことができます。
このAWS CLIをうまく使うことで、Windowsであればバッチファイル、Linuxであればシェルで特定の一連の流れを自動化するといったことができます。
また、AWSの各種サービスを用いたテストを行う場合に繰り返し行う必要がある手順や、テスト実施時のエビデンスをまとめて実施できるというユースケースにも対応ができます。
このようにAWS CLIを使いこなすことができれば、繰り返し行うタスクなどを効率化できるため、開発スピードを上げることはもちろん、品質向上にも役に立つと思いますので、ぜひ学ぶことをオススメします。
AWS CLIのインストール方法
AWS CLIのインストール
インストール方法については、お使いのOSによって手順が変わってきます。以下のページを参考にインストールしてもらえれば大丈夫です。
AWS CLIインストール後に、IAMユーザのアクセスキーとシークレットを設定する必要があります。キーを発行するには、「新規IAM ユーザ作成してキーを発行する」、「既存のIAMユーザからキーを発行する」の大きく2種類あります。
新規IAM ユーザ作成してキーを発行する
新規のIAMユーザを作成してキーを作成する場合、IAMユーザを作成する際に、AWSの認証タイプを選択で「アクセスキー・プログラムによるアクセス」にチェックを入れて作成を行います。
作成後に、アクセスキーおよびシークレットアクセスキーが発行されます。シークレットは生成時にしか画面で確認できませんので注意が必要です。なくした場合は、再度発行する形になります。
csvダウンロードボタンでアクセスキーやシークレットをCSVファイルに落とすことができますので、こちらでダウンロードして、適切に管理するとよいかと思います。
既存のIAMユーザからキーを発行する
既存のIAMユーザからキーを発行する場合は、IAMユーザの「認証情報」タブから、アクセスキーの生成でキーを発行することができます。
アクセスキー、シークレットの設定
aws configureコマンドを使用して、アクセスキーやシークレットの設定を行います。Windowsの場合は、コマンドプロンプトから実行していきます。
これでAWS CLIを使用する準備が整いましたので、使用方法をいくつか例を挙げて説明します。
AWS CLI使用方法
EC2の一覧を表示する | ec2 describe-instances
以下のコマンドで、EC2インスタンスの一覧を取得します。
aws ec2 describe-instances
{ "Reservations": [ { "Groups": [], "Instances": [ { "AmiLaunchIndex": 0, "ImageId": "ami-03d79d440297083e3", "InstanceId": "i-047c79c002510dbcd", …
以下のように、インスタンスIDや必要な部分だけ取り出すこともできます。
aws ec2 describe-instances --instance-ids i-0e24780a7463bb5e8 i-047c79c002510dbcd --query "Reservations[].Instances[].InstanceId"
[ "i-047c79c002510dbcd", "i-0e24780a7463bb5e8" ]
以下のように指定すると、インスタンスのImageIdと起動しているかの状態、タグ情報を出力できます。
aws ec2 describe-instances --query 'Reservations[].Instances[].[ImageId,State.Name,Tags]'
[ [ "ami-03d79d440297083e3", "stopped", [ { "Key": "Name", "Value": "ec2-test-2" } ] ], [ "ami-03d79d440297083e3", "stopped", [ { "Key": "Name", "Value": "ec2-test-1" } ] ] ]
S3の一覧を表示する | s3 ls
以下のようにs3 lsコマンドを使用すると、指定したバケット以下のコンテンツを表示することができます。
aws s3 ls s3://test-remix-01/ --recursive
2022-01-30 22:10:11 0 test001/ 2022-01-30 22:10:35 0 test001/a.txt 2022-01-30 22:10:46 0 test001/b.txt
S3へファイルをアップロード・ダウンロード| s3 cp
以下のようにs3 cpコマンドを用いることにより、ファイルをアップロード・ダウンロードできます。
また、S3間でのコピーを行うこともできます。
構文 aws s3 cp [アップロード元パス] [アップロード先パス] 例(ローカルからS3へ) aws s3 cp test.txt s3://mybucket/test2.txt 例(S3からローカルへ) aws s3 cp test.txt s3://mybucket/test2.txt 例(S3からS3へ) aws s3 cp s3://mybucket/test.txt s3://mybucket/test2.txt
AWS CLIコマンド一覧
AWS CLIのコマンド一覧は以下から確認することができます。
コマンドのヘルプを見るには
各コマンドの後ろにhelpと入れると、細かなhelpを見ることができます。
例えば、aws s3のコマンドのヘルプを見る場合は、aws s3 help
と入力します。
コマンド補完を行うには
コマンドを記載して使うだけですが、この際に便利になるのがAWS CLIはコマンドを補完する機能があります。
コマンド補完は、Tabを押すとコマンドの補完を行ってくれるものになります。例えばaws s
と入力して、Tabを押すと、aws s3
のように候補を補完してくれる機能になります。便利なので使用することをオススメします。
結果をファイルに保存する
結果をファイルに保存する場合は、リダイレクトを以下のように使用します。以下の例の場合、コマンドの結果が、s3_list.txtに保存することができます。
aws s3 ls s3://test-remix-01/ --recursive > s3_list.txt
コメント