AWS CLIをインストールすると、コマンド入力でAWSを操作できるようになります。AWSマネジメントコンソールからコマンド入力をすることで、どのようなメリットがあるのでしょうか。今回は、AWS CLIを利用するメリットを解説し、使い方と導入方法についてまとめました。
目次
AWS CLIとは?
AWS CLI(Command Line Interface)は、AWSをコマンド入力で操作できるようにするインターフェースです。直感的に分かりやすい画面入力ではないため、使い慣れないうちは敷居が高いと感じる人もいるかもしれませんが、コマンドでAWSを操作できるようになると、さまざまなメリットがあります。
AWS CLIを利用するメリット
AWS CLIを利用する大きなメリットは、コマンドを組み合わせてスクリプトを作成し、一連の操作を自動化できる点にあります。操作の自動化による主なメリットは、以下の4点です。
- 管理操作手順をスクリプトにまとめると、担当の引継ぎが簡単になる
- 自動化によって業務効率化ができ、人的ミスを削減することができる
- GUIに比べて作業スピードが上がる
- AWSリソース間の自動連携ツールも作成することができる
管理操作に関する手順を他の担当者に引き継ぐ場合、画面での操作は、スクリーンショットを何枚も取得し、手順を分かりやすくマニュアル化する必要があります。
一方、AWS CLIなら、管理操作のコマンドをすべて実行するスクリプトにまとめ、スクリプトとその使い方を次の担当者へ引き継ぐだけで済みます。結果として、引き継ぎ資料作成の手間と管理操作作業自体の手間を削減できます。
スクリプトによる運用管理の自動化を進めていくと、運用管理作業の効率化が進むとともに、手作業による人的ミスの削減にもつながるでしょう。操作を自動化できず、人間が画面(GUI)を都度操作する運用管理方法と比べると、作業スピードの差は歴然です。AWS CLIのスクリプトを駆使することで、AWSのリソース間を自動的に連係させるツールも簡単に作成できます。
AWS CLIの利用手順
AWS CLIを利用するには、AWS CLIをダウンロード・インストールし、環境を整える必要があります。AWS CLIの利用手順について、5つのステップにまとめて紹介します。
1.AWS CLIバージョン2のインストール(Windows・MacOS)
最初に、AWS CLIのインストールから始めましょう。2021年5月20日時点の最新バージョンはバージョン2です。
- Windows OSの場合
以下のURLよりインストールイメージをダウンロードし、実行するとインストールできます。
ダウンロードURL(64ビット版):https://awscli.amazonaws.com/AWSCLIV2.msiインストールできたかどうかは、コマンドプロンプトを起動して以下のコマンドで確認してください。
C:\> aws -version
- Mac OSの場合
以下よりmacOS pkgファイルをダウンロードして、ファイルをダブルクリックし、画面の指示に沿ってインストールを進めてください。
ダウンロードURL:https://awscli.amazonaws.com/AWSCLIV2.pkgsudo アクセス許可がある場合は、以下のコマンドブロックを使うと、すべてのユーザーを対象にAWS CLIの最新バージョンをインストールできます。
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /インストールが正常にできたかどうかは、以下のコマンドブロックを実行して確認してください。
$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.1.29 Python/3.7.4 Darwin/18.7.0 botocore/2.0.0
次に、AWSマネジメントコンソールよりIAMユーザーを作成し、ユーザー追加画面でユーザー情報・アクセスの種類などを設定してください。設定後は、ダウンロードしたインストールイメージを実行してセットアップし、IAMユーザーをひも付けします。
IAMユーザーの作成からIAMユーザーのひも付けまでの具体的な手順は、AWSのユーザーガイドを参照してください。
参考:AWSユーザーガイド:「IAMユーザーの作成(コンソール)」
2.AWSアクセスキーの取得
AWS CLIをインストールした後のセットアップは、aws configureコマンドがもっとも簡単です。AWS configureコマンドを実行すると、AWSアクセスキーの情報が求められます。アクセスキーの情報取得方法は、公式サイトの以下を参照してください。
AWS Command Line Interfaceユーザーガイド「アクセスキー ID とシークレットアクセスキー」
3.aws configureを使用したクイック設定
aws configureコマンドを入力して、AWS CLIをセットアップしましょう。入力が必要な情報は4つです。
- AWS Access Key ID:取得したアクセスキーID
- AWS Secret Access Key: 取得したシークレットアクセスキー
- Default region name: 使用するリージョン名
- Default output format: 使用する出力形式
コマンド実行の例を示します。
$ aws configure
AWS Access Key ID [None]: ABCDEFGHIJKLMNOPQRST
AWS Secret Access Key [None]: 12345678901234/AAAAAAA/AAAAAAAAAEXAMPLEKEY
Default region name [None]: AA-BBB-1
Default output format [None]: json
4.aws-shellのインストール
aws-shellは、AWS CLIのコマンド入力をインタラクティブに支援するツールです。誤入力を防ぐ機能や、過去に実行したコマンドのナビゲートなど便利な機能が多く、作業を効率化できます。
aws-shellの実行には、Pythonとpipが前提となるため、未インストールの場合は事前にインストールしてください。aws-shellをインストールするコマンドは以下の通りです。(コマンドはすべてMac OSの場合)
$ pip install aws-shell
aws-shellを最新バージョンにするには、以下のコマンドを実行します。
$pip install -upgrade
5.環境変数の設定
環境変数の定義(セット)は、コマンドラインでの操作を便利にする手段です。環境変数の設定により、コマンドをフルパスで指定しなくても済むようになり、よりシンプルな実行が可能です。
環境変数の設定方法
また、複数の環境変数のセットを設定するコマンドファイルを用意しておき、「目的別に切り替えて」使うこともできます。ここで、基本的な環境変数の例を紹介します。
環境変数名 | 設定内容 |
---|---|
AWS_ACCESS_KEY_ID | アクセスキーID |
AWS_SECRET_ACCESS_KEY | シークレットアクセスキー |
AWS_DEFAULT_REGION | リージョン |
AWS_DEFAULT_OUTPUT | 出力 |
AWS_DEFAULT_PROFILE | プロファイル |
これらの環境変数は、AWS CLIを使用する前に設定しておきましょう。
6.プロファイルの切り替え方法
プロファイルは、AWS CLIコマンドに適用できる設定と認証情報の集まりです。名前付きのプロファイルを作成することで、設定内容を切り替えて使えるようになります。
プロファイルの切り替え方法は2通りです。1つは、コマンド実行時に「--profile profile-name」オプションを追加します。コマンド例(Mac OSの場合)は以下の通りです。
$ aws ec2 describe-instances --profile testprof1
コマンドにオプションを指定する方法では、そのコマンドに限り指定のプロファイルを使用します。
複数のコマンドに対して連続して別のプロファイルを使いたい場合は、環境変数に使いたいプロファイル名をコマンドラインで設定します。例えば、Windows OSの場合は、以下のコマンドを実行します。
C:\> setx AWS_PROFILE testprof1
AWS CLIを使った運用管理の自動化は専門家に相談しよう
AWS CLIは、AWSの運用管理を自動化するために欠かせない技術です。しかし、運用管理者にコマンドラインでのプログラム実行の経験がない場合、一から勉強する必要があり、自動化までに時間がかかってしまいます。自社にコマンドラインやシェルスクリプトに関する技術者がいない場合は、運用の自動化について、専門家に相談すると効率が良いでしょう。
TOKAIコミュニケーションズでは、運用管理サービスとして「AWS運用管理」を提供しています。お客様環境のモニタリング、24時間365日の運用管理、最適化などAWSの運用に関することについて、お気軽にご相談ください。
関連サービス
おすすめ記事
-
2020.06.23
Amazon Connectで在宅勤務でも対応できる問合せ窓口を立ち上げてみた
-
2020.08.17
Datadogで実現するモニタリングとオペレーションのオートメーション化
-
2020.04.27
Amazon FSx for Windows ファイルサーバーへの移行と活用方法
-
2020.06.11
Amazon WorkSpacesとは?その特長をまとめてみた
-
2020.06.23
AWSのDevOpsサービスと当社マネージドサービスを活用したDevOpsの実装①~概念編~