ソース AWS CLI からの の構築とインストール - AWS Command Line Interface

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ソース AWS CLI からの の構築とインストール

このトピックでは、サポートされているオペレーティングシステムに AWS Command Line Interface (AWS CLI) の最新リリースをインストールまたは更新する方法について説明します。

の最新リリースについては AWS CLI、 AWS CLI のバージョン 2 の変更ログを参照してください GitHub。

重要

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 AWS CLI を活用してソースから をインストールします。最も単純なケースでは、 GitHub リポジトリのルートからデフォルトのサンプルコマンドを実行して、 を AWS CLI ソースからインストール AWS CLI できます。

  1. 環境のすべての要件を設定します。これには、GNUAutotools で生成されたファイルを実行できることや、Python 3.8 以降がインストールされていることが含まれます。

  2. ターミナルで、 AWS CLI ソースフォルダの最上位に移動し、 ./configure コマンドを実行します。このコマンドは、必要なすべての依存関係についてシステムをチェックし、検出および指定された設定 AWS CLI に基づいて を構築およびインストールMakefileするための を生成します。

    Linux and macOS

    次の./configureコマンド例では、デフォルト設定 AWS CLI を使用して のビルド設定を設定します。

    $ ./configure
    Windows PowerShell

    を呼び出すコマンドを実行する前にMSYS2、現在の作業ディレクトリを保持する必要があります。

    PS C:\> $env:CHERE_INVOKING = 'yes'

    次に、次の./configureコマンド例を使用して、Python 実行可能ファイルへのローカルパス AWS CLI を使用して のビルド設定を設定し、C:\Program Files\ に をインストールしAWSCLI、すべての依存関係をダウンロードします。

    PS C:\> C:\msys64\usr\bin\bash -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps "

    詳細、使用可能な構成オプション、およびデフォルト設定情報については、「ステップ 2: AWS CLI ソースインストールの構成 」セクションを参照してください。

  3. make コマンドを実行します。このコマンドは、設定 AWS CLI に従って を構築します。

    次の make コマンド例は、既存の ./configure 設定を使用してデフォルトオプションでビルドされます。

    Linux and macOS
    $ make
    Windows PowerShell
    PS C:\> C:\msys64\usr\bin\bash -lc "make"

    詳細と使用可能なビルドオプションについては、「ステップ 3: AWS CLIの構築」セクションを参照してください。

  4. make install コマンドを実行します。このコマンドは、ビルドされた AWS CLI をご使用のシステム上で構成された場所にインストールします。

    次の make install コマンド例では、デフォルトのコマンド設定を使用して、ビルドされた AWS CLI をインストールし、構成された場所にシンボリックリンクを作成します。

    Linux and macOS
    $ make install
    Windows PowerShell
    PS C:\> C:\msys64\usr\bin\bash -lc "make install"

    インストール後、以下 AWS CLI を使用して へのパスを追加します。

    PS C:\> $Env: PATH +=";C:\Program Files\AWSCLI\bin\"

    詳細と使用可能なインストールオプションについては、「ステップ 4: AWS CLIのインストール」セクションを参照してください。

  5. 次のコマンドを使用して、正常にインストール AWS CLI された を確認します。

    $ aws --version aws-cli/2.17.20 Python/3.11.6 Windows/10 exe/AMD64 prompt/off

    インストールエラーのトラブルシューティングの手順については、「AWS CLI インストールおよびアンインストールエラーのトラブルシューティング」セクションを参照してください。

ステップ 1: すべての要件の設定

ソース AWS CLI から を構築するには、事前に以下を完了する必要があります。

注記

