
AWSは、エンジニアではない初心者の方でも手軽に設定ができるのですが、操作が手作業の部分も多く、慣れてくれば、コマンドラインから直接操作した方が効率的です。
今回は、そんなAWS CLI(AWS Command Line Interface)について、基本的な部分から、インストール方法、使用する上で理解しておきたいポイントを深く掘り下げていきましょう。
AWS CLIとは
コマンドラインシェルでコマンドを使用してAWSサービスとやり取りするためのオープンソースツールです。最小限の設定で、使い慣れたターミナルプログラムのコマンドプロンプトから、ブラウザベースのAWSマネジメントコンソールで提供される機能と同等の機能の使用を開始できます。
引用:https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-welcome.html
とあります。コマンドは慣れるまで少し時間もかかりそうですが、操作性の向上は変え難いものがあります。
AWS CLIでS3をコマンド操作する
ここでは実際にCLIからS3の基本的な操作を紹介します。※CLIのインストールがまだの場合は、次章を参考にインストールしておきましょう。
基本操作
バケット一覧の表示:s3 ls$ aws s3 ls
バケットの作成:s3 mb
$ aws s3 mb s3://bucket
バケットの削除:s3 rb
$ aws s3 rb s3://bucket
ローカルからS3へ(例:file.txt)
ファイルのコピー:s3 cp
$ aws s3 cp file.txt s3://bucket/path/
ファイルの削除:s3 rm
$ aws s3 rm s3://bucket/file.txt
ファイルの移動:s3 mv
$ aws s3 mv file.txt s3://bucket/file.txt/
ファイルの同期:sync
$ aws s3 sync ./folder/ s3://bucket/path/
出典:AWS CLI での高レベル (s3) コマンドの使用 – AWS Command Line Interface
AWS CLIをmacOSにインストールする
今回は、AWS CLIをmacOSにインストールします。インストールする前に
- Python 2 バージョン 2.6.5+ または Python 3 バージョン 3.3+
- Windows、Linux, macOS, or Unix
- pip3
が前提条件です。
インストール手順
- Pythonのver.を確認する
- インストーラのダウンロード→解凍する
- CLIをインストールします
- PATHを通します
- aws –versionで確認する
ver.が表示されれば無事インストールは完了です。
詳しくは公式サイトから確認しましょう。
出典:AWS CLI のインストール – AWS Command Line Interface
cli メリット・デメリット
ここではAWS CLIを使用するメリットとデメリットをみていきましょう。メリット
- AWSのブラウザ操作が不要
- 開発言語やOSなどの縛りがなくなる
- シェルスクリプトと組み合わせることで操作の自動化もできる
- 操作性も慣れれば断然早い
デメリット
- 直感的な操作ができない
- 日本語での処理ができない
- IDなどをあらかじめ調べておく必要がある
- 導入までに若干の手間がかかる
AWS CLIを効果的に使う
さて、AWS CLIで効率化や、自動化に繋がっていくことがわかりました。ここではより効果的に、AWS CLIを利用していくために覚えておきたいことをまとめました。
- 利用したいコマンドをすぐに調べれるようにしておく。(公式リファレンスやQiita、google検索でもたくさん事例が出てきます)
出典:AWS CLIコマンドリファレンス - 実際に触ってみる。(EC2やS3など基本的な部分は触って覚えましょう)
- シェルスクリプトを身につける。(効率化・自動化に向けて)
特にEC2のインスタンスの停止や起動、S3へのバックアップあたりの操作はかなり重宝することでしょう。
AWS CLI公式リファレンスの使い方と選び方
AWS CLIを触る時間が増えてくると、公式リファレンスを検索することも増えてきます。
出典:AWS CLIコマンドリファレンス|https://docs.aws.amazon.com/ja_jp/cli/latest/index.html
コマンド操作に不慣れなうちは、早く目的にたどり着くためにも、公式リファレンスの賢い使い方を知っておくと良いでしょう。
ポイントとなりそうな部分を挙げておきます。
- ページ全体を日本語訳モードにしない
サービス名や例文などコマンド部分が翻訳されてしまうことで、手間が増えてしまいます。chrome拡張機能のgoogle翻訳を文章ごとに使うことで、知りたい部分だけ翻訳してくれるのでおすすめです。
- Quick searchは短い単語には対応していない
基本的には検索したいサービス名(例えば、EC2)を入れることで調べることができますが、s3、ceなど短すぎるサービス名には対応してくれません。
色々試してみましたが、解決法が見つからないのでQuick
searchよりもHOMEからアルファベット順に検索したいサービスを追ったほうが早いです。 - Forum・GitHubを活用する
個人差はあるでしょうが、Quick searchよりもForumやGitHubの方が利用しやすいです。
Forum:初・中級者向け。例文などをスピーディに探せることと、日本語にもある程度対応しています。
GitHub:中・上級者向け。様々なテクニックやソースコードに最速でたどり着けます。 - とにかく触る・動かしてみる
これに限ります。
まとめ
CLIはAWSに限らず、汎用性がとても高いので、覚えておくと視野が広がります。公式リファレンスもうまく活用して、実際に触って動かして、シームレスでサーバレスな環境を自分の武器にしていきましょう。