
AWS入門 初心者が覚えておくべきAWSの基本
AWS CLI(Command Line Interface)を利用すれば、AWSをコマンド入力で操作・管理できるようになります。AWSの設定や管理作業のために、画像やボタンなどによる直観的に操作がしやすいGUI(Graphic User Interface)として、AWSマネジメントコンソールが提供されておりますが、AWS CLIをあえて利用することにはどのようなメリットがあるのでしょうか。今回は、AWS CLIの概要や登録方法、さまざまなオプションについて解説します。
そもそもCLIとはどのようなものなのでしょうか。
CLIとは、サーバーなどの操作をコマンド入力で行うことができるユーザーインターフェースです。AWSにおいても、主に設定や管理のために、AWS CLIとして提供されています。AWSのサイトからAWS CLIインストーラをダウンロードしてインストールすることで使用できるようになります。
Windows OSのコマンドプロンプトもしくはPowerShell(コマンドプロンプトのようなWindows管理用のコマンドシェル)などでCLIでの操作ができるのと同様に、AWS CLI では、AWSマネジメントコンソールを使ってできることと同様の操作をすることができます。例えば、パソコンに保存されている画像をAmazon S3にアップロードしたり、起動しているAmazon EC2のインスタンスを停止したりするなどの操作が可能です。
AWSマネジメントコンソールを利用すれば直感的な操作が可能であるにもかかわらず、あえてコマンドベースのAWS CLIが提供されているのはなぜでしょうか。それは、AWS CLIにはAWSマネジメントコンソールとは異なるいくつかのメリットが存在するからです。AWS CLIを利用する主なメリットを5つ紹介します。
AWS CLIの利用が想定される主なケースは、以下のとおりです。
専用のAWS IAMユーザーを発行してアクセスキーを入力すれば、AWS CLIを使って自分のパソコン以外の端末からでもAWSにログインすることができます。
IAMロールをAmazon EC2インスタンスに割り当てれば、IAMユーザーを使用せずにAWSにアクセスすることができます。この場合では、アクセスキーの管理が不要で、セキュリティ面の安全性が増します。
AWS CLIを利用するためには、パソコンにAWS CLIをインストールする必要があります。インストール手順はOSによって異なります。
インストールする端末がWindows OSかMac OSかで、インストールの手順が異なります。
Windows OSの場合には、以下の手順でAWS CLIインストーラをダウンロードする必要があります。
1.以下のいずれかのファイルをあらかじめダウンロードします。
2.AWSマネジメントコンソールからIAMユーザーを作成します。
3.ユーザー追加画面で、ユーザー情報やアクセスの種類、パスワードなどの情報を設定します。(必要に応じてグループの作成や設定なども同時に行います)
4.ダウンロードしたインストーラを実行してセットアップし、IAMユーザーをひも付けします。
以上の流れによってWindowsでAWS CLIを使用できるようになります。
なお、AWS CLIの更新バージョンがリリースされた場合には、最新のバージョンを入手するために、上記の手順を繰り返す必要があります。
Mac OSにAWS CLIをインストールは若干手順が異なります。ここではMac OSにバンドルされたインストーラを使用してインストールする方法を紹介します。
1.使用するMacにインストールされているPythonのバージョンを確認し、AWS CLIに対応しているか否か(Python 2 バージョン 2.6.5+ または Python 3 バージョン 3.3+以降の場ジョーンであるか否か)をチェックします。古いバージョンの場合やインストールされていない場合には対応したバージョンのものをインストールします。
2.以下のコマンドを入力して、AWS CLIをインストールすることができます。
$ pip3 install awscli --upgrade --user
AWS CLIをインストールための最も簡単な方法であるAWS configureコマンド入力時にはAWSアクセスキーの情報が必要です。以下の手順でAWSアクセスキーを確認してください。
1.AWSマネジメントコンソールにログインして、右上の「AWSへようこそ」のプルダウンメニューから、「セキュリティ認証情報」をクリックします。
2.プルダウンメニューの中の「アクセスキー」をクリックして、「新規にアクセスキーを取得」を選択します。
3.自動的にアクセスキーが記載されたCSVファイルがダウンロードされますので、CSVファイルの中を見てアクセスキーを確認してください。
一つひとつをコマンド入力するのは手間がかかり、また、誤入力により正確な記述ができなかったりすることがあります。コマンドの誤入力があると意図した操作が実行されず、さらに修正箇所の発見のために作業効率が大きくダウンしてしまうおそれがありますが、aws-shellという支援ツールを使用すれば作業効率を高めることができます。
aws-shellは、コマンド入力をサポートしてくれるCLIの支援ツールです。aws-shellはAWS CLI初心者にとってはもちろんのこと、上級者にとっても有用なツールです。aws-shellを利用するためには、Pythonとpipをインストールしたうえで、以下のコマンドを実行してaws-shellをインストールします。
$ pip install aws-shell
また、aws-shellを最新のバージョンに更新する際にはpip install --upgradeコマンドを実行してバージョンアップをします。
aws-shellには以下のような機能が備わっています。コマンド入力のミスを防止し、作業を効率化してくれるメリットがあります。
コマンドオプションを利用することで、取得する情報を選択したりフォーマットを変更したりすることができ、必要な情報だけを取得して作業の効率化を図ることができます。
profileオプションは、複数のアカウントを管理する際に使用します。例えば、本番環境のアカウントとテスト環境のアカウントを使い分けているようなときに便利です。
filtersオプションは、ある特定の条件に合致する数値のみを抽出(フィルタリング)する際に使用します。
例えば、AWS CLIでAWSのサブネットを一覧表示するdescribe-subnetsをそのまま実行した場合には、すべてのサブネットが表示されますが、filtersオプションを使用するとキーワードやフィールドによって抽出する情報を絞り込むことができるため、必要な情報を探しやすくなります。
queryオプションは、describe-subnetsで情報を検索した際に、サービスやリソースの中から欲しい情報だけ出力させることができるオプションです。例えば、出力する情報の中からPrivateIpAddressのみを出力するといった使用方法が可能です。
outputオプションは、出力形式を指定できるコマンドです。JSON、TEXT、Table形式のなかから好みのものを選ぶことができます。コマンドの形式によって見やすさや情報の検出しやすさが異なるので、使い慣れた出力形式を設定しましょう。
regionオプションは、出力するregionを選択することができます。指定しない場合には、デフォルトのregionが指定されています。
リクエストを送信するurlを指定します。通常、AWS CLIと指定したサービスによりurlが自動的に生成されるのでエンドポイントurlオプションを設定する必要はありませんが、一部のコマンドではアカウント固有のurlを指定する必要があります。
例えば、Amazon EC2とAmazon VPCの外側にあるAmazon S3を連携させるために通信したいとき、エンドポイントを設定すればS3との通信が可能になります。
リクエストを送信するurlを指定します。通常、AWS CLIと指定したサービスによりurlが自動的に生成されるのでエンドポイントurlオプションを設定する必要はありませんが、一部のコマンドではアカウント固有のurlを指定する必要があります。
例えば、Amazon EC2とAmazon VPCの外側にあるAmazon S3を連携させるために通信したいとき、エンドポイントを設定すればS3との通信が可能になります。
AWS CLIコマンドに環境変数をセット(定義)すれば、フルパス(ファイルの場所を漏れなくすべて記載した情報)でコマンドを指定しなくとも、認証情報と設定ファイルを実行することができます。具体的な環境変数の例を記載すると以下のようになります。
コマンドを実行する前に環境変数をセットすれば、コマンドオプションを使用して認証情報や設定ファイルを使用しなくてもコマンドが実行できるため、操作が非常にスムーズになります。すでに認証情報や設定ファイルが作成されている場合でも、環境変数が優先されます。
AWS CLIを使って、AWSのサービスをコマンド入力で使用できるようになると、業務効率の向上や人的ミスの軽減などが期待できます。操作手順のマニュアル作成の際や担当引き継ぎの際にもコマンド情報を残しておけばすむので非常にスムーズです。また、AWSはAPIと相性も良く、プログラミング言語で作成したスクリプトにより更なる自動化も期待できます。
AWS CLIには自動化をさらに助けてくれるオプションや、入力補助ツールもありますので、積極的に活用し管理の効率性を高めていきましょう。
24時間365日対応可能なクラウド監視・運用代行で、あなたをシステム運用から解放します!
クラウド運用に興味がある人に読んで欲しいコラム:
自社のクラウド導入に必要な知識、ポイントを
この1冊に総まとめ!
初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。
クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・
など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。
NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!
特に以下に当てはまる方はお気軽に
ご相談ください。
クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。