すべてのコード例は、ソースディレクトリのルートから実行されることを前提としています。

  1. 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 ファイルの整合性を確認する

      1. GnuPG ツールを使用してこの署名を検証するには、次のステップを行います。

        AWS CLI インストーラパッケージ.zipファイルは、PGP署名を使用して暗号化的に署名されます。ファイルの破損や変更がある場合、この検証は失敗します。その場合、インストールを続行しないでください。

      2. ご利用のパッケージマネージャーを使用し、gpg コマンドをダウンロードしてインストールします。GnuPG の詳細については、GnuPG のウェブサイトを参照してください。

      3. パブリックキーファイルを作成するには、テキストファイルを作成し、次のテキストに貼り付けます。

        -----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
      4. 次のコマンドを使用して 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
      5. 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
      6. 署名を検証し、.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)」を参照してください。

  2. configure や などの GNU Autotools 生成ファイルを実行できる環境がありますMakefile。これらのファイルは、POSIXプラットフォーム間で広く移植されます。

    Linux and macOS

    Autotools がご使用の環境にまだインストールされていない場合、または Autotools を更新する必要がある場合は、GNUドキュメント「Autotools (ユーザーとして) をインストールする方法」または「基本インストール」にあるインストール手順に従ってください。

    Windows PowerShell
    警告

    Windows 環境の場合は、ビルド済みインストーラーを使用することをお勧めします。ビルド済みインストーラーのインストール手順については、「の最新バージョンへのインストールまたは更新 AWS CLI」を参照してください

    Windows には POSIX準拠のシェルが付属していないため、ソース AWS CLI から をインストールするために追加のソフトウェアをインストールする必要があります。MSYS2 は、特に Autotools が使用する POSIXベースのスクリプト用に、Windows ソフトウェアの構築とインストールに役立つツールとライブラリのコレクションを提供します。

    1. をインストールしますMSYS2。のインストールと使用の詳細についてはMSYS2、 MSYS2ドキュメント「インストールと使用方法」を参照してください。

    2. MSYS2 ターミナルを開き、次のコマンドを使用して Autotools をインストールします。

      $ pacman -S autotools
    注記

    このガイドの Windows 用設定、ビルド、およびインストールコードの例を使用する場合、 のデフォルトのMSYS2インストールパスC:\msys64\usr\bin\bashが前提となります。MSYS2 内で PowerShell を呼び出すときは、bash コマンドを引用符で囲んだ次の形式を使用します。

    PS C:\> C:\msys64\usr\bin\bash -lc "command example"

    次のコマンド例では、./configure コマンドを呼び出します。

    PS C:\> C:\msys64\usr\bin\bash -lc "./configure"
  3. Python 3.8 以降のインタープリタがインストールされています。必要な最小 Python バージョンは、 および Tools の AWS SDKs公式 Python サポートポリシーと同じタイムラインに従います。インタープリタは、その日付から 6 か月後にのみサポートされます end-of-support。

  4. (オプション) AWS CLIのビルドとランタイム Python ライブラリの依存関係をすべてインストールします。./configure コマンドは、不足している依存関係がないかどうか、また、そのインストール方法について通知します。

    これらの依存関係は、構成で自動的にインストールして使用できます。詳細については、「依存関係のダウンロード」を参照してください。

ステップ 2: AWS CLI ソースインストールの構成

を構築およびインストールするための設定 AWS CLI は、 configureスクリプトを使用して指定されます。すべての構成オプションを文書化するには、--help オプションを使用して configure スクリプトを実行します。

Linux and macOS
$ ./configure --help
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --help"

インストール場所

のソースインストール AWS CLI では、2 つの設定可能なディレクトリを使用して をインストールします AWS CLI。

  • libdir - AWS CLI がインストールされる親ディレクトリ。 AWS CLI インストールへのパスは です<libdir-value>/aws-cli。Linux と macOS のデフォルト libdir 値は /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 CLI awsを設定します。デフォルト値は <prefix-value>/bin です。bindir--prefix が両方とも指定されていない場合、Linux と macOS のデフォルトは /usr/local/bin/ です。

Linux and macOS

次のコマンド例では、--prefix オプションを使用して AWS CLIをローカルユーザーにインストールします。このコマンドは、 AWS CLI に をインストール$HOME/.local/lib/aws-cliし、 に実行可能ファイルをインストールします$HOME/.local/bin

