AWS Command Line Interface
ユーザーガイド

AWS Command Line Interface とは

重要

2020 年 1 月 10 日に、AWS CLI バージョン 1.17 以降で、Python 2.6 または Python 3.3 のサポートが終了します。この日以降、AWS CLI のインストーラで AWS CLI を正しくインストールするには、Python 2.7、Python 3.4、またはそれ以降のバージョンが必要になります。詳細については、このガイドの「Python 2.6 または Python 3.3 での AWS CLI の使用」、およびこのブログ投稿の廃止に関するお知らせを参照してください。

AWS Command Line Interface (AWS CLI) は、コマンドラインシェルでコマンドを使用して AWS サービスとやり取りするためのオープンソースツールです。最小限の設定で、使い慣れたターミナルプログラムのコマンドプロンプトから、ブラウザベースの AWS マネジメントコンソール で提供される機能と同等の機能の使用を開始できます。

  • Linux シェルbashzshtcsh などの一般的なシェルプログラムを使用して、Linux, macOS, or Unix でコマンドを実行します。

  • Windows コマンドライン – Windows で、PowerShell または Windows コマンドプロンプトでコマンドを実行します。

  • リモート – PuTTY や SSH などのリモートターミナルを通じて、または AWS Systems Manager システムマネージャーを使用して、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスでコマンドを実行します。

AWS マネジメントコンソール で使用できる AWS IaaS (infrastructure as a Service) の管理、運用、アクセスの全機能は、AWS API と CLI でも使用できます。AWS マネジメントコンソール で使用できる AWS IaaS の新しい機能およびサービスは、開始時、または開始から 180 日以内に、API と CLI からも使用できます。

AWS CLI では、AWS のサービスのパブリック API に直接アクセスできます。AWS CLI を使用してサービスの機能を調べ、シェルスクリプトを開発してリソースを管理できます。または、AWSSDK を使用して、他の言語でのプログラム開発で得た経験を活用することもできます。

低レベルの同等の API コマンドに加えて、複数の AWS サービスでは AWS CLI のカスタマイズを提供します。カスタマイズには、複雑な API によるサービスの使用を簡略化する高レベルのコマンドが含まれます。たとえば、Amazon Simple Storage Service (Amazon S3) の一連のコマンドでは、使い慣れた構文を使用して aws s3 のファイルを管理できます。

例 Amazon S3 へのファイルのアップロード

aws s3 cp はシェルに類似したコピーコマンドを提供し、マルチパートアップロードを自動的に実行して、大きなファイルをすばやく復元力の高い方法で転送します。

$ aws s3 cp myvideo.mp4 s3://mybucket/

同じタスクを低レベルのコマンド (aws s3api で使用可能) で実行すると、はるかに多くの労力がかかります。

ユースケースによっては、AWS SDK のいずれか、または AWS Tools for PowerShell を使用することをお勧めします。

GitHub の aws-cli レポジトリで、AWS CLI のソースコードを表示 (およびフォーク) できます。GitHub でユーザーのコミュニティに参加して、フィードバックを提供したり、機能をリクエストしたり、独自の投稿を提出したりしてください。

このガイドにある例を使用する

このガイドの例は、次の規則に従った形式となります。

  • プロンプト – コマンドプロンプトは通常、ドル記号にスペースを追加した形式 ($ ) で表示されます。Windows 固有のコマンドでは、C:\> はプロンプトとして使用されます。コマンドを入力する際にプロンプトを含めないようにしてください。

  • ディレクトリ – 特定のディレクトリからコマンドを実行する必要がある場合は、プロンプト記号の前にディレクトリ名が表示されます。

  • ユーザー入力 – コマンドラインに入力する必要があるコマンドテキストは、user input の形式となります。

  • 置き換え可能なテキスト – 選択したリソースの名前、またはコマンドに含める必要のある AWS のサービスによって生成された ID を含む変更可能なテキストで、replaceable text の形式となります。複数行のコマンドまたは特定のキーボード入力が必要なコマンドの場合、キーボードコマンドも置き換え可能なテキストとして表示できます。

  • 出力 – AWS サービスによって返される出力は、computer output の形式でユーザー入力の下に表示されます。

たとえば、次のコマンドには、ユーザー入力、置き換え可能なテキスト、出力が含まれています。

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: ENTER

この例を使用するには、コマンドラインに「aws configure」と入力し、Enter キーを押します。aws configure はコマンドです。このコマンドはインタラクティブであるため、AWS CLI はテキストの行を出力し、追加情報の入力が求められます。各アクセスキーを順に入力して、[Enter] キーを押します。その後、表示されている形式で AWS リージョン名を入力して Enter キーを押し、最後に Enter キーをもう一度押して出力形式の設定をスキップします。最後の Enter コマンドは、その行にユーザー入力がないため、置き換え可能なテキストとして表示されます。それ以外の場合は、暗黙的に示されます。

以下の例では、JSON 形式でサービスからの出力がある単純な非インタラクティブコマンドを示します。

$ aws ec2 create-security-group --group-name my-sg --description "My security group" { "GroupId": "sg-903004f8" }

この例を使用するには、コマンドのフルテキスト (プロンプトの後の強調表示されたテキスト) を入力し、Enter キーを押します。セキュリティグループの名前 my-sg は、置き換え可能です。この場合は、表示されているようにグループ名を使用できますが、分かりやすい名前を使用する方がよいかもしれません。

注記

必ず置き換える必要のある引数 (AWS Access Key ID など) と、置き換えるべき引数 (group name など) はいずれも、置き換え可能な斜体のテキストとして表示されます。引数を置き換える必要がある場合は、例を示すテキストにその旨が記載されています。

JSON ドキュメントは中括弧を含めて出力です。CLI を TEXT または TABLE 形式で出力するように設定した場合、出力は異なる形式になります。JSON がデフォルトの出力形式です。

アマゾン ウェブ サービスについて

アマゾン ウェブ サービス(AWS)は、開発者がアプリケーションの開発時に利用できるデジタルインフラストラクチャサービスの集合体です。サービスには、演算能力、ストレージ、データベース、アプリケーション同期 (メッセージングとキューイング) があります。AWS は従量制サービスモデルを採用しています。料金が発生するのは、ユーザー(すなわちユーザのアプリケーション)が実際に使用したサービスの分のみです。また、AWS をプロトタイプと実験用のプラットフォームとして利用しやすくするために、AWS には無料利用枠も用意されています。この枠では、サービスを利用しても一定のレベル以下であれば無料です。AWS のコストと無料利用枠に関する詳細については、「無料利用枠による AWS のテスト」を参照してください。AWS アカウントを取得するには、AWS ホームページを開き、[Sign Up] をクリックします。