AWS CLIとは?
AWS CLIとは、AWS コマンドラインインターフェイス(Command Line Interface)の略で、AWSサービス管理の統合ツールを指します。AWS CLIを活用することで、AWSの管理作業が一層効率的に進められるでしょう。
【参考】:AWS コマンドラインインターフェイス
CLIのメリット・デメリット
CLIのメリットは、運用管理における作業手順の標準プロセス化が可能なことです。具体的には作業の操作をコマンドラインに記述し実行可能なため、スクリプト化ができることでスクリプト実行による作業品質の均一化が可能です。さらに、複数の作業手順をスクリプト実行することで、運用管理の自動化が期待できます。
CLIのデメリットとしては、詳細なオプション含む手続きを指定する必要があるので、AWSサービスの深い知識が求められることです。そのため初心者には利用のハードルが高いと言えるでしょう。
GUIのメリット・デメリット
コマンドラインインターフェースの操作であるCLIに対して、グラフィカルユーザインターフェース(Graphical User Interface)の操作環境として「GUI」があります。AWSではAWSマネジメントコンソールが該当します。GUIのメリットは、管理操作を感覚的に操作できるため初心者でも対応しやすいことがあります。
GUIのデメリットとしては、処理の結果が全て得られるわけではないため、詳細な状況確認が難しいことがあります。加えて、人間のGUI操作を伴うので自動化しにくい点が挙げられます。
AWS CLIの動作環境
AWS CLIは、以下の動作環境を想定しています。
・LinuxやmacOS bash・zsh・tcshのようなシェルからコマンド起動が可能です。
・Windows WindowsのコマンドプロンプトやPowerShellが利用可能です。
・リモート操作 PuTTY・SSHのリモートターミナルやAWS Systems Managerを用いて、Amazon Elastic Compute Cloud(Amazon EC2)のインスタンス操作が可能です。
AWS CLIの対応AWSサービス
AWS CLIは、AWSマネジメントコンソールと同等の管理作業を提供します。対応サービスは、2022年2月現在サービスオプションを含めて227のAWSサービスに対応します。
Amazon Elastic Compute Cloud(Amazon EC2)はコンピューティングサービスですので、サーバ用途に用います。サーバ運用管理者はCLIを用いて運用手順を作成することが多いので、AWS CLIはAmazon EC2の運用に最適と言えるでしょう。
【参考】:AWS クラウド製品
AWS CLIの使い方
AWS CLIはインストール・設定完了後、必要とされるAWS管理に使用可能です。操作方法は、以下の構文で実行します。
aws [オプション] <コマンド> <追加コマンド> [引数]
【参考】:AWS CLI Command Reference
各AWSサービスへの接続や管理については、以下のリンクに詳細が記載されています。詳細についてはお使いのAWSサービスのリンクをご確認ください。
【参考】:AWS CLI Command Reference Available Service
AWS CLIで指定するオプションは?
AWS CLIのオプションは、以下のように指定が可能です。必要に応じてオプション指定が可能です。
・--debug(boolean) デバッグモードでの実行
・--endpoint-url(string) コマンドのデフォルトURLの変更
・--no-verify-ssl(boolean) AWSサービスと通信時のSSL証明書の確認をしない
・--no-paginate(boolean) 自動ページ割をしない
・--output(string) コマンド出力をjson/text/tableに指定
・--query(string) データをJMESPathでフィルター
・--profile(string) 資格確認のプロファイルを指定
・--region(string) 使用リージョンを指定
・--version(string) ツールバージョンを表示
・--color(string) 出力のカラー指定 on/off/auto
・--no-sign-request(boolean) 匿名の認証情報を使用
・--ca-bundle(string) SSL認証で用いるCA認証バンドルを指定
・--cli-read-timeout(int) ソケットのリードタイムアウト 0でタイムアウトなし
・--cli-connect-timeout(int) ソケットの接続タイムアウト 0でタイムアウトなし
AWS CLIのインストール方法
AWS CLIのDocker・Linux・MacOS・Windowsのインストール手順の概要は、次の通りです。
・Docker DockerHubからamazon/aws-cli Dockerイメージを実行します。
・Linux Linux x86(64bit)/Linux ARMそれぞれに対応するawscliv2.zipを、curlコマンドでインストールします。
・MacOS AWSCLIV2.pkgを、curlコマンドでインストールします。インストールするユーザに応じ、sudoコマンドを指定します。
・Windows msiexecコマンドで、AWSCLIV2.msiをインストールします。
詳細なインストール方法は、以下のリンクに記載されています。Docker・Linux・MacOS・Windowsのインストール手順について説明しているので、ぜひご活用ください。
【参考】:AWS CLI バージョン 2 のインストール、更新、およびアンインストール
AWS CLIの設定方法
AWS CLIはインストール完了後に初期設定が必要です。設定完了後に、用途に応じたAWS CLIの活用が可能です。AWS CLIの設定は多岐に渡るため、最初に[AWS CLI 設定の基本]のページに従い設定を進め、必要に応じて設定調整するのが良いでしょう。
【参考】:AWS CLI の設定
ここでは、[AWS CLI 設定の基本]のページでカバーされるAWS CLIの設定について概要を説明します。
最初の設定方法として、aws configureを活用することをおすすめします。aws configureコマンドで、「アクセスキーID・シークレットアクセスキー・AWSリージョン・出力形式」を一括設定した後、修正が必要な項目を別途設定していきます。設定項目は以下の通りです。
・アクセスキーID AWS Identity and Access Management(IAM)の認証と認可で用いるIAMユーザアクセスIDです。
・シークレットアクセスキー AWS Identity and Access Management(IAM)のアカウント認証情報でアクセスキー作成時に使います。
・AWSリージョン AWSの地域単位で、通常最寄りのAWSリージョンとします。
・出力形式 結果の出力形式ではデフォルトでjsonとなります。その他yaml/yaml-stream/text/tableが指定可能です。
その後、aws configureコマンドでプロファイル名を指定し、AWS CLIの設定を保存します。
AWS CLIの指定方法による優先順位は?
AWS CLI実行時には、システム変数・ユーザー環境変数・ローカル AWS 設定ファイル・コマンドラインに設定の追加指定が可能です。この追加指定には指定優先順位があり、以下の順で指定内容が設定されます。
(1)コマンドラインのオプション
(2)環境変数
(3)CLI 認証情報ファイル
(4)CLI 設定ファイル
(5)コンテナ認証情報
(6)インスタンスプロファイルの認証情報
【参考】:AWS CLI 設定の基本
AWSのaws-shellとは?
aws-shellとは、AWS CLIの機能をシェルに組み込んだものです。コマンドオートコンプリート機能や動的インラインドキュメント機能を有し、さらに生産性が高まることが期待されています。
【参考】:AWS Developer Blog Super-Charge Your AWS Command-Line Experience with aws-shell
AWS CLIの学習方法や資格
ここでは、AWS CLIを学習するための書籍の紹介や、関連資格にはどのようなものがあるのかをまとめました。
AWS CLIに関する資格
AWS CLIに特化した資格はありませんが、関連する資格の1つに「AWS認定ソリューションアーキテクト - アソシエイト」があります。
こちらの試験の受験対象に「AWS マネジメントコンソールおよび AWS コマンドラインインターフェイス (CLI) の使用に精通していること」と記載があるため、AWS認定ソリューションアーキテクト - アソシエイトの資格取得を目指す上で、CLIの理解は必須項目となります。せっかくAWS CLIを学ぶのであれば、資格取得に向けた学習を行いましょう。
【参考】:AWS Certified Solutions Architect – Associate
AWS CLIの学習におすすめの本
AWS CLIの学習に欠かせないのが書籍の活用です。AWSの仕様に関してわかりやすくまとめられているので、最低1冊は手元に置いておき、いつでも辞書代わりに使用できるようにしましょう。下記で当記事おすすめの参考書と、上記で紹介した資格について学べる参考書をご紹介します。
「AWSではじめる クラウド開発入門」 こちらは、東京大学の講義内容「システム情報工学特論」の資料の一部を盛り込んだ参考書です。初心者を対象に、クラウドに関する基礎的な知識や概念をわかりやすく解説しています。CLIについても豊富な図解によってまとめられているため、最後まで挫折せずに読み進めることが可能です。
【参考】:AWSではじめる クラウド開発入門
「AWS認定資格試験テキスト AWS認定ソリューションアーキテクト - アソシエイト 改訂第2版」 本書は、AWS認定ソリューションアーキテクト - アソシエイトの試験対策本です。2020年に改訂された「SAA-C02」試験に対応しており、合格に必要なカテゴリが詰め込まれており、練習問題と模擬問題も付いています。AWSについて深く理解することでCLIへの理解もしやすくなるでしょう。
【参考】:AWS認定資格試験テキスト AWS認定ソリューションアーキテクト - アソシエイト 改訂第2版
AWS CLIを活用し運用自動化に向けて生産性を高めよう
AWSは、豊富なサービスに加えて管理のしやすさに定評があります。AWS CLIはAWSサービス管理を行う運用者に依存しないスクリプト実行を提供するため、さらなる作業の均一化が可能です。AWS CLIを用い、手順化することで運用生産性が高まります。ぜひAWS CLIを業務に活用していきましょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから