
AWS CLIをインストールすると、コマンドライン操作でAWSを効率的に管理できるようになります。AWSマネジメントコンソールのGUI操作と比較して、AWS CLIにはどのようなメリットがあるのでしょうか。本記事では、AWS CLI(Command Line Interface)の基本概念から導入方法、実践的な使い方まで詳しく解説します。
※ダウンロード資料
人手不足解消・業務効率化・コスト削減を叶える!今から始めるAWS完全ガイド
目次
AWS CLIとは?基本概念を理解しよう
AWS CLI(Command Line Interface)は、AWSサービスをコマンドライン操作で管理できるツールです。従来のAWSマネジメントコンソールによるGUI操作とは異なり、テキストベースのコマンド入力でAWSリソースの作成、設定、管理を行います。
AWS CLIの特徴として、以下の点が挙げられます。
統一されたインターフェース
AWS CLIは、Amazon EC2、Amazon S3、Amazon RDS、AWS Lambdaなど、AWSの主要サービスを統一されたコマンド体系で操作できます。これにより、サービス間の連携作業や複合的な処理を効率的に実行できます。
スクリプト化による自動化
コマンドライン操作の最大の利点は、処理をスクリプト化できることです。定期的なバックアップ作業、リソースの一括作成、監視データの取得など、反復的な作業を自動化することで、運用効率を大幅に向上させることができます。
AWS CLIを導入する5つのメリット
AWS CLIを導入することで、以下の5つの重要なメリットが得られます。
1. 運用作業の大幅な効率化
AWS CLIを使用することで、GUI操作では時間のかかる作業を短時間で完了できます。例えば、複数のAmazon EC2インスタンスの状態確認や、Amazon S3バケット内の大量ファイル操作など、従来数十分かかっていた作業を数秒で実行可能です。
2. 人的ミスの削減とリスク管理
手動でのGUI操作では、設定ミスや操作ミスが発生しやすいものです。AWS CLIによるスクリプト化された操作は、事前にテストされた手順を正確に実行するため、ヒューマンエラーを大幅に削減できます。
3. 属人化の解消と引き継ぎの簡素化
複雑な運用手順をスクリプトとして記録することで、担当者が変わっても同じ品質で作業を継続できます。従来のスクリーンショット付きマニュアルと比較して、引き継ぎ資料の作成時間を大幅に短縮できます。
4. クラウド資源の自動連携
AWS CLIスクリプトを活用することで、複数のAWSサービス間でのデータ連携や、条件に基づいた自動スケーリングなど、高度な自動化システムを構築できます。
5. CI/CDパイプラインとの統合
DevOpsの実践において、AWS CLIは継続的インテグレーション/継続的デリバリー(CI/CD)パイプラインの重要なコンポーネントとなります。GitHub ActionsやJenkinsなどのソフトウェア開発を自動化するツールと組み合わせることで、完全自動化されたデプロイメント環境を構築できます。
AWS CLIの利用手順
AWS CLIを利用するには、AWS CLIをダウンロード・インストールし、環境を整える必要があります。AWS CLIの利用手順について、5つのステップにまとめて紹介します。
1.AWS CLIバージョン2のインストール(Windows・MacOS)
最初に、AWS CLIのインストールから始めましょう。2025年8月時点の最新バージョンはバージョン2です。
Windows OSの場合
以下のURLよりインストールイメージをダウンロードし、実行するとインストールできます。
ダウンロードURL(64ビット版):https://awscli.amazonaws.com/AWSCLIV2.msiを使用します。
インストールできたかどうかは、コマンドプロンプトを起動して以下のコマンドで確認してください。
C:\> aws -version
Mac OSの場合
以下よりmacOS pkgファイルをダウンロードして、ファイルをダブルクリックし、画面の指示に沿ってインストールを進めてください。
ダウンロードURL(64ビット版):https://awscli.amazonaws.com/AWSCLIV2.pkgを使用します。
sudo アクセス許可がある場合は、以下のコマンドブロックを使うと、すべてのユーザーを対象に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コマンドを、サービス別に整理して紹介します。
Amazon EC2 操作
インスタンス管理の基本コマンド
bash
# 全インスタンスの一覧表示
aws ec2 describe-instances
# 実行中のインスタンスのみ表示
aws ec2 describe-instances --filters "Name=instance-state-name,Values=running"
# 特定のインスタンスの詳細情報
aws ec2 describe-instances --instance-ids i-1234567890abcdef0
# インスタンスの起動
aws ec2 start-instances --instance-ids i-1234567890abcdef0
# インスタンスの停止
aws ec2 stop-instances --instance-ids i-1234567890abcdef0
# 新しいインスタンスの作成
aws ec2 run-instances \
--image-id ami-0c02fb55956c7d316 \
--count 1 \
--instance-type t3.micro \
--key-name my-key-pair \
--security-groups my-security-group
Amazon S3 操作
バケットとオブジェクト管理
bash
# バケット一覧の表示
aws s3 ls
# 特定バケット内のオブジェクト一覧
aws s3 ls s3://my-bucket/ --recursive
# ファイルのアップロード
aws s3 cp local-file.txt s3://my-bucket/
# ファイルのダウンロード
aws s3 cp s3://my-bucket/remote-file.txt ./
# ディレクトリの同期
aws s3 sync ./local-directory s3://my-bucket/remote-directory/
# バケットの作成
aws s3 mb s3://my-new-bucket
# バケットの削除(空の場合)
aws s3 rb s3://my-bucket
Amazon RDS 操作
データベース管理
bash
# RDSインスタンス一覧
aws rds describe-db-instances
# 特定のDBインスタンス情報
aws rds describe-db-instances --db-instance-identifier mydb
# スナップショット作成
aws rds create-db-snapshot \
--db-instance-identifier mydb \
--db-snapshot-identifier mydb-snapshot-$(date +%Y%m%d)
# スナップショット一覧
aws rds describe-db-snapshots --db-instance-identifier mydb
AWS Lambda 関数操作
サーバーレス関数の管理
bash
# Lambda関数一覧
aws lambda list-functions
# 関数の実行
aws lambda invoke \
--function-name my-function \
--payload '{"key": "value"}' \
response.json
# 関数の更新
aws lambda update-function-code \
--function-name my-function \
--zip-file fileb://function.zip
AWS IAM 操作
権限管理
bash
# IAMユーザー一覧
aws iam list-users
# IAMロール一覧
aws iam list-roles
# ユーザーにポリシーをアタッチ
aws iam attach-user-policy \
--user-name my-user \
--policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
# ユーザーの権限確認
aws iam list-attached-user-policies --user-name my-user
AWS CloudFormation操作
インフラストラクチャ管理
bash
# スタック一覧
aws cloudformation list-stacks
# スタックの作成
aws cloudformation create-stack \
--stack-name my-stack \
--template-body file://template.yaml \
--parameters ParameterKey=Environment,ParameterValue=production
# スタックの状態確認
aws cloudformation describe-stacks --stack-name my-stack
# スタックの削除
aws cloudformation delete-stack --stack-name my-stack
AWS CLIを使った運用管理の自動化は専門家に相談しよう
AWS CLIは、AWSの運用管理を自動化するために欠かせない技術です。しかし、運用管理者にコマンドラインでのプログラム実行の経験がない場合、一から勉強する必要があり、自動化までに時間がかかってしまいます。自社にコマンドラインやシェルスクリプトに関する技術者がいない場合は、運用の自動化について、専門家に相談すると効率が良いでしょう。
TOKAIコミュニケーションズでは、運用管理サービスとして「AWS運用管理」を使用します。を提供しています。お客様環境のモニタリング、24時間365日の運用管理、最適化などAWSの運用に関することについて、お気軽にご相談ください。
関連サービス
おすすめ記事
-
2024.08.28
セキュリティ・バイ・デザイン入門|AWSで実現するセキュリティ・バイ・デザイン
-
2024.04.10
AWSを使って障害に強い環境を構築するポイント(システム監視編)
-
2023.07.04
クラウド利用時に知っておくべきセキュリティ知識【基礎編】
-
2023.06.15
AWSでゼロトラストセキュリティを実現する方法や、メリットをわかりやすく解説!
-
2023.06.05
AWSのセキュリティ対策は大丈夫? オンプレミスとの違いやセキュリティ関連のAWSサービスを紹介!