$ ./configure --prefix=$HOME/.local

次のコマンド例では、 --libdirオプションを使用して、 を アドオンアプリケーション AWS CLI として /opt ディレクトリにインストールします。このコマンドは、 AWS CLI を にインストール/opt/aws-cliし、実行可能ファイルをデフォルトの場所である にインストールします/usr/local/bin

$ ./configure --libdir=/opt
Windows PowerShell

次のコマンド例では、--prefix オプションを使用して AWS CLIをローカルユーザーにインストールします。このコマンドは、 AWS CLI に をインストール$HOME/.local/lib/aws-cliし、 に実行可能ファイルをインストールします$HOME/.local/bin

$ C:\msys64\usr\bin\bash -lc "./configure --prefix='C:\Program Files\AWSCLI'"

次のコマンド例では、 --libdirオプションを使用して、 を アドオンアプリケーション AWS CLI として /opt ディレクトリにインストールします。このコマンドは、 AWS CLI に をインストールしますC:\Program Files\AWSCLI\opt\aws-cli

Python インタープリタ

注記

Windows にインストールする場合は、Python インタープリタを指定することを強くお勧めします。

./configure スクリプトは、Autoconf マクロ AWS CLI を使用した の構築と実行に使用するインストール済みの Python 3.8 AM_PATH_PYTHON 以降のインタープリタを自動的に選択します。

使用する Python インタープリタは、configure スクリプトの実行時に PYTHON 環境変数を使用して明示的に設定できます。

Linux and macOS
$ PYTHON=/path/to/python ./configure
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "PYTHON='C:\path\to\python' ./configure"

依存関係のダウンロード

デフォルトでは、 AWS CLI のすべてのビルドとランタイムの依存関係がシステムに既にインストールされている必要があります。これには Python ライブラリの依存関係も含まれます。configure スクリプトの実行時にすべての依存関係がチェックされ、システムに Python の依存関係がない場合、configure スクリプトはエラーになります。

次のコード例は、システムに依存関係がない場合にエラーになります。

Linux and macOS
$ ./configure checking for a Python interpreter with version >= 3.8... python checking for python... /Users/username/.envs/env3.11/bin/python checking for python version... 3.11 checking for python platform... darwin checking for GNU default python prefix... ${prefix} checking for GNU default python exec_prefix... ${exec_prefix} checking for python script directory (pythondir)... ${PYTHON_PREFIX}/lib/python3.11/site-packages checking for python extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/lib/python3.11/site-packages checking for --with-install-type... system-sandbox checking for --with-download-deps... Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 125, in <module> main() File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 121, in main parsed_args.func(parsed_args) File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 49, in validate validate_env(parsed_args.artifact) File "/Users/username/aws-code/aws-cli/./backends/build_system/validate_env.py", line 68, in validate_env raise UnmetDependenciesException(unmet_deps, in_venv) validate_env.UnmetDependenciesException: Environment requires following Python dependencies: awscrt (required: ('>=0.12.4', '<0.17.0')) (version installed: None) We recommend using --with-download-deps flag to automatically create a virtualenv and download the dependencies. If you want to manage the dependencies yourself instead, run the following pip command: /Users/username/.envs/env3.11/bin/python -m pip install --prefer-binary 'awscrt>=0.12.4,<0.17.0' configure: error: "Python dependencies not met."
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "./configure" checking for a Python interpreter with version >= 3.8... python checking for python... /Users/username/.envs/env3.11/bin/python checking for python version... 3.11 checking for python platform... darwin checking for GNU default python prefix... ${prefix} checking for GNU default python exec_prefix... ${exec_prefix} checking for python script directory (pythondir)... ${PYTHON_PREFIX}/lib/python3.11/site-packages checking for python extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/lib/python3.11/site-packages checking for --with-install-type... system-sandbox checking for --with-download-deps... Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 125, in <module> main() File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 121, in main parsed_args.func(parsed_args) File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 49, in validate validate_env(parsed_args.artifact) File "/Users/username/aws-code/aws-cli/./backends/build_system/validate_env.py", line 68, in validate_env raise UnmetDependenciesException(unmet_deps, in_venv) validate_env.UnmetDependenciesException: Environment requires following Python dependencies: awscrt (required: ('>=0.12.4', '<0.17.0')) (version installed: None) We recommend using --with-download-deps flag to automatically create a virtualenv and download the dependencies. If you want to manage the dependencies yourself instead, run the following pip command: /Users/username/.envs/env3.11/bin/python -m pip install --prefer-binary 'awscrt>=0.12.4,<0.17.0' configure: error: "Python dependencies not met."

必要な Python 依存関係を自動的にインストールするには、--with-download-deps オプションを使用してください。このフラグを使用すると、ビルドプロセスは次の処理を行います。

  • Python ライブラリの依存関係チェックをスキップします。

  • 必要なすべての Python 依存関係をダウンロードし、ダウンロードされた依存関係のみを使用してビルド AWS CLI 中に makeを構築するように設定します。

以下の configure コマンドの例では、--with-download-deps オプションを使用して Python の依存関係をダウンロードおよび使用しています。

Linux and macOS
$ ./configure --with-download-deps
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --with-download-deps"

インストールタイプ

ソースインストールのプロセスでは、次のインストールタイプがサポートされます。

  • 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 の値を指定します。

Linux and macOS
$ ./configure --with-install-type=portable-exe
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --with-install-type=portable-exe"

ステップ 3: AWS CLIの構築

make コマンドを使用して、設定 AWS CLI を使用して を構築します。

Linux and macOS
$ make
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "make"
注記
make コマンドを使用すると、次の手順がバックグラウンドで完了します。
  1. 仮想環境は、Python venv モジュールを使用してビルドディレクトリに作成されます。仮想環境は、Python 標準ライブラリにベンダリングされているバージョンの pip でブートストラップされます。

  2. Python ライブラリの依存関係をコピーします。configure コマンドで --with-download-deps フラグが指定されているかどうかに応じて、このステップは次のいずれかを実行します。

    • --with-download-deps は指定されます。Python の依存関係は pip でインストールされます。これには、wheelsetuptools、およびすべての AWS CLI ランタイム依存関係が含まれます。portable-exe をビルドしている場合は、pyinstaller がインストールされます。これらの要件はすべて、pip-compile から生成されるロックファイルで指定されています。

    • --with-download-deps は指定されません。Python インタープリタのサイトパッケージの Python ライブラリとスクリプト (例: pyinstaller) は、ビルドに使用されている仮想環境にコピーされます。

  3. AWS CLI コードベースでpip install直接実行して、オフラインのツリー内ビルドを実行し、ビルド仮想環境に をインストール AWS CLI します。このインストールでは、pip フラグ --no-build-isolation --use-feature=in-tree-build --no-cache-dir 、および を使用します--no-index

  4. (オプション) configure コマンドで --install-typeportable-exe に設定されている場合、pyinstaller を使用してスタンドアロン実行ファイルをビルドします。

ステップ 4: AWS CLIのインストール

make install コマンドは、ビルドされた AWS CLI をシステム上の設定済みの場所にインストールします。

Linux and macOS

次のコマンド例では、設定とビルド設定 AWS CLI を使用して をインストールします。

$ make install
Windows PowerShell

次のコマンド例では、設定とビルド設定 AWS CLI を使用して をインストールし、 のパスを持つ環境変数を追加します AWS CLI。

PS C:\> C:\msys64\usr\bin\bash -lc " make install " PS C:\> $Env: PATH +=";C:\Program Files\AWSCLI\bin\"

make install ルールは DESTDIR 変数をサポートします。この変数を指定すると、 AWS CLIをインストールするときに、既に構成されているインストールパスの前に、指定されたパスが追加されます。デフォルトでは、この変数には値が設定されていません。

Linux and macOS

