AWS CLIの使い方は?インストールから使用方法まで解説!
thumb_awscli_01
AWS CLIの使い方は?インストールから使用方法まで解説!
アンドエンジニア編集部
2022.05.18
この記事でわかること
AWS CLIはAWSサービス管理の統合ツールです
AWS CLIで作業手順をスクリプト化し、運用自動化や作業品質の均一化が図られます
AWS CLIはほとんどのAWSサービスで利用可能のため生産性向上が期待できます

AWS CLIとは?

img_awscli_01

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の動作環境

AWS CLIは、以下の動作環境を想定しています。

LinuxやmacOS  bash・zsh・tcshのようなシェルからコマンド起動が可能です。

Windows  WindowsのコマンドプロンプトやPowerShellが利用可能です。

リモート操作  PuTTY・SSHのリモートターミナルやAWS Systems Managerを用いて、Amazon Elastic Compute Cloud(Amazon EC2)のインスタンス操作が可能です。

AWS 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の使い方

img_awscli_02

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の学習方法や資格

img_awscli_03

ここでは、AWS CLIを学習するための書籍の紹介や、関連資格にはどのようなものがあるのかをまとめました。

AWS CLIに関する資格

AWS CLIに特化した資格はありませんが、関連する資格の1つに「AWS認定ソリューションアーキテクト - アソシエイト」があります。

こちらの試験の受験対象に「AWS マネジメントコンソールおよび AWS コマンドラインインターフェイス (CLI) の使用に精通していること」と記載があるため、AWS認定ソリューションアーキテクト - アソシエイトの資格取得を目指す上で、CLIの理解は必須項目となります。せっかくAWS CLIを学ぶのであれば、資格取得に向けた学習を行いましょう。

【参考】:AWS Certified Solutions Architect – Associate

AWS認定ソリューションアーキテクトとは?アソシエイトは難易度低い?

AWS CLIの学習におすすめの本

AWS CLIの学習に欠かせないのが書籍の活用です。AWSの仕様に関してわかりやすくまとめられているので、最低1冊は手元に置いておき、いつでも辞書代わりに使用できるようにしましょう。下記で当記事おすすめの参考書と、上記で紹介した資格について学べる参考書をご紹介します。

「AWSではじめる クラウド開発入門」 こちらは、東京大学の講義内容「システム情報工学特論」の資料の一部を盛り込んだ参考書です。初心者を対象に、クラウドに関する基礎的な知識や概念をわかりやすく解説しています。CLIについても豊富な図解によってまとめられているため、最後まで挫折せずに読み進めることが可能です。

【参考】:AWSではじめる クラウド開発入門

「AWS認定資格試験テキスト AWS認定ソリューションアーキテクト - アソシエイト 改訂第2版」 本書は、AWS認定ソリューションアーキテクト - アソシエイトの試験対策本です。2020年に改訂された「SAA-C02」試験に対応しており、合格に必要なカテゴリが詰め込まれており、練習問題と模擬問題も付いています。AWSについて深く理解することでCLIへの理解もしやすくなるでしょう。

【参考】:AWS認定資格試験テキスト AWS認定ソリューションアーキテクト - アソシエイト 改訂第2版

AWSのおすすめ本を徹底比較!入門者・中級者が効率的に学べる本

AWS CLIを活用し運用自動化に向けて生産性を高めよう

img_awscli_04

AWSは、豊富なサービスに加えて管理のしやすさに定評があります。AWS CLIはAWSサービス管理を行う運用者に依存しないスクリプト実行を提供するため、さらなる作業の均一化が可能です。AWS CLIを用い、手順化することで運用生産性が高まります。ぜひAWS CLIを業務に活用していきましょう。

気になる人のXをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

Sponsored
【無料個別転職相談会】アプリケーションエンジニア向け!リモート・在宅勤務で働きたい方へ
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
はじめて転職される方へ
SE・システムエンジニア(IT/通信/インターネット) 求人一覧

編集部おすすめコンテンツ

Sponsored
【無料個別転職相談会】アプリケーションエンジニア向け!リモート・在宅勤務で働きたい方へ
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT