翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ソース AWS CLI からの の構築とインストール
このトピックでは、サポートされているオペレーティングシステムに AWS Command Line Interface (AWS CLI) の最新リリースをインストールまたは更新する方法について説明します。
の最新リリースについては AWS CLI、 AWS CLI のバージョン 2 の変更ログ
重要
AWS CLI バージョン 1 と 2 は同じaws
コマンド名を使用します。 AWS CLI バージョン 1 を以前にインストールした場合は、「」を参照してくださいAWS CLI バージョン 1 から AWS CLI バージョン 2 への移行。
トピック
ソースからビルドする理由
AWS CLI は、ほとんどのプラットフォームと環境、および Docker イメージ用に構築済みのインストーラとして使用できます。
通常、これらのインストーラーはほとんどのユースケースに対応しています。ソースからインストールする手順は、インストーラーがカバーしていないユースケースに役立てるためのものです。ユースケースには次のようなものがあります。
-
ビルド済みインストーラーは、使用中の環境をサポートしていません。例えば、32 ARM ビットは事前構築済みのインストーラではサポートされていません。
-
ビルド済みインストーラーには、使用中の環境にはない依存関係があります。例えば、Alpine Linux では
musl
を使用していますが、現在のインストーラーでは glibc
が必要になるため、ビルド済みインストーラーがすぐに動作しません。 -
ビルド済みインストーラーには、使用中の環境によってアクセスが制限されているリソースが必要です。例えば、セキュリティが強化されたシステムでは、共有メモリへのアクセス許可が与えられない場合があります。これはフリーズした
aws
インストーラーに必要です。 -
コードとパッケージのビルドプロセスは完全に制御されることが望ましいため、ビルド済みインストーラーは、パッケージマネージャーのメンテナンス担当者にとって障害となることがよくあります。ソースから構築することで、ディストリビューションメンテナーはより合理化されたプロセスで AWS CLI を更新できます。メンテナーを有効にすると
brew
、、、 などのサードパーティーのパッケージマネージャーから をインストールする AWS CLI ときにyum
、より多くの up-to-dateバージョンの がお客様に提供されますapt
。 -
パッチ AWS CLI 機能を使用するお客様は、ソース AWS CLI から を構築およびインストールする必要があります。これは、 AWS CLI GitHub リポジトリに変更を加える前に、ソースに加えた変更をテストしたいコミュニティメンバーにとって特に重要です。
クイックステップ
注記
すべてのコード例は、ソースディレクトリのルートから実行されることを前提としています。
ソース AWS CLI から を構築してインストールするには、このセクションの手順に従ってください。は GNU Autotools
-
環境のすべての要件を設定します。これには、GNUAutotools
で生成されたファイルを実行できることや、Python 3.8 以降がインストールされていることが含まれます。 -
ターミナルで、 AWS CLI ソースフォルダの最上位に移動し、
./configure
コマンドを実行します。このコマンドは、必要なすべての依存関係についてシステムをチェックし、検出および指定された設定 AWS CLI に基づいて を構築およびインストールMakefile
するための を生成します。詳細、使用可能な構成オプション、およびデフォルト設定情報については、「ステップ 2: AWS CLI ソースインストールの構成 」セクションを参照してください。
-
make
コマンドを実行します。このコマンドは、設定 AWS CLI に従って を構築します。次の
make
コマンド例は、既存の./configure
設定を使用してデフォルトオプションでビルドされます。詳細と使用可能なビルドオプションについては、「ステップ 3: AWS CLIの構築」セクションを参照してください。
-
make install
コマンドを実行します。このコマンドは、ビルドされた AWS CLI をご使用のシステム上で構成された場所にインストールします。次の
make install
コマンド例では、デフォルトのコマンド設定を使用して、ビルドされた AWS CLI をインストールし、構成された場所にシンボリックリンクを作成します。詳細と使用可能なインストールオプションについては、「ステップ 4: AWS CLIのインストール」セクションを参照してください。
-
次のコマンドを使用して、正常にインストール AWS CLI された を確認します。
$
aws --version
aws-cli/2.17.20 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
インストールエラーのトラブルシューティングの手順については、「AWS CLI インストールおよびアンインストールエラーのトラブルシューティング」セクションを参照してください。
ステップ 1: すべての要件の設定
ソース AWS CLI から を構築するには、事前に以下を完了する必要があります。
注記
すべてのコード例は、ソースディレクトリのルートから実行されることを前提としています。
AWS CLI GitHub リポジトリを削除するか、 AWS CLI ソース tarball をダウンロードして、ソースをダウンロードします。手順は、以下のいずれかです。
-
からAWS CLI リポジトリ
をフォークしてクローンしますGitHub。詳細については、 GitHubDocs の「リポジトリをフォーク する」を参照してください。 -
次のコマンドを使用して、最新のソース tarball を https://awscli.amazonaws.com/awscli.tar.gz
でダウンロードし、コンテンツを抽出します。 $
curl -o awscli.tar.gz https://awscli.amazonaws.com/awscli.tar.gz
$
tar -xzf awscli.tar.gz
注記
特定のバージョンをダウンロードするには、次のリンク形式を使用します: https://awscli.amazonaws.com/awscli-
versionnumber
.tar.gz例えば、バージョン 2.10.0 の場合、リンクは次のようになります: https://awscli.amazonaws.com/awscli-
2.10.0
.tar.gzソースバージョンは、 AWS CLIの 2.10.0 のバージョン以降で使用できます。
(オプション) 以下の手順を完了してダウンロードした zip ファイルの整合性を確認する
-
GnuPG
ツールを使用してこの署名を検証するには、次のステップを行います。AWS CLI インストーラパッケージ
.zip
ファイルは、PGP署名を使用して暗号化的に署名されます。ファイルの破損や変更がある場合、この検証は失敗します。その場合、インストールを続行しないでください。 -
ご利用のパッケージマネージャーを使用し、
gpg
コマンドをダウンロードしてインストールします。GnuPG
の詳細については、GnuPG のウェブサイトを参照してください。 -
パブリックキーファイルを作成するには、テキストファイルを作成し、次のテキストに貼り付けます。
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G TfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYz gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG 94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4WIQT7 Xbd/1cEYuAURraimMQrMRnJHXAUCXYKvtQIbAwUJB4TOAAULCQgHAgYVCgkICwIE FgIDAQIeAQIXgAAKCRCmMQrMRnJHXJIXEAChLUIkg80uPUkGjE3jejvQSA1aWuAM yzy6fdpdlRUz6M6nmsUhOExjVIvibEJpzK5mhuSZ4lb0vJ2ZUPgCv4zs2nBd7BGJ MxKiWgBReGvTdqZ0SzyYH4PYCJSE732x/Fw9hfnh1dMTXNcrQXzwOmmFNNegG0Ox au+VnpcR5Kz3smiTrIwZbRudo1ijhCYPQ7t5CMp9kjC6bObvy1hSIg2xNbMAN/Do ikebAl36uA6Y/Uczjj3GxZW4ZWeFirMidKbtqvUz2y0UFszobjiBSqZZHCreC34B hw9bFNpuWC/0SrXgohdsc6vK50pDGdV5kM2qo9tMQ/izsAwTh/d/GzZv8H4lV9eO tEis+EpR497PaxKKh9tJf0N6Q1YLRHof5xePZtOIlS3gfvsH5hXA3HJ9yIxb8T0H QYmVr3aIUes20i6meI3fuV36VFupwfrTKaL7VXnsrK2fq5cRvyJLNzXucg0WAjPF RrAGLzY7nP1xeg1a0aeP+pdsqjqlPJom8OCWc1+6DWbg0jsC74WoesAqgBItODMB rsal1y/q+bPzpsnWjzHV8+1/EtZmSc8ZUGSJOPkfC7hObnfkl18h+1QtKTjZme4d H17gsBJr+opwJw/Zio2LMjQBOqlm3K1A4zFTh7wBC7He6KPQea1p2XAMgtvATtNe YLZATHZKTJyiqA== =vYOk -----END PGP PUBLIC KEY BLOCK-----
参考までに、パブリックキーの詳細を以下に示します。
Key ID: A6310ACC4672 Type: RSA Size: 4096/4096 Created: 2019-09-18 Expires: 2023-09-17 User ID: AWS CLI Team <aws-cli@amazon.com> Key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
-
次のコマンドを使用して AWS CLI パブリックキーをインポートし、置き換えます。
public-key-file-name
作成したパブリックキーのファイル名。$
gpg --import
public-key-file-name
gpg: /home/
username
/.gnupg/trustdb.gpg: trustdb created gpg: key A6310ACC4672475C: public key "AWS CLI Team <aws-cli@amazon.com>" imported gpg: Total number processed: 1 gpg: imported: 1 -
https://awscli.amazonaws.com/awscli.tar.gz.sig
でダウンロードしたパッケージ AWS CLI の署名ファイルをダウンロードします。これは、対応する tarball ファイルと同じパスと名前を持っていますが、拡張子は .sig
です。tarball ファイルと同じパスに保存します。または、次のコマンドブロックを使用します。$
curl -o awscliv2.sig https://awscli.amazonaws.com/awscli.tar.gz.sig
-
署名を検証し、
.sig
ファイル名と.zip
ファイル名の両方をパラメータとしてgpg
コマンドに渡します。$
gpg --verify awscliv2.sig awscli.tar.gz
出力は以下の例のようになります。
gpg: Signature made Mon Nov 4 19:00:01 2019 PST gpg: using RSA key FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C gpg: Good signature from "AWS CLI Team <aws-cli@amazon.com>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
重要
出力内の警告は予想されており、問題を示すものではありません。これは、パーソナルPGPキー (持っている場合) と AWS CLI PGPキーの間に信頼チェーンがないために発生します。詳細については、「信用の輪 (Web of Trust)
」を参照してください。
-
-
-
configure
や などの GNU Autotools生成ファイルを実行できる環境があります Makefile
。これらのファイルは、POSIXプラットフォーム間で広く移植されます。 -
Python 3.8 以降のインタープリタがインストールされています。必要な最小 Python バージョンは、 および Tools の AWS SDKs公式 Python サポートポリシー
と同じタイムラインに従います。インタープリタは、その日付から 6 か月後にのみサポートされます end-of-support。 -
(オプション) AWS CLIのビルドとランタイム Python ライブラリの依存関係をすべてインストールします。
./configure
コマンドは、不足している依存関係がないかどうか、また、そのインストール方法について通知します。これらの依存関係は、構成で自動的にインストールして使用できます。詳細については、「依存関係のダウンロード」を参照してください。
ステップ 2: AWS CLI ソースインストールの構成
を構築およびインストールするための設定 AWS CLI は、 configure
スクリプトを使用して指定されます。すべての構成オプションを文書化するには、--help
オプションを使用して configure
スクリプトを実行します。
最も重要なオプションは次のとおりです。
インストール場所
のソースインストール AWS CLI では、2 つの設定可能なディレクトリを使用して をインストールします AWS CLI。
-
libdir
- AWS CLI がインストールされる親ディレクトリ。 AWS CLI インストールへのパスは です
。Linux と macOS のデフォルト<libdir-value>
/aws-clilibdir
値は/usr/local/lib
で、デフォルトのインストールディレクトリを
にします/usr/local/lib
/aws-cli -
bindir
- AWS CLI 実行可能ファイルがインストールされているディレクトリ。デフォルトの場所は/usr/local/bin
です。
以下の configure
オプションは使用するディレクトリを制御します。
-
--prefix
- インストールに使用するディレクトリプレフィックスを設定します。Linux と macOS のデフォルト値は/usr/local
です。 -
--libdir
- AWS CLIのインストールに使用するlibdir
を設定します。デフォルト値は<prefix-value>/lib
です。--libdir
と--prefix
が両方とも指定されていない場合、Linux と macOS のデフォルトは/usr/local/lib/
です。 -
--bindir
- およびaws_completer
実行可能ファイルのインストールbindir
に使用する AWS CLIaws
を設定します。デフォルト値は<prefix-value>/bin
です。bindir
と--prefix
が両方とも指定されていない場合、Linux と macOS のデフォルトは/usr/local/bin/
です。
Python インタープリタ
注記
Windows にインストールする場合は、Python インタープリタを指定することを強くお勧めします。
./configure
スクリプトは、Autoconf マクロ AWS CLI を使用した の構築と実行に使用するインストール済みの Python 3.8 AM_PATH_PYTHON
使用する Python インタープリタは、configure
スクリプトの実行時に PYTHON
環境変数を使用して明示的に設定できます。
依存関係のダウンロード
デフォルトでは、 AWS CLI
のすべてのビルドとランタイムの依存関係がシステムに既にインストールされている必要があります。これには Python ライブラリの依存関係も含まれます。configure
スクリプトの実行時にすべての依存関係がチェックされ、システムに Python の依存関係がない場合、configure
スクリプトはエラーになります。
次のコード例は、システムに依存関係がない場合にエラーになります。
必要な Python 依存関係を自動的にインストールするには、--with-download-deps
オプションを使用してください。このフラグを使用すると、ビルドプロセスは次の処理を行います。
-
Python ライブラリの依存関係チェックをスキップします。
-
必要なすべての Python 依存関係をダウンロードし、ダウンロードされた依存関係のみを使用してビルド AWS CLI 中に
make
を構築するように設定します。
以下の configure コマンドの例では、--with-download-deps
オプションを使用して Python の依存関係をダウンロードおよび使用しています。
インストールタイプ
ソースインストールのプロセスでは、次のインストールタイプがサポートされます。
-
system-sandbox
- (デフォルト) 分離された Python 仮想環境を作成し、 AWS CLI を仮想環境にインストールし、仮想環境のaws
aws_completer
および 実行可能ファイルへのシンボリックリンクを行います。のこのインストール AWS CLI は、ランタイム用に選択した Python インタープリタに直接依存します。これは、システムに AWS CLI をインストールするための軽量インストールメカニズムであり、仮想環境でインストールをサンドボックス化することで Python のベストプラクティスに従います。このインストールは、Python のインストールと組み合わせたインストールで、可能な限りスムーズな方法でソース AWS CLI から をインストールしたいお客様を対象としています。
-
portable-exe
- をフリーズ AWS CLI して、同様のアーキテクチャの環境に分散できるスタンドアロン実行可能ファイルにします。これは、 AWS CLIの公式ビルド済み実行ファイルを生成するのと同じプロセスです。portable-exe
は、 AWS CLIのランタイムに使用するconfigure
ステップで選択した Python インタープリタのコピーをフリーズします。これにより、Python インタープリタがない他のマシンに移動させることができます。このタイプのビルドは、 AWS CLI インストールが環境のインストール済み Python バージョンに結合されていないことを確認し、Python がまだインストールされていない他のシステムにビルドを分散できるため便利です。これにより、使用する AWS CLI 実行可能ファイルの依存関係とセキュリティを制御できます。
インストールタイプを構成するには、--with-install-type
オプションを使用して portable-exe
または system-sandbox
の値を指定します。
次の ./configure
コマンド例は、portable-exe
の値を指定します。
ステップ 3: AWS CLIの構築
make
コマンドを使用して、設定 AWS CLI を使用して を構築します。
注記
make
コマンドを使用すると、次の手順がバックグラウンドで完了します。
-
仮想環境は、Python
venv
モジュールを使用してビルドディレクトリに作成されます。仮想環境は、Python 標準ライブラリにベンダリングされているバージョンの pip でブートストラップされます。 -
Python ライブラリの依存関係をコピーします。
configure
コマンドで--with-download-deps
フラグが指定されているかどうかに応じて、このステップは次のいずれかを実行します。-
--with-download-deps
は指定されます。Python の依存関係は pip でインストールされます。これには、wheel
、setuptools
、およびすべての AWS CLI ランタイム依存関係が含まれます。portable-exe
をビルドしている場合は、pyinstaller
がインストールされます。これらの要件はすべて、pip-compile
から生成されるロックファイルで指定されています。 -
--with-download-deps
は指定されません。Python インタープリタのサイトパッケージの Python ライブラリとスクリプト (例:pyinstaller
) は、ビルドに使用されている仮想環境にコピーされます。
-
-
AWS CLI コードベースで
pip install
直接実行して、オフラインのツリー内ビルドを実行し、ビルド仮想環境に をインストール AWS CLI します。このインストールでは、pip フラグ --no-build-isolation、--use-feature=in-tree-build 、--no-cache-dir 、および を使用します --no-index
。 -
(オプション)
configure
コマンドで--install-type
がportable-exe
に設定されている場合、pyinstaller
を使用してスタンドアロン実行ファイルをビルドします。
ステップ 4: AWS CLIのインストール
make install
コマンドは、ビルドされた AWS CLI をシステム上の設定済みの場所にインストールします。
make install
ルールは DESTDIR
注記
make install
コマンドを実行すると、次の手順がバックグラウンドで完了します。
-
次のいずれかを構成済みのインストールディレクトリに移動します。
-
インストールタイプが
system-sandbox
の場合、ビルドした仮想環境を移動します。 -
インストールタイプが
portable-exe
の場合、ビルドしたスタンドアロン実行ファイルを移動します。
-
-
構成した bin ディレクトリで、
aws
およびaws_completer
実行ファイルの両方にシンボリックリンクを作成します。
ステップ 5: インストールの検証
次のコマンドを使用して、正常にインストール AWS CLI された を確認します。
$
aws --version
aws-cli/2.17.20 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
aws
コマンドが認識されない場合は、新しいシンボリックリンクを更新するために、ターミナルの再起動が必要になる場合があります。のインストールまたはアンインストール後に追加の問題が発生した場合は AWS CLI、一般的なトラブルシューティング手順のエラーのトラブルシューティング AWS CLIについては、「」を参照してください。
ワークフローの例
このセクションでは、ソースからインストールするための基本的なワークフローの例をいくつか紹介します。
Linux および macOS の基本的なインストール
次の例は、 AWS CLI が のデフォルトの場所にインストールされる基本的なインストールワークフローです/usr/local/lib/aws-cli
。
$
cd
path/to/cli/respository/
$
./configure
$
make
$
make install
Windows 自動インストール
注記
このワークフローを使用するには、管理者 PowerShell として を実行する必要があります。
MSYS2 は CI 設定で自動で使用できます。「 MSYS2ドキュメント」の「 CI MSYS2で を使用する
Alpine Linux コンテナ
以下は、Alpine 用の事前構築済みバイナリの代替として、AlpineAWSCLI_VERSION
必要な AWS CLI バージョン番号:
FROM python:3.8-alpine AS builder ENV AWSCLI_VERSION=2.10.1 RUN apk add --no-cache \ curl \ make \ cmake \ gcc \ g++ \ libc-dev \ libffi-dev \ openssl-dev \ && curl https://awscli.amazonaws.com/awscli-${AWSCLI_VERSION}.tar.gz | tar -xz \ && cd awscli-${AWSCLI_VERSION} \ && ./configure --prefix=/opt/aws-cli/ --with-download-deps \ && make \ && make install FROM python:3.8-alpine RUN apk --no-cache add groff COPY --from=builder /opt/aws-cli/ /opt/aws-cli/ ENTRYPOINT ["/opt/aws-cli/bin/aws"]
このイメージはビルドされ、Amazon Linux 2 上に構築されているのと同様のコンテナから AWS CLI 呼び出されます。
$
docker build --tag awscli-alpine .
$
docker run --rm -it awscli-alpine --version
aws-cli/2.2.1 Python/3.8.11 Linux/5.10.25-linuxkit source-sandbox/x86_64.alpine.3 prompt/off
このイメージの最終サイズは、公式の AWS CLI Docker イメージのサイズよりも小さくなります。公式の Docker イメージについては、「の公式 Amazon ECR Public または Docker イメージの実行 AWS CLI」を参照してください。
AWS CLI インストールおよびアンインストールエラーのトラブルシューティング
インストールエラーのトラブルシューティング手順については、一般的なトラブルシューティング手順を「のエラーのトラブルシューティング AWS CLI」で参照してください。最も関連性の高いトラブルシューティングステップについては、「コマンドが見つからないエラー」、「「aws --version」コマンドが、インストールしたのとは異なるバージョンを返す」、および「aws --version「」コマンドは、 AWS CLI」を参照してください。
トラブルシューティングガイドで説明されていない問題については、 のAWS CLI リポジトリsource-distribution
ラベルの問題を検索しますGitHub。既存の問題がエラーをカバーしていない場合は、新しい問題を作成して
次のステップ
をインストールしたら AWS CLI、 を実行する必要がありますのセットアップ AWS CLI。