次のコード例では、--prefix=/usr/local フラグを使用してインストール場所を構成し、DESTDIR=/tmp/stagemake install コマンドに使用してその宛先を変更します。これらのコマンドを実行すると、 AWS CLI が /tmp/stage/usr/local/lib/aws-cli にインストールされ、その実行ファイルが /tmp/stage/usr/local/bin に配置されます。

$ ./configure --prefix=/usr/local $ make $ make DESTDIR=/tmp/stage install
Windows PowerShell

次のコード例では、--prefix=\awscli フラグを使用してインストール場所を構成し、DESTDIR=C:\Program Filesmake install コマンドに使用してその宛先を変更します。これらのコマンドを実行すると、 AWS CLI が C:\Program Files\awscli にインストールされます。

$ ./configure --prefix=\awscli $ make $ make DESTDIR='C:\Program Files' install
注記
make install コマンドを実行すると、次の手順がバックグラウンドで完了します。
  1. 次のいずれかを構成済みのインストールディレクトリに移動します。

    • インストールタイプが system-sandbox の場合、ビルドした仮想環境を移動します。

    • インストールタイプが portable-exe の場合、ビルドしたスタンドアロン実行ファイルを移動します。

  2. 構成した 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で を使用する」を参照してください。

Downloaded Tarball

awscli.tar.gz ファイルをダウンロードし、解凍して、 AWS CLIをインストールします。次のコマンドを使用する場合は、次のパスを置き換えます。

  • C:\msys64\usr\bin\bash MSYS2パスの場所。

  • .\awscli-2.x.x\ を解凍した awscli.tar.gz フォルダ名にします。

  • PYTHON='C:\path\to\python.exe' をローカルの Python パスにします。

次のコード例では、 PowerShell を使用して AWS CLI から の構築とインストールを自動化しMSYS2、使用する Python のローカルインストールを指定します。

PS C:\> curl -o awscli.tar.gz https://awscli.amazonaws.com/awscli.tar.gz # Download the awscli.tar.gz file in the current working directory PS C:\> tar -xvzf .\awscli.tar.gz # Extract awscli.tar.gz file PS C:\> cd .\awscli-2.x.x\ # Navigate to the root of the extracted files PS C:\> $env:CHERE_INVOKING = 'yes' # Preserve the current working directory PS C:\> C:\msys64\usr\bin\bash -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps " PS C:\> C:\msys64\usr\bin\bash -lc "make" PS C:\> C:\msys64\usr\bin\bash -lc "make install" PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\" PS C:\> aws --version aws-cli/2.17.20 Python/3.11.6 Windows/10 source-sandbox/AMD64 prompt/off
GitHub Repository

awscli.tar.gz ファイルをダウンロードし、解凍して、 AWS CLIをインストールします。次のコマンドを使用する場合は、次のパスを置き換えます。

  • C:\msys64\usr\bin\bash MSYS2パスの場所。

  • C:path\to\cli\repository\ からクローンされたAWS CLI リポジトリへのパス。 GitHub詳細については、GitHub「 Docs」の「リポジトリをフォークする」を参照してください。

  • PYTHON='C:\path\to\python.exe' をローカルの Python パスにします。

次のコード例では、 PowerShell を使用して AWS CLI から の構築とインストールを自動化しMSYS2、使用する Python のローカルインストールを指定します。

PS C:\> cd C:path\to\cli\repository\ PS C:\> $env:CHERE_INVOKING = 'yes' # Preserve the current working directory PS C:\> C:\msys64\usr\bin\bash -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps " PS C:\> C:\msys64\usr\bin\bash -lc "make" PS C:\> C:\msys64\usr\bin\bash -lc "make install" PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\" PS C:\> aws --version

Alpine Linux コンテナ

以下は、Alpine 用の事前構築済みバイナリの代替として、Alpine Linux コンテナ AWS CLI で の作業インストールを取得するために使用できる Dockerfile の例です。この例では、AWSCLI_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、 を実行する必要がありますのセットアップ AWS CLI