

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS CLI入門
<a name="cli-chap-getting-started"></a>

本章提供開始使用 AWS Command Line Interface (AWS CLI) 第 2 版的步驟，並提供相關指示的連結。

1. **[完成所有先決條件](getting-started-prereqs.md)** - 若要使用 AWS CLI 存取 AWS 服務，您至少需要 AWS 帳戶 和 IAM 憑證。為了提高 AWS 帳戶的安全，我們建議您不要使用根帳戶憑證。您應該建立一個具最低權限的使用者，以便為您將在 AWS 中執行的任務提供存取憑證。

1. 使用下列其中一種方法安裝 AWS CLI 或取得其存取權：
   + **(建議)** [安裝或更新至最新版本的 AWS CLI](getting-started-install.md)。
   + [安裝 AWS CLI 第 2 版的過去版本](getting-started-version.md). 安裝特定版本主要用於您的團隊使其工具與特定版本保持一致時。
   + [AWS CLI 從來源建置和安裝](getting-started-source-install.md). 從 GitHub 來源建置 AWS CLI 是一種更深入的方法，主要供在我們未透過預先建置安裝程式直接支援的平台上工作的客戶使用。
   + [執行 的官方 Amazon ECR Public 或 Docker 映像 AWS CLI](getting-started-docker.md).
   + 從瀏覽器的 AWS 主控台使用 AWS CloudShell 存取 AWS CLI 第 2 版。如需詳細資訊，請參閱[「AWS CloudShell 使用者指南」](https://docs.aws.amazon.com/cloudshell/latest/userguide/)。

1. [在您擁有 AWS CLI 的存取權之後，首次使用時，請使用您的 IAM 憑證設定 AWS CLI](getting-started-quickstart.md)。

**對安裝程式或設定錯誤進行故障診斷**  
如果在安裝、解除安裝或設定 AWS CLI 時發生錯誤，請參閱 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 以瞭解故障診斷步驟。

**Topics**
+ [使用第 2 AWS CLI 版的先決條件](getting-started-prereqs.md)
+ [安裝或更新至最新版本的 AWS CLI](getting-started-install.md)
+ [安裝 AWS CLI 第 2 版的過去版本](getting-started-version.md)
+ [AWS CLI 從來源建置和安裝](getting-started-source-install.md)
+ [執行 的官方 Amazon ECR Public 或 Docker 映像 AWS CLI](getting-started-docker.md)
+ [設定 AWS CLI](getting-started-quickstart.md)

# 使用第 2 AWS CLI 版的先決條件
<a name="getting-started-prereqs"></a>

若要使用 存取 AWS 服務 AWS CLI，您需要 AWS 帳戶 具有 IAM 或 IAM Identity Center 憑證的 。執行 AWS CLI 命令時， AWS CLI 需要能夠存取這些 AWS 登入資料。為了提高 AWS 帳戶的安全性，我們建議您在使用根或 IAM 使用者時僅使用短期憑證。您應該建立具有最低權限的使用者，以提供存取憑證給您將在其中執行的任務 AWS。如需最佳實務的相關資訊，請參閱《IAM 使用者指南》中的[安全最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)。

**Topics**
+ [建立 IAM 或 IAM Identity Center 管理員帳戶](#getting-started-prereqs-iam)
+ [後續步驟](#getting-started-prereqs-next)

## 建立 IAM 或 IAM Identity Center 管理員帳戶
<a name="getting-started-prereqs-iam"></a>

您必須先建立 IAM 或 IAM Identity Center 帳戶 AWS CLI，才能設定 。


**帳戶建立選項**  

| 選擇管理登入資料的方式 | 到 | 如何建立 帳戶 | 如何設定帳戶的程式設計存取 | 
| --- | --- | --- | --- | 
| AWS 管理主控台登入資料 | 使用與初始帳戶設定期間建立的根使用者、IAM 使用者或來自身分提供者的聯合身分對應的短期憑證。 | 開啟 [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)：//。 | 不需要其他步驟。若要 AWS CLI 使用 AWS 您的帳戶登入 ，請參閱 [使用主控台登入資料登入 AWS 進行本機開發](cli-configure-sign-in.md) | 
| IAM Identity Center | 使用短期登入資料來存取 AWS 服務。 | 遵循《IAM Identity Center AWS 使用者指南》中的入門說明。 | 透過在 IAM Identity Center 使用者指南中設定 以使用 AWS 來設定程式設計存取。 | 
| AWS Identity and Access Management(不建議使用) | 使用長期登入資料來存取 AWS 服務。 | 遵循《IAM 使用者指南》中建立 以進行緊急存取的指示。 | 《IAM 使用者指南》中的透過管理使用者的存取金鑰來設定程式設計存取。 | 

## 後續步驟
<a name="getting-started-prereqs-next"></a>

建立 AWS 帳戶 和 IAM 登入資料後，若要使用 AWS CLI ，您可以執行下列其中一項操作：
+ [在電腦上安裝最新版本](getting-started-install.md)的 第 2 AWS CLI 版。
+ 在電腦上[安裝過去版本的](getting-started-version.md) 第 2 AWS CLI 版。
+ 使用 Docker 映像從您的電腦存取第 2 AWS CLI 版。 [執行 的官方 Amazon ECR Public 或 Docker 映像 AWS CLI](getting-started-docker.md)
+ 使用 從瀏覽器存取 AWS 主控台中的第 2 AWS CLI 版 AWS CloudShell。如需詳細資訊，請參閱 [AWS CloudShell 使用者指南](https://docs.aws.amazon.com/cloudshell/latest/userguide/)。

# 安裝或更新至最新版本的 AWS CLI
<a name="getting-started-install"></a>

本主題說明如何在支援的作業系統上安裝或更新最新版本的 AWS Command Line Interface (AWS CLI)。如需最新版本 的資訊 AWS CLI，請參閱 GitHub 上的[AWS CLI 第 2 版變更日誌](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst)。

若要安裝過去版本的 AWS CLI，請參閱 [安裝 AWS CLI 第 2 版的過去版本](getting-started-version.md)。如需解除安裝說明，請參閱 [解除安裝第 2 AWS CLI 版](uninstall.md)。

**重要**  
AWS CLI 第 1 版和第 2 版使用相同的`aws`命令名稱。如果您先前已安裝 AWS CLI 版本 1，請參閱 [第 2 AWS CLI 版的遷移指南](cliv2-migration.md)。

**Topics**
+ [AWS CLI 安裝和更新指示](#getting-started-install-instructions)
+ [針對 AWS CLI 安裝和解除安裝錯誤進行故障診斷](#install-tshoot)
+ [後續步驟](#install-next-steps)

## AWS CLI 安裝和更新指示
<a name="getting-started-install-instructions"></a>

如需安裝說明，請根據您的作業系統展開相應的區段。

### Linux
<a name="install-linux"></a>

#### 安裝和更新需求
<a name="install-linux-prereqs"></a>
+ 您必須能夠解壓縮或「解壓縮」下載的套件。如果您的作業系統沒有內建 `unzip` 命令，請使用對等的命令。
+  AWS CLI 使用 `glibc`、 `groff`和 `less`。依預設，這些會包含在 Linux 的大多數主要發行版中。
+ 我們支援 AWS CLI 64 位元版本的最新 CentOS、Fedora、Ubuntu、Amazon Linux 1、Amazon Linux 2、Amazon Linux 2023 和 Linux ARM 發行版本。
+ 由於 AWS 不會維護 以外的第三方儲存庫`snap`，因此我們無法保證它們包含最新版本的 AWS CLI。

#### 安裝或更新 AWS CLI
<a name="install-linux-instructions"></a>

**警告**  
如果這是您第一次在 Amazon Linux 上更新 ，若要安裝最新版本的 AWS CLI，您必須使用以下命令解除安裝預先安裝的`yum`版本：  

```
$ sudo yum remove awscli
```
 AWS CLI 移除 `yum` 安裝 之後，請依照下列 Linux 安裝指示進行。

您可以使用下列 AWS CLI 其中一種方法來安裝 ：
+ **命令列安裝程式**是版本控制的好選擇，因為您可以指定要安裝的版本。此選項不會自動更新，而且您每次更新時都必須下載新的安裝程式，以覆寫先前的版本。
+ **正式支援的`snap`套件**是讓 一律擁有最新版本的良好選項， AWS CLI 因為快照套件會自動重新整理。不支援選取 的次要版本 AWS CLI ，因此，如果您的團隊需要鎖定版本，則不是最佳安裝方法。

------
#### [ Command line installer - Linux x86 (64-bit) ]

若要更新目前安裝的 AWS CLI，請在每次更新時下載新的安裝程式以覆寫先前的版本。請依照命令列中的下列步驟，在 Linux AWS CLI 上安裝 。

以下是單一複製和貼上群組的快速安裝步驟，提供基本安裝。如需引導式指示，請參閱下列步驟。

**注意**  
**（選用）** 下列命令區塊會下載並安裝 ， AWS CLI 而無需先驗證下載的完整性。若要驗證下載的完整性，請使用以下逐步說明。

**若要安裝** AWS CLI，請執行以下命令。

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
```

**若要更新** AWS CLI目前的安裝，新增現有的符號連結和安裝程式資訊,以使用 `--bin-dir`、`--install-dir` 和 `--update` 參數建構 `install` 命令。下列命令區塊使用 */usr/local/bin* 的範例系統連結，以及 */usr/local/aws-cli* 的範例安裝程式位置，為目前使用者本機安裝 AWS CLI 。

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
```

**引導式安裝步驟**

1. 使用下列其中一種方式下載安裝檔案：
   + **使用 `curl` 命令** – `-o` 選項會指定已下載套件寫入的檔案名稱。下列範例命令的選項會使下載的檔案以本機時間 `awscliv2.zip` 寫入目前的目錄。

     ```
     $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
     ```
   + **從 URL 下載** – 若要使用瀏覽器下載安裝程式，請使用下列 URL：[https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip](https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip)

1. **(可選) 驗證所下載 zip 檔案的完整性**

   如果您選擇`.zip`在上述步驟中手動下載 AWS CLI 安裝程式套件，則可以使用 `GnuPG`工具，使用下列步驟來驗證簽章。

    AWS CLI 安裝程式套件`.zip`檔案使用 PGP 簽章進行密碼編譯簽署。如果檔案有任何損壞或更改，此驗證會失敗，且您不應該繼續進行安裝。

   1. 使用您的套件管理工具下載並安裝 `gpg` 命令。如需有關 `GnuPG` 的詳細資訊，請參閱 [GnuPG 網站](https://www.gnupg.org/)。

   1. 若要建立公開金鑰檔案，請建立文字檔案，然後貼上下列文字。

      ```
      -----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
      tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4CGwMF
      CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQT7Xbd/1cEYuAURraimMQrMRnJHXAUC
      aGveYQUJDMpiLAAKCRCmMQrMRnJHXKBYD/9Ab0qQdGiO5hObchG8xh8Rpb4Mjyf6
      0JrVo6m8GNjNj6BHkSc8fuTQJ/FaEhaQxj3pjZ3GXPrXjIIVChmICLlFuRXYzrXc
      Pw0lniybypsZEVai5kO0tCNBCCFuMN9RsmmRG8mf7lC4FSTbUDmxG/QlYK+0IV/l
      uJkzxWa+rySkdpm0JdqumjegNRgObdXHAQDWlubWQHWyZyIQ2B4U7AxqSpcdJp6I
      S4Zds4wVLd1WE5pquYQ8vS2cNlDm4QNg8wTj58e3lKN47hXHMIb6CHxRnb947oJa
      pg189LLPR5koh+EorNkA1wu5mAJtJvy5YMsppy2y/kIjp3lyY6AmPT1posgGk70Z
      CmToEZ5rbd7ARExtlh76A0cabMDFlEHDIK8RNUOSRr7L64+KxOUegKBfQHb9dADY
      qqiKqpCbKgvtWlds909Ms74JBgr2KwZCSY1HaOxnIr4CY43QRqAq5YHOay/mU+6w
      hhmdF18vpyK0vfkvvGresWtSXbag7Hkt3XjaEw76BzxQH21EBDqU8WJVjHgU6ru+
      DJTs+SxgJbaT3hb/vyjlw0lK+hFfhWKRwgOXH8vqducF95NRSUxtS4fpqxWVaw3Q
      V2OWSjbne99A5EPEySzryFTKbMGwaTlAwMCwYevt4YT6eb7NmFhTx0Fis4TalUs+
      j+c7Kg92pDx2uQ==
      =OBAt
      -----END PGP PUBLIC KEY BLOCK-----
      ```

      以下公開金鑰詳細資訊僅供參考。

      ```
      Key ID:           A6310ACC4672475C
      Type:             RSA
      Size:             4096/4096
      Created:          2019-09-18
      Expires:          2026-07-07
      User ID:          AWS CLI Team <aws-cli@amazon.com>
      Key fingerprint:  FB5D B77F D5C1 18B8 0511  ADA8 A631 0ACC 4672 475C
      ```

   1. 使用下列命令匯入 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
      ```

   1. 下載您下載之套件的 AWS CLI 簽章檔案。它會有與其對應的 `.zip` 檔案具有相同的路徑和名稱，但具有副檔名 `.sig`。在下列範例中，我們將它作為名稱 `awscliv2.sig` 的檔案儲存在目前的資料夾。

      **對於最新版本的 AWS CLI，**請使用下列命令區塊：

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip.sig
      ```

   1. 驗證簽章，並將下載的 `.sig` 和 `.zip` 檔案名稱以參數形式傳遞給 `gpg` 命令。

      ```
      $ gpg --verify awscliv2.sig awscliv2.zip
      ```

      輸出應看起來如下列內容。

      ```
      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 金鑰之間沒有信任鏈。如需詳細資訊，請參閱「[信任網路](https://en.wikipedia.org/wiki/Web_of_trust)」。

1. 解壓縮安裝程式。如果您的 Linux 發行版沒有內建 `unzip` 命令，請使用類似命令解壓縮。下列範例命令會解壓縮套件，並在名為 `aws` 的目前目錄下建立目錄。

   ```
   $ unzip awscliv2.zip
   ```
**注意**  
從舊版更新時，`unzip` 命令會提示覆寫現有檔案。若要略過這些提示 (例如使用指令碼自動化)，對於 `unzip` 請使用 `-u` 更新標記。這個標記會視需要自動更新現有檔案和建立新檔案。  

   ```
   $ unzip -u awscliv2.zip
   ```

1. 執行安裝程式。安裝命令會使用新解壓縮的 `aws` 目錄中名為 `install` 的檔案。依預設，檔案會全部安裝到 `/usr/local/aws-cli`，並在 `/usr/local/bin` 中建立符號連結。命令包括 `sudo`，以授予寫入權限給這些資料夾。

   ```
   $ sudo ./aws/install
   ```

   如果指定您已具有寫入權限的資料夾，則可以在不使用 `sudo` 的情況下進行安裝。使用下列 `install` 命令指示來指定安裝位置：
   + 請確定您提供給 `-i` 和 `-b` 參數的路徑不包含任何包含空格字元或其他空格字元的磁碟區名稱或目錄名稱。如果有空格，則安裝會失敗。
   + `--install-dir` 或 `-i` – 此選項指定要將所有檔案複製到的目錄。

     預設值為 `/usr/local/aws-cli`。
   + `--bin-dir` 或 `-b` – 此選項會指定安裝目錄中的 `aws` 主程式以符號方式連結至指定路徑的檔案 `aws`。您必須具有指定目錄的寫入許可。建立路徑中已存在目錄的符號連結，可讓您不需將安裝目錄新增到使用者的 `$PATH` 變數。

     預設值為 `/usr/local/bin`。

   ```
   $ ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
   ```
**注意**  
若要更新 目前的安裝 AWS CLI，請新增現有的符號連結和安裝程式資訊，以使用 `--update` 參數建構 `install`命令。  

   ```
   $ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
   ```
若要找到現有的符號連結和安裝目錄，請執行以下步驟：  
使用 `which` 命令來查找您的符號連結。這提供您與 `--bin-dir` 參數一起使用的路徑。  

      ```
      $ which aws
      /usr/local/bin/aws
      ```
使用 `ls` 命令來查找符號連結指向的目錄。這提供您與 `--install-dir` 參數一起使用的路徑。  

      ```
      $ ls -l /usr/local/bin/aws
      lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws -> /usr/local/aws-cli/v2/current/bin/aws
      ```

1. 請使用以下命令來確認安裝。

   ```
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64
   ```

   如果找不到 `aws` 命令，您可能需要重新啟動終端機或遵循 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 中的故障診斷。

------
#### [ Command line - Linux ARM ]

若要更新目前安裝的 AWS CLI，請在每次更新時下載新的安裝程式以覆寫先前的版本。請依照命令列中的下列步驟，在 Linux AWS CLI 上安裝 。

以下是單一複製和貼上群組的快速安裝步驟，提供基本安裝。如需引導式指示，請參閱下列步驟。

**注意**  
**（選用）** 下列命令區塊會下載並安裝 ， AWS CLI 而無需先驗證下載的完整性。若要驗證下載的完整性，請使用以下逐步說明。

**若要安裝** AWS CLI，請執行下列命令。

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
```

**若要更新** AWS CLI目前的安裝，新增現有的符號連結和安裝程式資訊,以使用 `--bin-dir`、`--install-dir` 和 `--update` 參數建構 `install` 命令。下列命令區塊使用 */usr/local/bin* 的範例符號連結，以及 */usr/local/aws-cli* 的範例安裝程式位置。

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
```

**引導式安裝步驟**

1. 使用下列其中一種方式下載安裝檔案：
   + **使用 `curl` 命令** – `-o` 選項會指定已下載套件寫入的檔案名稱。下列範例命令的選項會使下載的檔案以本機時間 `awscliv2.zip` 寫入目前的目錄。

     ```
     $ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
     ```
   + **從 URL 下載** – 若要使用瀏覽器下載安裝程式，請使用下列 URL：[https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip](https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip)

1. **(可選) 驗證所下載 zip 檔案的完整性**

   如果您選擇`.zip`在上述步驟中手動下載 AWS CLI 安裝程式套件，則可以使用 `GnuPG`工具，使用下列步驟來驗證簽章。

    AWS CLI 安裝程式套件`.zip`檔案使用 PGP 簽章進行密碼編譯簽署。如果檔案有任何損壞或更改，此驗證會失敗，且您不應該繼續進行安裝。

   1. 使用您的套件管理工具下載並安裝 `gpg` 命令。如需有關 `GnuPG` 的詳細資訊，請參閱 [GnuPG 網站](https://www.gnupg.org/)。

   1. 若要建立公開金鑰檔案，請建立文字檔案，然後貼上下列文字。

      ```
      -----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
      tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4CGwMF
      CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQT7Xbd/1cEYuAURraimMQrMRnJHXAUC
      aGveYQUJDMpiLAAKCRCmMQrMRnJHXKBYD/9Ab0qQdGiO5hObchG8xh8Rpb4Mjyf6
      0JrVo6m8GNjNj6BHkSc8fuTQJ/FaEhaQxj3pjZ3GXPrXjIIVChmICLlFuRXYzrXc
      Pw0lniybypsZEVai5kO0tCNBCCFuMN9RsmmRG8mf7lC4FSTbUDmxG/QlYK+0IV/l
      uJkzxWa+rySkdpm0JdqumjegNRgObdXHAQDWlubWQHWyZyIQ2B4U7AxqSpcdJp6I
      S4Zds4wVLd1WE5pquYQ8vS2cNlDm4QNg8wTj58e3lKN47hXHMIb6CHxRnb947oJa
      pg189LLPR5koh+EorNkA1wu5mAJtJvy5YMsppy2y/kIjp3lyY6AmPT1posgGk70Z
      CmToEZ5rbd7ARExtlh76A0cabMDFlEHDIK8RNUOSRr7L64+KxOUegKBfQHb9dADY
      qqiKqpCbKgvtWlds909Ms74JBgr2KwZCSY1HaOxnIr4CY43QRqAq5YHOay/mU+6w
      hhmdF18vpyK0vfkvvGresWtSXbag7Hkt3XjaEw76BzxQH21EBDqU8WJVjHgU6ru+
      DJTs+SxgJbaT3hb/vyjlw0lK+hFfhWKRwgOXH8vqducF95NRSUxtS4fpqxWVaw3Q
      V2OWSjbne99A5EPEySzryFTKbMGwaTlAwMCwYevt4YT6eb7NmFhTx0Fis4TalUs+
      j+c7Kg92pDx2uQ==
      =OBAt
      -----END PGP PUBLIC KEY BLOCK-----
      ```

      以下公開金鑰詳細資訊僅供參考。

      ```
      Key ID:           A6310ACC4672475C
      Type:             RSA
      Size:             4096/4096
      Created:          2019-09-18
      Expires:          2026-07-07
      User ID:          AWS CLI Team <aws-cli@amazon.com>
      Key fingerprint:  FB5D B77F D5C1 18B8 0511  ADA8 A631 0ACC 4672 475C
      ```

   1. 使用下列命令匯入 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
      ```

   1. 下載您下載之套件的 AWS CLI 簽章檔案。它會有與其對應的 `.zip` 檔案具有相同的路徑和名稱，但具有副檔名 `.sig`。在下列範例中，我們將它作為名稱 `awscliv2.sig` 的檔案儲存在目前的資料夾。

      **對於最新版本的 AWS CLI，**請使用下列命令區塊：

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip.sig
      ```

   1. 驗證簽章，並將下載的 `.sig` 和 `.zip` 檔案名稱以參數形式傳遞給 `gpg` 命令。

      ```
      $ gpg --verify awscliv2.sig awscliv2.zip
      ```

      輸出應看起來如下列內容。

      ```
      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 金鑰之間沒有信任鏈。如需詳細資訊，請參閱「[信任網路](https://en.wikipedia.org/wiki/Web_of_trust)」。

1. 解壓縮安裝程式。如果您的 Linux 發行版沒有內建 `unzip` 命令，請使用類似命令解壓縮。下列範例命令會解壓縮套件，並在名為 `aws` 的目前目錄下建立目錄。

   ```
   $ unzip awscliv2.zip
   ```
**注意**  
從舊版更新時，`unzip` 命令會提示覆寫現有檔案。若要略過這些提示 (例如使用指令碼自動化)，對於 `unzip` 請使用 `-u` 更新標記。這個標記會視需要自動更新現有檔案和建立新檔案。  

   ```
   $ unzip -u awscliv2.zip
   ```

1. 執行安裝程式。安裝命令會使用新解壓縮的 `aws` 目錄中名為 `install` 的檔案。依預設，檔案會全部安裝到 `/usr/local/aws-cli`，並在 `/usr/local/bin` 中建立符號連結。命令包括 `sudo`，以授予寫入權限給這些資料夾。

   ```
   $ sudo ./aws/install
   ```

   如果指定您已具有寫入權限的資料夾，則可以在不使用 `sudo` 的情況下進行安裝。使用下列 `install` 命令指示來指定安裝位置：
   + 請確定您提供給 `-i` 和 `-b` 參數的路徑不包含任何包含空格字元或其他空格字元的磁碟區名稱或目錄名稱。如果有空格，則安裝會失敗。
   + `--install-dir` 或 `-i` – 此選項指定要將所有檔案複製到的目錄。

     預設值為 `/usr/local/aws-cli`。
   + `--bin-dir` 或 `-b` – 此選項會指定安裝目錄中的 `aws` 主程式以符號方式連結至指定路徑的檔案 `aws`。您必須具有指定目錄的寫入許可。建立路徑中已存在目錄的符號連結，可讓您不需將安裝目錄新增到使用者的 `$PATH` 變數。

     預設值為 `/usr/local/bin`。

   ```
   $ ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
   ```
**注意**  
若要更新 目前的安裝 AWS CLI，請新增現有的符號連結和安裝程式資訊，以使用 `--update` 參數建構 `install`命令。  

   ```
   $ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
   ```
若要找到現有的符號連結和安裝目錄，請執行以下步驟：  
使用 `which` 命令來查找您的符號連結。這提供您與 `--bin-dir` 參數一起使用的路徑。  

      ```
      $ which aws
      /usr/local/bin/aws
      ```
使用 `ls` 命令來查找符號連結指向的目錄。這提供您與 `--install-dir` 參數一起使用的路徑。  

      ```
      $ ls -l /usr/local/bin/aws
      lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws -> /usr/local/aws-cli/v2/current/bin/aws
      ```

1. 請使用以下命令來確認安裝。

   ```
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64
   ```

   如果找不到 `aws` 命令，您可能需要重新啟動終端機或遵循 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 中的故障診斷。

------
#### [ Snap package ]

我們在 AWS CLI 上提供官方 AWS 支援的 版本`snap`。如果您想要在您的系統上一律 AWS CLI 安裝最新版本的 ，則 Snap 套件會在自動更新時為您提供此功能。不支援選取 的次要版本 AWS CLI ，因此如果您的團隊需要鎖定版本，則它不是最佳安裝方法。如果您想要安裝特定次要版本的 AWS CLI，建議您使用命令列安裝程式。

1. 如果您的 Linux 平台尚未安裝 `snap`，請在您的平台上安裝 `snap`。

   1. 如需安裝 `snap` 的資訊，請參閱 *Snap 文件*中的[安裝常駐程式](https://snapcraft.io/docs/installing-snapd)。

   1. 您可能需要重新啟動系統，才能正確更新 `PATH` 變數。如果您有安裝問題，請遵循 *Snap 文件*中[修正常見問題](https://snapcraft.io/docs/fix-common-issues)的步驟。

   1. 若要確認 `snap` 已正確安裝，請執行下列命令。

      ```
      $ snap version
      ```

1. 針對 AWS CLI執行下列 `snap install` 命令。

   ```
   $ snap install aws-cli --classic
   ```

   根據您的許可，您可能需要將 `sudo` 新增至命令。

   ```
   $ sudo snap install aws-cli --classic
   ```
**注意**  
若要檢視 的 Snap 儲存庫 AWS CLI，包括其他`snap`指示，請參閱 *Canonical Snapcraft 網站上的 *[https://snapcraft.io/aws-cli](https://snapcraft.io/aws-cli)頁面。

1. 確認 已正確 AWS CLI 安裝。

   ```
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64
   ```

   如果發生錯誤，請參閱 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md)。

------

### macOS
<a name="install-macos"></a>

#### 安裝和更新需求
<a name="install-macos-prereqs"></a>
+ 我們在 macOS 第 11 版及更新版本 AWS CLI 上支援 。如需詳細資訊，請參閱*AWS 開發人員工具部落格*上的 [AWS CLI v2 的 macOS 支援政策更新](https://aws.amazon.com/blogs/developer/macos-support-policy-updates-for-the-aws-cli-v2/)。
+ 由於 AWS 不會維護第三方儲存庫，因此我們無法保證它們包含最新版本的 AWS CLI。

**macOS 版本支援矩陣**


| AWS CLI 版本 | 支援的 macOS 版本 | 
| --- | --- | 
| 2.21.0 – 目前版本 | 11\$1 | 
| 2.17.0 –2.20.0 | 10.15\$1 | 
| 2.0.0 – 2.16.12 | 10.14 及以下版本 | 

#### 安裝或更新 AWS CLI
<a name="install-macos0-instructions"></a>

如果您要更新至最新版本，請使用您在目前版本中使用的相同安裝方法。您可以透過下列方式在 macOS AWS CLI 上安裝 。

------
#### [ GUI installer ]

下列步驟說明如何 AWS CLI 使用標準 macOS 使用者介面和瀏覽器安裝最新版本的 。

1. 在瀏覽器中下載 macOS `pkg` 檔案：[https://awscli.amazonaws.com/AWSCLIV2.pkg](https://awscli.amazonaws.com/AWSCLIV2.pkg)

1. 請依照畫面上的指示，執行您下載的檔案。您可以選擇 AWS CLI 以下列方式安裝 ：
   + **對於電腦上的所有使用者 (需要 `sudo`)**
     + 您可以安裝到任何資料夾，或選擇建議的 `/usr/local/aws-cli` 的預設資料夾。
     + 安裝程式會自動在 `/usr/local/bin/aws` 建立符號連結，其連結至您所選擇的安裝資料夾中的主程式。
   + **只對於目前的使用者 (不需要 `sudo`)**
     + 您可以安裝到任何具有寫入權限的資料夾。
     + 由於標準的使用者許可，在安裝程式完成之後，您的 `$PATH` 必須在命令提示字元中使用下列命令，手動建立指向 `aws` 和 `aws_completer` 程式的符號連結檔案。符號連結的預設位置為 `/usr/local/bin/`。

       ```
       $ ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
       $ ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
       ```

        如果您沒有資料夾的寫入許可，您可能需要在命令中使用 `sudo`。下列範例在 `/usr/local/bin/` 中搭配使用 `sudo` 和符號連結的預設位置：

       ```
       $ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
       $ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
       ```
**注意**  
您可以在安裝程式中的任何位置按 **Cmd\$1L** 來檢視安裝的偵錯日誌。這會開啟一個日誌窗格，使您能夠篩選和儲存日誌。日誌檔也會自動儲存到 `/var/log/install.log`。

1. 若要確認 Shell 可以在您的 `aws` 中尋找並執行 `$PATH` 命令，請使用下列命令。

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   如果找不到 `aws` 命令，您可能需要重新啟動終端機或遵循 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 中的故障診斷。

------
#### [ Command line installer - All users ]

如果您具有 `sudo` 許可，則可以為電腦上的所有使用者安裝 AWS CLI 。我們提供一組易於複製和貼上的步驟。請參閱後續步驟中每一行的描述。

```
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
```

**引導式安裝說明**

1. 使用 `curl` 命令下載檔案。在此範例中，`-o` 選項會指定系統寫入下載套件的檔案名稱。在前述的範例中，檔案會寫入目前的資料夾中的 `AWSCLIV2.pkg`。

   ```
   $ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
   ```

1. 執行標準 macOS `installer` 程式，將下載的 `.pkg` 檔案指定為來源。使用 `-pkg` 參數可指定要安裝的套件名稱，以及磁碟機要安裝套件的 `-target /` 參數。檔案會安裝到 `/usr/local/aws-cli`，並且會在 `/usr/local/bin` 中自動建立符號連結。您必須在命令上包含 `sudo`，才能將寫入權限授予這些資料夾。

   ```
   $ sudo installer -pkg ./AWSCLIV2.pkg -target /
   ```

   安裝完成後，偵錯記錄檔會寫入 `/var/log/install.log`。

1. 若要確認 Shell 可以在您的 `aws` 中尋找並執行 `$PATH` 命令，請使用下列命令。

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   如果找不到 `aws` 命令，您可能需要重新啟動終端機或遵循 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 中的故障診斷。

------
#### [ Command line - Current user ]

1. 若要指定要安裝 AWS CLI 的資料夾，您必須建立具有任何檔案名稱的 XML 檔案。這個檔案是 XML 格式化的檔案，看起來如下列範例。如圖所示保留所有值，但您必須將第 9 行中的路徑 */Users/myusername* 替換為要安裝 AWS CLI 的資料夾路徑。*資料夾必須已存在，否則命令會失敗。*下列 XML 範例名為 *choices.xml*，指定安裝程式在資料夾 AWS CLI 中安裝 `/Users/myusername`，並在其中建立名為 的資料夾`aws-cli`。

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
   <plist version="1.0">
     <array>
       <dict>
         <key>choiceAttribute</key>
         <string>customLocation</string>
         <key>attributeSetting</key>
         <string>/Users/myusername</string>
         <key>choiceIdentifier</key>
         <string>default</string>
       </dict>
     </array>
   </plist>
   ```

1. 使用 `curl` 命令下載 `pkg` 安裝程式。在此範例中，`-o` 選項會指定系統寫入下載套件的檔案名稱。在前述的範例中，檔案會寫入目前的資料夾中的 `AWSCLIV2.pkg`。

   ```
   $ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
   ```

1. 現在您可以使用下列選項來執行標準 macOS `installer` 程式：
   + 使用參數 `-pkg` 指定要安裝的套件的名稱。
   + 若要指定*僅限目前使用者*的安裝，您必須設定參數 `-target` 為 `CurrentUserHomeDirectory`。
   + 指定您在 `-applyChoiceChangesXML` 參數中建立的 XML 檔案的路徑 (相對於目前的資料夾) 和名稱。

   下列範例會在 資料夾 AWS CLI 中安裝 `/Users/myusername/aws-cli`。

   ```
   $ installer -pkg AWSCLIV2.pkg \
               -target CurrentUserHomeDirectory \
               -applyChoiceChangesXML choices.xml
   ```

1. 由於標準使用者許可通常不允許寫入 `$PATH` 中的資料夾，因此此模式下的安裝程式不會嘗試新增連至 `aws` 和 `aws_completer` 的符號連結。若要 AWS CLI 讓 正確執行，您必須在安裝程式完成後手動建立符號連結。如果您的 `$PATH` 包含可以寫入的資料夾，則如果將該資料夾指定為目標路徑，則可執行下列命令而無需 `sudo`。如果您的 `$PATH` 中沒有可寫入的資料夾，則必須使 `sudo` 以取得寫入指定目標資料夾的許可。符號連結的預設位置為 `/usr/local/bin/`。以您的 AWS CLI 安裝路徑替換 `folder/installed`。

   ```
   $ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
   $ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
   ```

   安裝完成後，偵錯記錄檔會寫入 `/var/log/install.log`。

1. 若要確認 Shell 可以在您的 `aws` 中尋找並執行 `$PATH` 命令，請使用下列命令。

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   如果找不到 `aws` 命令，您可能需要重新啟動終端機或遵循 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 中的故障診斷。

------

### Windows
<a name="install-windows"></a>

#### 安裝和更新需求
<a name="install-windows-prereqs"></a>
+ 我們在 Microsoft 支援的 64 位元 Windows 版本 AWS CLI 上支援 。
+ 安裝軟體的管理員權限

#### 安裝或更新 AWS CLI
<a name="install-windows-instructions"></a>

若要更新目前在 Windows AWS CLI 上安裝的 ，請在每次更新時下載新的安裝程式以覆寫先前的版本。 AWS CLI 會定期更新。若要檢視最新版本發佈的時間，請參閱 *GitHub* 上的 [AWS CLI 第 2 版變更日誌](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst)。

1. 下載並執行適用於 Windows 的 AWS CLI MSI 安裝程式 (64 位元）：

   [https://awscli.amazonaws.com/AWSCLIV2.msi](https://awscli.amazonaws.com/AWSCLIV2.msi) 

   您也可以執行 `msiexec` 命令來執行 MSI 安裝程式。

   ```
   C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
   ```

   如需可與 `msiexec` 一起使用的各種參數，請參閱 *Microsoft Docs* 網站上的 [msiexec](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec)。例如，您可以使用 `/qn` 標記進行無訊息安裝。

   ```
   C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi /qn
   ```

1. 若要確認安裝，請開啟**開始**功能表、搜尋 `cmd` 以開啟命令提示字元視窗，然後在命令提示字元中使用 `aws --version` 命令。

   ```
   C:\> aws --version
   aws-cli/2.27.41 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
   ```

   如果 Windows 找不到程式，您可能需要關閉命令提示字元再重新開啟，以重新整理路徑，或遵循 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 中的故障診斷。

## 針對 AWS CLI 安裝和解除安裝錯誤進行故障診斷
<a name="install-tshoot"></a>

如果您在安裝或解除安裝 之後遇到問題 AWS CLI，請參閱 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 以取得故障診斷步驟。如需最相關的故障診斷步驟，請參閱 [命令未找到錯誤](cli-chap-troubleshooting.md#tshoot-install-not-found)、[「`aws --version`」命令傳回的版本與您安裝的版本不同](cli-chap-troubleshooting.md#tshoot-install-wrong-version) 和 [解除安裝 後，「`aws --version`」命令會傳回版本 AWS CLI](cli-chap-troubleshooting.md#tshoot-uninstall-1)。

## 後續步驟
<a name="install-next-steps"></a>

成功安裝 後 AWS CLI，您可以安全地刪除下載的安裝程式檔案。完成 中的步驟[使用第 2 AWS CLI 版的先決條件](getting-started-prereqs.md)並安裝 後 AWS CLI，您應該執行 [設定 AWS CLI](getting-started-quickstart.md)。

# 安裝 AWS CLI 第 2 版的過去版本
<a name="getting-started-version"></a>

本主題說明如何在支援的作業系統上安裝 第 2 AWS Command Line Interface 版 (AWS CLI) 的過去版本。如需 AWS CLI 第 2 版的資訊，請參閱 GitHub 上的第 [AWS CLI 2 版變更日誌](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst)。

AWS CLI 第 2 版安裝說明：

## Linux
<a name="versioned-linux"></a>

### 安裝要求
<a name="versioned-linux-reqs"></a>
+ 您知道想要安裝的 第 2 AWS CLI 版版本。如需版本清單，請參閱 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 第 2 版變更日誌*。
+ 您必須能夠解壓縮或「解壓縮」下載的套件。如果您的作業系統沒有內建 `unzip` 命令，請使用對等的命令。
+ 第 2 AWS CLI 版使用 `glibc`、 `groff`和 `less`。依預設，這些會包含在 Linux 的大多數主要發行版中。
+ 我們支援 CentOS、Fedora、Ubuntu、Amazon Linux AWS CLI 1、Amazon Linux 2 和 Linux ARM 最近發行版本的 64 位元版本 2。
+ 由於 AWS 不會維護第三方儲存庫，因此我們無法保證它們包含最新版本的 AWS CLI。

### 安裝說明
<a name="versioned-linux-instructions"></a>

請依照命令列中的下列步驟，在 Linux AWS CLI 上安裝 。

我們會根據您使用 64 位元 Linux 或 Linux ARM，在一個易於複製和貼上群組中提供步驟。請參閱後續步驟中每一行的描述。

------
#### [ Linux x86 (64-bit) ]

**注意**  
**（選用）** 下列命令區塊會下載並安裝 ， AWS CLI 而無需先驗證下載的完整性。若要驗證下載的完整性，請使用以下逐步說明。

 如需版本清單，請參閱 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 第 2 版變更日誌*。

**若要安裝** AWS CLI，請執行下列命令。

若要指定版本，請在檔案名稱中附加連字號和版本號碼。在這個範例中，版本 *2.0.30* 的檔案名稱為 `awscli-exe-linux-x86_64-2.0.30.zip`，因此使用以下命令：

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
```

**若要更新** AWS CLI目前的安裝，新增現有的符號連結和安裝程式資訊,以使用 `--bin-dir`、`--install-dir` 和 `--update` 參數建構 `install` 命令。下列命令區塊使用 */usr/local/bin* 的範例符號連結，以及 */usr/local/aws-cli* 的範例安裝程式位置。

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
```

------
#### [ Linux ARM ]

**注意**  
**（選用）** 下列命令區塊會下載並安裝 ， AWS CLI 而無需先驗證下載的完整性。若要驗證下載的完整性，請使用以下逐步說明。

 如需版本清單，請參閱 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 第 2 版變更日誌*。

**若要安裝** AWS CLI，請執行下列命令。

若要指定版本，請在檔案名稱中附加連字號和版本號碼。在這個範例中，版本 *2.0.30* 的檔案名稱為 `awscli-exe-linux-aarch64-2.0.30.zip`，因此使用以下命令：

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
```

**若要更新** AWS CLI目前的安裝，新增現有的符號連結和安裝程式資訊,以使用 `--bin-dir`、`--install-dir` 和 `--update` 參數建構 `install` 命令。下列命令區塊使用 */usr/local/bin* 的範例符號連結，以及 */usr/local/aws-cli* 的範例安裝程式位置。

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
```

------

1. 使用下列其中一種方式下載安裝檔案：

------
#### [ Linux x86 (64-bit) ]
   + **使用 `curl` 命令** – `-o` 選項會指定已下載套件寫入的檔案名稱。下列範例命令的選項會使下載的檔案以本機時間 `awscliv2.zip` 寫入目前的目錄。

     若要指定版本，請在檔案名稱中附加連字號和版本號碼。在這個範例中，版本 *2.0.30* 的檔案名稱為 `awscli-exe-linux-x86_64-2.0.30.zip`，因此使用以下命令：

     ```
     $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"
     ```

      如需版本清單，請參閱 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 第 2 版變更日誌*。
   + **從 URL 下載**– 

     在您的瀏覽器中，將連字號和版本號碼附加至檔案名稱， AWS CLI 以下載特定版本的 。

     ```
     https://awscli.amazonaws.com/awscli-exe-linux-x86_64-version.number.zip
     ```

     在此範例中，版本 *2.0.30* 的檔案名為 awscli-exe-linux-x86\$164-2.0.30.zip，因此使用以下連結：[https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip](https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip)

------
#### [ Linux ARM ]
   + **使用 `curl` 命令** – `-o` 選項會指定已下載套件寫入的檔案名稱。下列範例命令的選項會使下載的檔案以本機時間 `awscliv2.zip` 寫入目前的目錄。

     若要指定版本，請在檔案名稱中附加連字號和版本號碼。在這個範例中，版本 *2.0.30* 的檔案名稱為 `awscli-exe-linux-aarch64-2.0.30.zip`，因此使用以下命令：

     ```
     $ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"
     unzip awscliv2.zip
     sudo ./aws/install
     ```
   + **從 URL 下載**– 

     在您的瀏覽器中，將連字號和版本號碼附加至檔案名稱， AWS CLI 以下載特定版本的 。

     ```
     https://awscli.amazonaws.com/awscli-exe-linux-aarch64-version.number.zip
     ```

     在這個範例中，版本 *2.0.30* 的檔案名稱為 `awscli-exe-linux-aarch64-2.0.30.zip`，因此使用以下連結：[https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip](https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip)

------

1. **(可選) 驗證所下載 zip 檔案的完整性**

   如果您選擇`.zip`在上述步驟中手動下載 AWS CLI 安裝程式套件，則可以使用 `GnuPG`工具，使用下列步驟來驗證簽章。

    AWS CLI 安裝程式套件`.zip`檔案使用 PGP 簽章進行密碼編譯簽署。如果檔案有任何損壞或更改，此驗證會失敗，且您不應該繼續進行安裝。

   1. 使用您的套件管理工具下載並安裝 `gpg` 命令。如需有關 `GnuPG` 的詳細資訊，請參閱 [GnuPG 網站](https://www.gnupg.org/)。

   1. 若要建立公開金鑰檔案，請建立文字檔案，然後貼上下列文字。

      ```
      -----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
      tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4CGwMF
      CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQT7Xbd/1cEYuAURraimMQrMRnJHXAUC
      aGveYQUJDMpiLAAKCRCmMQrMRnJHXKBYD/9Ab0qQdGiO5hObchG8xh8Rpb4Mjyf6
      0JrVo6m8GNjNj6BHkSc8fuTQJ/FaEhaQxj3pjZ3GXPrXjIIVChmICLlFuRXYzrXc
      Pw0lniybypsZEVai5kO0tCNBCCFuMN9RsmmRG8mf7lC4FSTbUDmxG/QlYK+0IV/l
      uJkzxWa+rySkdpm0JdqumjegNRgObdXHAQDWlubWQHWyZyIQ2B4U7AxqSpcdJp6I
      S4Zds4wVLd1WE5pquYQ8vS2cNlDm4QNg8wTj58e3lKN47hXHMIb6CHxRnb947oJa
      pg189LLPR5koh+EorNkA1wu5mAJtJvy5YMsppy2y/kIjp3lyY6AmPT1posgGk70Z
      CmToEZ5rbd7ARExtlh76A0cabMDFlEHDIK8RNUOSRr7L64+KxOUegKBfQHb9dADY
      qqiKqpCbKgvtWlds909Ms74JBgr2KwZCSY1HaOxnIr4CY43QRqAq5YHOay/mU+6w
      hhmdF18vpyK0vfkvvGresWtSXbag7Hkt3XjaEw76BzxQH21EBDqU8WJVjHgU6ru+
      DJTs+SxgJbaT3hb/vyjlw0lK+hFfhWKRwgOXH8vqducF95NRSUxtS4fpqxWVaw3Q
      V2OWSjbne99A5EPEySzryFTKbMGwaTlAwMCwYevt4YT6eb7NmFhTx0Fis4TalUs+
      j+c7Kg92pDx2uQ==
      =OBAt
      -----END PGP PUBLIC KEY BLOCK-----
      ```

      以下公開金鑰詳細資訊僅供參考。

      ```
      Key ID:           A6310ACC4672
      Type:             RSA
      Size:             4096/4096
      Created:          2019-09-18
      Expires:          2026-07-07
      User ID:          AWS CLI Team <aws-cli@amazon.com>
      Key fingerprint:  FB5D B77F D5C1 18B8 0511  ADA8 A631 0ACC 4672 475C
      ```

   1. 使用下列命令匯入 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
      ```

   1. 下載您下載之套件的 AWS CLI 簽章檔案。它會有與其對應的 `.zip` 檔案具有相同的路徑和名稱，但具有副檔名 `.sig`。在下列範例中，我們將它作為名稱 `awscliv2.sig` 的檔案儲存在目前的資料夾。

------
#### [ Linux x86 (64-bit) ]

      **對於最新版本的 AWS CLI，**請使用下列命令區塊：

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip.sig
      ```

      **對於特定版本的 AWS CLI，**請將連字號和版本號碼附加至檔案名稱。在這個範例中，版本 *2.0.30* 的檔案名稱為 `awscli-exe-linux-x86_64-2.0.30.zip.sig`，因此使用以下命令：

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip.sig
      ```

       如需版本清單，請參閱 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 第 2 版變更日誌*。

------
#### [ Linux ARM ]

      **對於最新版本的 AWS CLI，**請使用下列命令區塊：

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip.sig
      ```

      **對於特定版本的 AWS CLI，**請將連字號和版本號碼附加至檔案名稱。在這個範例中，版本 *2.0.30* 的檔案名稱為 `awscli-exe-linux-aarch64-2.0.30.zip.sig`，因此使用以下命令：

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip.sig
      ```

       如需版本清單，請參閱 [GitHub](https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst?plain=1) 上的 *AWS CLI 第 2 版變更日誌*。

------

   1. 驗證簽章，並將下載的 `.sig` 和 `.zip` 檔案名稱以參數形式傳遞給 `gpg` 命令。

      ```
      $ gpg --verify awscliv2.sig awscliv2.zip
      ```

      輸出應看起來如下列內容。

      ```
      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 金鑰之間沒有信任鏈。如需詳細資訊，請參閱「[信任網路](https://en.wikipedia.org/wiki/Web_of_trust)」。

1. 解壓縮安裝程式。如果您的 Linux 發行版沒有內建 `unzip` 命令，請使用類似命令解壓縮。下列範例命令會解壓縮套件，並在名為 `aws` 的目前目錄下建立目錄。

   ```
   $ unzip awscliv2.zip
   ```

1. 執行安裝程式。安裝命令會使用新解壓縮的 `aws` 目錄中名為 `install` 的檔案。依預設，檔案會全部安裝到 `/usr/local/aws-cli`，並在 `/usr/local/bin` 中建立符號連結。命令包括 `sudo`，以授予寫入權限給這些資料夾。

   ```
   $ sudo ./aws/install
   ```

   如果指定您已具有寫入權限的資料夾，則可以在不使用 `sudo` 的情況下進行安裝。使用下列 `install` 命令指示來指定安裝位置：
   + 請確定您提供給 `-i` 和 `-b` 參數的路徑不包含任何包含空格字元或其他空格字元的磁碟區名稱或目錄名稱。如果有空格，則安裝會失敗。
   + `--install-dir` 或 `-i` – 此選項指定要將所有檔案複製到的目錄。

     預設值為 `/usr/local/aws-cli`。
   + `--bin-dir` 或 `-b` – 此選項會指定安裝目錄中的 `aws` 主程式以符號方式連結至指定路徑的檔案 `aws`。您必須具有指定目錄的寫入許可。建立路徑中已存在目錄的符號連結，可讓您不需將安裝目錄新增到使用者的 `$PATH` 變數。

     預設值為 `/usr/local/bin`。

   ```
   $ ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
   ```
**注意**  
若要將 AWS CLI 版本 2 的目前安裝更新至較新版本，請新增現有的符號連結和安裝程式資訊，以使用 `--update` 參數建構 `install`命令。  

   ```
   $ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
   ```
若要找到現有的符號連結和安裝目錄，請執行以下步驟：  
使用 `which` 命令來查找您的符號連結。這提供您與 `--bin-dir` 參數一起使用的路徑。  

      ```
      $ which aws
      /usr/local/bin/aws
      ```
使用 `ls` 命令來查找符號連結指向的目錄。這提供您與 `--install-dir` 參數一起使用的路徑。  

      ```
      $ ls -l /usr/local/bin/aws
      lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws -> /usr/local/aws-cli/v2/current/bin/aws
      ```

1. 請使用以下命令來確認安裝。

   ```
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64
   ```

   如果找不到 `aws` 命令，您可能需要重新啟動終端機或遵循 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 中的故障診斷。

## macOS
<a name="versioned-macos"></a>

### 安裝要求
<a name="versioned-macos-reqs"></a>
+ 您知道想要安裝的 第 2 AWS CLI 版版本。如需版本清單，請參閱 [GitHub](https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst?plain=1) 上的 *AWS CLI 第 2 版變更日誌*。
+ 我們支援 Apple AWS CLI 支援的 64 位元 macOS 版本 2。
+ 由於 AWS 不會維護第三方儲存庫，因此我們無法保證它們包含最新版本的 AWS CLI。

### 安裝說明
<a name="versioned-macos-install"></a>

您可以透過下列方式在 macOS 上安裝 第 2 AWS CLI 版。

------
#### [ GUI installer ]

以下步驟說明如何使用標準 macOS 使用者界面和瀏覽器來安裝或更新至 AWS CLI 第 2 版的最新版本。如果您要更新至最新版本，請使用您目前版本所使用的相同安裝方法。

1. 在您的瀏覽器中，將連字號和版本號碼附加至檔案名稱， AWS CLI 以下載特定版本的 。

   ```
   https://awscli.amazonaws.com/AWSCLIV2-version.number.pkg
   ```

   在這個範例中，版本 *2.0.30* 的檔案名稱為 `AWSCLIV2-2.0.30.pkg`，因此使用以下連結：[https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg](https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg)。

1. 請依照畫面上的指示，執行您下載的檔案。您可以選擇以下列方式安裝第 2 AWS CLI 版：
   + **對於電腦上的所有使用者 (需要 `sudo`)**
     + 您可以安裝到任何資料夾，或選擇建議的 `/usr/local/aws-cli` 的預設資料夾。
     + 安裝程式會自動在 `/usr/local/bin/aws` 建立符號連結，其連結至您所選擇的安裝資料夾中的主程式。
   + **只對於目前的使用者 (不需要 `sudo`)**
     + 您可以安裝到任何具有寫入權限的資料夾。
     + 由於標準的使用者許可，在安裝程式完成之後，您的 `$PATH` 必須在命令提示字元中使用下列命令，手動建立指向 `aws` 和 `aws_completer` 程式的符號連結檔案。如果您的 `$PATH` 包含可以寫入的資料夾，則如果將該資料夾指定為目標路徑，則可執行下列命令而無需 `sudo`。如果您在 `$PATH` 中沒有可寫入的資料夾，則必須在命令中使用 `sudo`，以取得寫入指定目標資料夾的許可。符號連結的預設位置為 `/usr/local/bin/`。

       ```
       $ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
       $ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
       ```
**注意**  
您可以在安裝程式中的任何位置按 **Cmd\$1L** 來檢視安裝的偵錯日誌。這會開啟一個日誌窗格，使您能夠篩選和儲存日誌。日誌檔也會自動儲存到 `/var/log/install.log`。

1. 若要確認 Shell 可以在您的 `aws` 中尋找並執行 `$PATH` 命令，請使用下列命令。

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   如果找不到 `aws` 命令，您可能需要重新啟動終端機或遵循 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 中的故障診斷。

------
#### [ Command line installer - All users ]

如果您有`sudo`許可，您可以為電腦上的所有使用者安裝 第 2 AWS CLI 版。我們提供一組易於複製和貼上的步驟。請參閱後續步驟中每一行的描述。

對於特定版本的 AWS CLI，請將連字號和版本號碼附加至檔案名稱。在這個範例中，版本 *2.0.30* 的檔案名稱為 `AWSCLIV2-2.0.30.pkg`，因此使用以下命令：

```
$ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
```

1. 使用 `curl` 命令下載檔案。在此範例中，`-o` 選項會指定系統寫入下載套件的檔案名稱。在前述的範例中，檔案會寫入目前的資料夾中的 `AWSCLIV2.pkg`。

   對於特定版本的 AWS CLI，請將連字號和版本號碼附加至檔案名稱。在這個範例中，版本 *2.0.30* 的檔案名稱為 `AWSCLIV2-2.0.30.pkg`，因此使用以下命令：

   ```
   $ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"
   ```

    如需版本清單，請參閱 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 第 2 版變更日誌*。

1. 執行標準 macOS `installer` 程式，將下載的 `.pkg` 檔案指定為來源。使用 `-pkg` 參數可指定要安裝的套件名稱，以及磁碟機要安裝套件的 `-target /` 參數。檔案會安裝到 `/usr/local/aws-cli`，並且會在 `/usr/local/bin` 中自動建立符號連結。您必須在命令上包含 `sudo`，才能將寫入權限授予這些資料夾。

   ```
   $ sudo installer -pkg ./AWSCLIV2.pkg -target /
   ```

   安裝完成後，偵錯記錄檔會寫入 `/var/log/install.log`。

1. 若要確認 Shell 可以在您的 `aws` 中尋找並執行 `$PATH` 命令，請使用下列命令。

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   如果找不到 `aws` 命令，您可能需要重新啟動終端機或遵循 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 中的故障診斷。

------
#### [ Command line - Current user ]

1. 若要指定要安裝 AWS CLI 的資料夾，您必須建立 XML 檔案。這個檔案是 XML 格式化的檔案，看起來如下列範例。保留所有值，如下所示，但您必須將第 9 行中的路徑 */Users/myusername* 取代為要安裝第 2 AWS CLI 版之資料夾的路徑。*資料夾必須已存在，否則命令會失敗。*此 XML 範例指定安裝程式在資料夾 AWS CLI 中安裝 `/Users/myusername`，並在其中建立名為 的資料夾`aws-cli`。

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
   <plist version="1.0">
     <array>
       <dict>
         <key>choiceAttribute</key>
         <string>customLocation</string>
         <key>attributeSetting</key>
         <string>/Users/myusername</string>
         <key>choiceIdentifier</key>
         <string>default</string>
       </dict>
     </array>
   </plist>
   ```

1. 使用 `curl` 命令下載 `pkg` 安裝程式。在此範例中，`-o` 選項會指定系統寫入下載套件的檔案名稱。在前述的範例中，檔案會寫入目前的資料夾中的 `AWSCLIV2.pkg`。

   對於 的特定版本 AWS CLI，請將連字號和版本號碼附加至檔案名稱。在這個範例中，版本 *2.0.30* 的檔案名稱為 `AWSCLIV2-2.0.30.pkg`，因此使用以下命令：

   ```
   $ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"
   ```

    如需版本清單，請參閱 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 第 2 版變更日誌*。

1. 現在您可以使用下列選項來執行標準 macOS `installer` 程式：
   + 使用參數 `-pkg` 指定要安裝的套件的名稱。
   + 若要指定*僅限目前使用者*的安裝，您必須設定參數 `-target` 為 `CurrentUserHomeDirectory`。
   + 指定您在 `-applyChoiceChangesXML` 參數中建立的 XML 檔案的路徑 (相對於目前的資料夾) 和名稱。

   下列範例會在 資料夾 AWS CLI 中安裝 `/Users/myusername/aws-cli`。

   ```
   $ installer -pkg AWSCLIV2.pkg \
               -target CurrentUserHomeDirectory \
               -applyChoiceChangesXML choices.xml
   ```

1. 由於標準使用者許可通常不允許寫入 `$PATH` 中的資料夾，因此此模式下的安裝程式不會嘗試新增連至 `aws` 和 `aws_completer` 的符號連結。若要 AWS CLI 讓 正確執行，您必須在安裝程式完成後手動建立符號連結。如果您的 `$PATH` 包含可以寫入的資料夾，則如果將該資料夾指定為目標路徑，則可執行下列命令而無需 `sudo`。如果您的 `$PATH` 中沒有可寫入的資料夾，則必須使 `sudo` 以取得寫入指定目標資料夾的許可。符號連結的預設位置為 `/usr/local/bin/`。

   ```
   $ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
   $ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
   ```

   安裝完成後，偵錯記錄檔會寫入 `/var/log/install.log`。

1. 若要確認 Shell 可以在您的 `aws` 中尋找並執行 `$PATH` 命令，請使用下列命令。

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   如果找不到 `aws` 命令，您可能需要重新啟動終端機或遵循 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 中的故障診斷。

------

## Windows
<a name="versioned-windows"></a>

### 安裝要求
<a name="versioned-windows-reqs"></a>
+ 您知道想要安裝的 第 2 AWS CLI 版版本。如需版本清單，請參閱 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 第 2 版變更日誌*。
+ 我們在 Microsoft 支援的 64 位元 Windows 版本 AWS CLI 上支援 。
+ 安裝軟體的管理員權限

### 安裝說明
<a name="versioned-windows-install"></a>

若要更新目前在 Windows 上安裝的第 2 AWS CLI 版，請在每次更新時下載新的安裝程式以覆寫先前的版本。 AWS CLI 會定期更新。若要檢視最新版本發佈的時間，請參閱 *GitHub* 上的 [AWS CLI 第 2 版變更日誌](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst)。

1. 以下列其中一種方式下載並執行適用於 Windows 的 AWS CLI MSI 安裝程式 (64 位元）：
   + **下載並執行 MSI 安裝程式：**若要為特定版本的 建立下載連結 AWS CLI，請將連字號和版本編號附加至檔案名稱。

     ```
     https://awscli.amazonaws.com/AWSCLIV2-version.number.msi
     ```

     在這個範例中，版本 *2.0.30* 的檔案名稱為 `AWSCLIV2-2.0.30.msi`，因此使用以下連結：[https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi](https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi)。
   + **使用 Msiexec 命令：**或者，您也可以使用 MSI 安裝程式，方法是將連結新增至 `msiexec` 命令。對於特定版本的 AWS CLI，請將連字號和版本號碼附加至檔案名稱。

     ```
     C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2-version.number.msi
     ```

     在這個範例中，版本 *2.0.30* 的檔案名稱為 `AWSCLIV2-2.0.30.msi`，因此使用以下連結：[https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi](https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi)。

     ```
     C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi
     ```

     如需可與 `msiexec` 一起使用的各種參數，請參閱 *Microsoft Docs* 網站上的 [msiexec](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec)。

   如需版本清單，請參閱 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 第 2 版變更日誌*。

1. 若要確認安裝，請開啟**開始**功能表、搜尋 `cmd` 以開啟命令提示字元視窗，然後在命令提示字元中使用 `aws --version` 命令。

   ```
   C:\> aws --version
   aws-cli/2.27.41 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
   ```

   如果 Windows 找不到程式，您可能需要關閉命令提示字元再重新開啟，以重新整理路徑，或遵循 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 中的故障診斷。

## 針對 AWS CLI 安裝和解除安裝錯誤進行故障診斷
<a name="getting-started-version-tshoot"></a>

如果您在安裝或解除安裝 之後遇到問題 AWS CLI，請參閱 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 以取得故障診斷步驟。如需最相關的故障診斷步驟，請參閱 [命令未找到錯誤](cli-chap-troubleshooting.md#tshoot-install-not-found)、[「`aws --version`」命令傳回的版本與您安裝的版本不同](cli-chap-troubleshooting.md#tshoot-install-wrong-version) 和 [解除安裝 後，「`aws --version`」命令會傳回版本 AWS CLI](cli-chap-troubleshooting.md#tshoot-uninstall-1)。

## 後續步驟
<a name="getting-started-version-next"></a>

完成 [使用第 2 AWS CLI 版的先決條件](getting-started-prereqs.md) 中的步驟並安裝 AWS CLI後，則應執行 [設定 AWS CLI](getting-started-quickstart.md)。

# AWS CLI 從來源建置和安裝
<a name="getting-started-source-install"></a>

本主題將描述如何在支援的作業系統上從來源安裝或更新 AWS Command Line Interface (AWS CLI)。

如需最新版本 的資訊 AWS CLI，請參閱 GitHub 上的[AWS CLI 第 2 版變更日誌](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst)。

**重要**  
AWS CLI 第 1 版和第 2 版使用相同的`aws`命令名稱。如果您先前已安裝 AWS CLI 版本 1，請參閱 [第 2 AWS CLI 版的遷移指南](cliv2-migration.md)。

**Topics**
+ [為什麼要從來源建置？](#source-getting-started-install-why)
+ [快速步驟](#source-getting-started-install-quicksteps)
+ [步驟 1：設定所有要求](#source-getting-started-install-reqs)
+ [步驟 2：設定 AWS CLI 來源安裝](#source-getting-started-install-config)
+ [步驟 3：建置 AWS CLI](#source-getting-started-install-build)
+ [步驟 4：安裝 AWS CLI](#source-getting-started-install-instructions)
+ [步驟 5：驗證 AWS CLI 安裝](#source-getting-started-install-verify)
+ [工作流程範例](#source-getting-started-install-workflows)
+ [針對 AWS CLI 安裝和解除安裝錯誤進行故障診斷](#source-install-tshoot)
+ [後續步驟](#source-install-next-steps)

## 為什麼要從來源建置？
<a name="source-getting-started-install-why"></a>

 AWS CLI 適用於[大多數平台和環境的預先建置安裝程式](getting-started-install.md)，以及 Docker 映像。

這些安裝程式通常涵蓋大多數的使用案例。從來源安裝的說明是為了幫助我們的安裝程式未涵蓋的使用案例。部分使用案例如下：
+ 預先建置的安裝程式不支援您的環境。例如，預先建置的安裝程式不支援 ARM 32 位元。
+ 預先建置的安裝程式具有您環境缺少的相依性。例如，Alpine Linux 使用 [https://musl.libc.org/](https://musl.libc.org/)，但是現有的安裝程式需要 `glibc`，造成預先建置的安裝程式無法立即運作。
+ 預先建置的安裝程式需要您的環境限制存取的資源。例如，強化安全性的系統可能不會授予共用記憶體的權限。這是凍結的 `aws` 安裝程式所需的。
+ 預先建置的安裝程式通常是套件管理工具中維護程式的封鎖程式，通常建議程式碼和套件在建置過程中取得完全控制權限。從來源建置讓分發維護程式能以更簡化的流程持續更新 AWS CLI 。啟用維護程式可在客戶從 `brew`、`yum` 和 `apt` 等第三方套件管理工具安裝時，提供客戶更新的 AWS CLI 版本。
+ 修補 AWS CLI 功能的客戶需要從來源建置和安裝 AWS CLI 。這對想要在對 AWS CLI GitHub 儲存庫做出變更之前測試對來源所做的變更的社群成員來說特別重要。

## 快速步驟
<a name="source-getting-started-install-quicksteps"></a>

**注意**  
所有程式碼範例都是假設從來源目錄的根目錄執行。

若要 AWS CLI 從來源建置和安裝 ，請遵循本節中的步驟。 AWS CLI 利用 [GNU 自動工具](https://www.gnu.org/software/automake/faq/autotools-faq.html)從來源安裝。在最簡單的情況下， AWS CLI 您可以從來源安裝 ，方法是從 AWS CLI GitHub 儲存庫的根目錄執行預設範例命令。



1. [為您的環境設定所有需求。](#source-getting-started-install-reqs)這包括能執行 [GNU 自動工具](https://www.gnu.org/software/automake/faq/autotools-faq.html)產生的檔案和安裝 Python 3.8 或更新版本。

1. 在終端機中，導覽至 AWS CLI 來源資料夾的最上層，然後執行 `./configure`命令。此命令會檢查系統中是否有所有必要的相依性，並根據偵測到和指定的組態產生 `Makefile` 用於建置和安裝 AWS CLI 。

------
#### [ Linux and macOS ]

   下列`./configure`命令範例 AWS CLI 會使用預設設定來設定 的建置組態。

   ```
   $ ./configure
   ```

------
#### [ Windows PowerShell ]

   執行任何呼叫 MSYS2 的命令之前，您必須保留現有的工作目錄：

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

   然後使用下列`./configure`命令範例， AWS CLI 使用 Python 可執行檔的本機路徑來設定 的建置組態、安裝至 C：\$1Program Files\$1AWSCLI，以及下載所有相依性。

   ```
   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 來源安裝](#source-getting-started-install-config) 一節。

1. 執行 `make` 命令。此命令 AWS CLI 會根據您的組態設定建置 。

   下列 `make` 命令範例會使用您現有的 `./configure` 設定，以預設選項建置。

------
#### [ Linux and macOS ]

   ```
   $ make
   ```

------
#### [ Windows PowerShell ]

   ```
   PS C:\> C:\msys64\usr\bin\bash -lc "make" 
   ```

------

   如需詳細資訊和可用的建置選項，請參閱 [步驟 3：建置 AWS CLI](#source-getting-started-install-build) 一節。

1. 執行 `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](#source-getting-started-install-instructions) 一節。

1. 使用以下命令確認 AWS CLI 已成功安裝 ：

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

   如需安裝錯誤的故障診斷步驟，請參閱 [針對 AWS CLI 安裝和解除安裝錯誤進行故障診斷](#source-install-tshoot) 一節。

## 步驟 1：設定所有要求
<a name="source-getting-started-install-reqs"></a>

若要 AWS CLI 從來源建置 ，您需要事先完成下列項目：

**注意**  
所有程式碼範例都是假設從來源目錄的根目錄執行。

1. 透過 AWS CLI 偽造 AWS CLI GitHub 儲存庫或下載來源 tarball 來下載來源。說明如下：
   + 從 *GitHub* 延伸和複製 [AWS CLI 儲存庫](https://github.com/aws/aws-cli)。如需詳細資訊，請參閱 *GitHub 文件*中的《[延伸儲存庫](https://docs.github.com/en/get-started/quickstart/fork-a-repo)》。
   + 在 [https://awscli.amazonaws.com/awscli.tar.gz](https://awscli.amazonaws.com/awscli.tar.gz) 下載最新來源 tarball，並使用下列命令擷取內容：

     ```
     $ curl "https://awscli.amazonaws.com/awscli.tar.gz" -o "awscli.tar.gz"
     $ tar -xzf awscli.tar.gz
     ```
**注意**  
要下載特定版本，請使用以下連結格式：[https://awscli.amazonaws.com/awscli-*versionnumber*.tar.gz](https://awscli.amazonaws.com/awscli.tar.gz)   
例如，如需版本 2.10.0，則連結將如下：[https://awscli.amazonaws.com/awscli-*2.10.0*.tar.gz](https://awscli.amazonaws.com/awscli.tar.gz)  
來源版本從 AWS CLI的 **2.10.0** 版開始提供。

     **(可選) 完成下列步驟，驗證所下載 zip 檔案的完整性：**

     1. 您可以依循下列步驟使用 `GnuPG` 工具來驗證簽章。

         AWS CLI 安裝程式套件`.zip`檔案使用 PGP 簽章進行密碼編譯簽署。如果檔案有任何損壞或更改，此驗證會失敗，且您不應該繼續進行安裝。

     1. 使用您的套件管理工具下載並安裝 `gpg` 命令。如需有關 `GnuPG` 的詳細資訊，請參閱 [GnuPG 網站](https://www.gnupg.org/)。

     1. 若要建立公開金鑰檔案，請建立文字檔案，然後貼上下列文字。

        ```
        -----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
        tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4CGwMF
        CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQT7Xbd/1cEYuAURraimMQrMRnJHXAUC
        aGveYQUJDMpiLAAKCRCmMQrMRnJHXKBYD/9Ab0qQdGiO5hObchG8xh8Rpb4Mjyf6
        0JrVo6m8GNjNj6BHkSc8fuTQJ/FaEhaQxj3pjZ3GXPrXjIIVChmICLlFuRXYzrXc
        Pw0lniybypsZEVai5kO0tCNBCCFuMN9RsmmRG8mf7lC4FSTbUDmxG/QlYK+0IV/l
        uJkzxWa+rySkdpm0JdqumjegNRgObdXHAQDWlubWQHWyZyIQ2B4U7AxqSpcdJp6I
        S4Zds4wVLd1WE5pquYQ8vS2cNlDm4QNg8wTj58e3lKN47hXHMIb6CHxRnb947oJa
        pg189LLPR5koh+EorNkA1wu5mAJtJvy5YMsppy2y/kIjp3lyY6AmPT1posgGk70Z
        CmToEZ5rbd7ARExtlh76A0cabMDFlEHDIK8RNUOSRr7L64+KxOUegKBfQHb9dADY
        qqiKqpCbKgvtWlds909Ms74JBgr2KwZCSY1HaOxnIr4CY43QRqAq5YHOay/mU+6w
        hhmdF18vpyK0vfkvvGresWtSXbag7Hkt3XjaEw76BzxQH21EBDqU8WJVjHgU6ru+
        DJTs+SxgJbaT3hb/vyjlw0lK+hFfhWKRwgOXH8vqducF95NRSUxtS4fpqxWVaw3Q
        V2OWSjbne99A5EPEySzryFTKbMGwaTlAwMCwYevt4YT6eb7NmFhTx0Fis4TalUs+
        j+c7Kg92pDx2uQ==
        =OBAt
        -----END PGP PUBLIC KEY BLOCK-----
        ```

        以下公開金鑰詳細資訊僅供參考。

        ```
        Key ID:           A6310ACC4672
        Type:             RSA
        Size:             4096/4096
        Created:          2019-09-18
        Expires:          2026-07-07
        User ID:          AWS CLI Team <aws-cli@amazon.com>
        Key fingerprint:  FB5D B77F D5C1 18B8 0511  ADA8 A631 0ACC 4672 475C
        ```

     1. 使用下列命令匯入 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
        ```

     1. 下載您在 https：//[https://awscli.amazonaws.com/awscli.tar.gz.sig](https://awscli.amazonaws.com/awscli.tar.gz.sig) 下載之套件的 AWS CLI 簽章檔案。它會有與其對應的 tarball 檔案具有相同的路徑和名稱，但具有副檔名 `.sig`。將它儲存在與 tarball 檔案相同的路徑下。或使用下列命令區塊：

        ```
        $ curl awscliv2.sig https://awscli.amazonaws.com/ -o awscli.tar.gz.sig
        ```

     1. 驗證簽章，並將下載的 `.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 金鑰之間沒有信任鏈。如需詳細資訊，請參閱「[信任網路](https://wikipedia.org/wiki/Web_of_trust)」。

1. 您有一個環境可以執行 [GNU 自動工具](https://www.gnu.org/software/automake/faq/autotools-faq.html) 產生的檔案，例如 `configure` 和 `Makefile`。這些檔案在 POSIX 平台上廣泛可攜。

------
#### [ Linux and macOS ]

   如果您的環境尚未安裝 Autotools，或者您需要更新它們，請遵循 *GNU 文件*中[我如何安裝 Autotools (以使用者身分)？](https://www.gnu.org/software/automake/faq/autotools-faq.html#How-do-I-install-the-Autotools-_0028as-user_0029_003f)或[基本安裝](https://www.gnu.org/savannah-checkouts/gnu/automake/manual/automake.html#Basic-Installation)中的安裝說明。

------
#### [ Windows PowerShell ]

**警告**  
如果您處於 Windows 環境中，建議您使用預先建置的安裝程式。如需預先建置安裝程式的安裝說明，請參閱 [安裝或更新至最新版本的 AWS CLI](getting-started-install.md)

   由於 Windows 未隨附 POSIX 相容的 Shell，因此您需要安裝其他軟體，才能 AWS CLI 從來源安裝 。[MSYS2](https://www.msys2.org/) 提供了一系列工具和程式庫來幫助建置和安裝 Windows 軟體，尤其是對於 Autotools 使用的 POSIX 架構指令碼。

   1. 安裝 MSYS2。如需有關安裝和使用 MSYS2 的資訊，請參閱 *MSYS2 文件*中的[安裝和使用說明](https://www.msys2.org/)。

   1. 使用以下命令開啟 MSYS2 終端並安裝 Autotools。

      ```
      $ pacman -S autotools
      ```

**注意**  
使用本指南中適用於 Windows 的設定、建置和安裝程式碼範例時，會假設使用預設的 MSYS2 安裝路徑 `C:\msys64\usr\bin\bash`。在 PowerShell 中呼叫 MSYS2 時，您將使用以下格式，並使用引號中的 bash 命令：  

   ```
   PS C:\> C:\msys64\usr\bin\bash  -lc "command example" 
   ```
下列命令範例會呼叫 `./configure` 命令。  

   ```
   PS C:\> C:\msys64\usr\bin\bash  -lc "./configure" 
   ```

------

1. 已安裝 Python 3.8 或更新版本的解譯器。所需的最低 Python 版本遵循與官方[ Python 支援政策 AWS SDKs和工具](https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/)相同的時間表。解譯器僅支援到終止支援日期之後的 6 個月。

1. **(選擇性)** 安裝 AWS CLI所有的建置和執行時間 Python 程式庫相依性。如果缺少任何相依性以及不知道如何安裝，`./configure` 命令能提供您資訊。

   您可以透過配置自動安裝和使用這些相依性，請參閱 [下載相依性](#source-getting-started-install-config-dependencies) 獲得更多資訊。

## 步驟 2：設定 AWS CLI 來源安裝
<a name="source-getting-started-install-config"></a>

建置和安裝 的組態 AWS CLI 會使用 `configure`指令碼指定。如需所有組態選項的文件，請使用 `--help` 選項執行 `configure` 指令碼：

------
#### [ Linux and macOS ]

```
$ ./configure --help
```

------
#### [ Windows PowerShell ]

```
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --help" 
```

------

**Topics**
+ [安裝位置](#source-getting-started-install-config-location)
+ [Python 解譯器](#source-getting-started-install-config-interpreter)
+ [下載相依性](#source-getting-started-install-config-dependencies)
+ [安裝類型](#source-getting-started-install-config-type)

### 安裝位置
<a name="source-getting-started-install-config-location"></a>

的來源安裝 AWS CLI 使用兩個可設定的目錄來安裝 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` - 設定 `libdir` 用於安裝 AWS CLI。預設值為 `<prefix-value>/lib`。如果 `--libdir` 和 `--prefix` 兩者都未指定，Linux 和 macOS 的預設值為 `/usr/local/lib/`。
+ `--bindir` - 設定`bindir`用於安裝 AWS CLI `aws`和 `aws_completer` 可執行檔的 。預設值為 `<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 解譯器
<a name="source-getting-started-install-config-interpreter"></a>

**注意**  
強烈建議您在 Windows 安裝時，指定 Python 解譯器。

`./configure` 指令碼會自動選取已安裝的 Python 3.8 或更新版本解譯器，以 AWS CLI 使用 [https://www.gnu.org/software/automake/manual/html_node/Python.html](https://www.gnu.org/software/automake/manual/html_node/Python.html) Autoconf 巨集建置和執行 。

執行 `configure` 指令碼時，可以使用 `PYTHON` 環境變數明確設定要使用的 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"
```

------

### 下載相依性
<a name="source-getting-started-install-config-dependencies"></a>

根據預設，系統 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 相依性，並在 `make` 建置時**僅**使用下載的相依性來建置 AWS CLI 。

下面的配置命令範例使用 `--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"
```

------

### 安裝類型
<a name="source-getting-started-install-config-type"></a>

來源安裝程序支援下列安裝類型：
+ `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` 凍結在 `configure` 步驟中選擇的 Python 解譯器副本，以用於 AWS CLI的執行時間。這讓它可移動到可能沒有 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
<a name="source-getting-started-install-build"></a>

使用 `make`命令， AWS CLI 使用您的組態設定建置 ：

------
#### [ Linux and macOS ]

```
$ make
```

------
#### [ Windows PowerShell ]

```
PS C:\> C:\msys64\usr\bin\bash -lc "make"
```

------

**注意**  
虛擬環境使用 Python [https://docs.python.org/3/library/venv.html](https://docs.python.org/3/library/venv.html) 模組在建置目錄中建立。虛擬環境使用 [Python 標準庫中提供的 pip 版本](https://docs.python.org/3/library/ensurepip.html)啟動。
複製 Python 程式庫的相依性。根據是否在 `configure` 命令中指定 `--with-download-deps` 標記，此步驟會執行下列其中一項作業：  
指定 `--with-download-deps` ****。Python 的相依性使用 pip 安裝。這包括 `wheel`、`setuptools` 以及所有 AWS CLI 執行時間相依性。如果您在建置 `portable-exe`，則 `pyinstaller` 已安裝。這些要求都在從 [https://github.com/jazzband/pip-tools](https://github.com/jazzband/pip-tools) 中產生的鎖定檔案中指定。
**未指定** `--with-download-deps`。Python 解譯器站點套件中的 Python 庫以及任何指令碼 (例如 `pyinstaller`) 都將複製到用於建置的虛擬環境中。
`pip install` 直接在 AWS CLI 程式碼庫上執行 ，以在建置 AWS CLI 虛擬環境中執行離線的樹狀內建置和安裝 。此安裝使用 pip 標記 [--no-build-isolation](https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-no-build-isolation)、[--use-feature=in-tree-build](https://pip.pypa.io/en/stable/cli/pip_install/#local-project-installs)、[--no-cache-dir](https://pip.pypa.io/en/stable/cli/pip_install/#caching) 和 [https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-no-index](https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-no-index)。
**(選擇性)** 如果在 `configure` 命令中將 `--install-type` 設為 `portable-exe`，請使用 [https://www.pyinstaller.org/](https://www.pyinstaller.org/) 建置獨立的可執行檔。

## 步驟 4：安裝 AWS CLI
<a name="source-getting-started-install-instructions"></a>

`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` 規則支援 [https://www.gnu.org/software/make/manual/html_node/DESTDIR.html#DESTDIR](https://www.gnu.org/software/make/manual/html_node/DESTDIR.html#DESTDIR) 變數。如果有指定，此變數會在安裝 AWS CLI時，將指定路徑的加到已設定的安裝路徑前面。預設不會為此變數設定任何值。

------
#### [ Linux and macOS ]

下列程式碼範例會使用 `--prefix=/usr/local` 標記來設定安裝位置，然後使用 `make install` 指令和 `DESTDIR=/tmp/stage` 來變更目的地。這些命令會導致 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` 標記來設定安裝位置，然後使用 `make install` 指令和 `DESTDIR=C:\Program Files` 來變更目的地。這些命令會導致 AWS CLI 安裝在 。 `C:\Program Files\awscli`

```
$ ./configure --prefix=\awscli
$ make
$ make DESTDIR='C:\Program Files' install
```

------

**注意**  
將下列其中一項移至已設定的安裝目錄：  
如果安裝類型為 `system-sandbox`，移動您建置的虛擬環境。
如果安裝類型為 `portable-exe`，移動您建置的獨立可執行檔。
在配置的 bin 目錄中為 `aws` 和 `aws_completer` 可執行檔建立 symlink。

## 步驟 5：驗證 AWS CLI 安裝
<a name="source-getting-started-install-verify"></a>

使用以下命令確認 AWS CLI 已成功安裝 ：

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

如果找不到 `aws` 命令，您可能需要重新啟動終端，才能更新為新的 symlink。如果您在安裝或解除安裝 之後遇到其他問題 AWS CLI，請參閱 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 以取得常見的故障診斷步驟

## 工作流程範例
<a name="source-getting-started-install-workflows"></a>

本節提供一些從來源安裝的基本工作流程範例。

### 基本 Linux 和 macOS 安裝
<a name="source-getting-started-install-workflows-basic"></a>

下列範例是基本安裝工作流程，其中 AWS CLI 安裝在 的預設位置`/usr/local/lib/aws-cli`。

```
$ cd path/to/cli/respository/
$ ./configure
$ make
$ make install
```

### 自動化 Windows 安裝
<a name="source-getting-started-install-workflows-win"></a>

**注意**  
您必須以系統管理員身分執行 PowerShell，才能使用此工作流程。

MSYS2 可以在 CI 設定中以自動方式使用，請參閱 *MSYS2 文件*的[在 CI 使用 MSYS2](https://www.msys2.org/docs/ci/)。

------
#### [ 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 路徑。

下列程式碼範例會使用 MSYS2 AWS CLI 從 PowerShell 自動建置和安裝 ，並指定要使用的 Python 本機安裝：

```
PS C:\> curl "https://awscli.amazonaws.com/awscli.tar.gz" -o "awscliv2.zip"  #  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.27.41 Python/3.11.6 Windows/10 source-sandbox/AMD64
```

------
#### [ GitHub Repository ]

下載 `awscli.tar.gz` 檔案、解壓縮，並安裝 AWS CLI。使用下列命令時，請取代下列路徑：
+ `C:\msys64\usr\bin\bash` 取代為您的 MSYS2 路徑的位置。
+ `C:path\to\cli\repository\` 取代為從 *GitHub* 到複製 [AWS CLI 儲存庫](https://github.com/aws/aws-cli)的路徑。如需詳細資訊，請參閱 *GitHub 文件*中的《[延伸儲存庫](https://docs.github.com/en/get-started/quickstart/fork-a-repo)》
+ `PYTHON='C:\path\to\python.exe'` 取代為您的本機 Python 路徑。

下列程式碼範例會使用 MSYS2 AWS CLI 從 PowerShell 自動建置和安裝 ，並指定要使用的 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 容器
<a name="source-getting-started-install-workflows-alpine"></a>

以下的範例 Dockerfile，可用於在 Alpine Linux 容器取得 AWS CLI 的可運作安裝，作為 [Alpine 預先建置二進位檔的替代方案](https://github.com/aws/aws-cli/issues/4685)。使用此範例時，請將 *AWSCLI\$1VERSION* 取代為您所需的 AWS CLI 版本編號：

```
 1. FROM python:3.8-alpine AS builder
 2. 
 3. ENV AWSCLI_VERSION=2.10.1
 4. 
 5. RUN apk add --no-cache \
 6.     curl \
 7.     make \
 8.     cmake \
 9.     gcc \
10.     g++ \
11.     libc-dev \
12.     libffi-dev \
13.     openssl-dev \
14.     && curl https://awscli.amazonaws.com/awscli-${AWSCLI_VERSION}.tar.gz | tar -xz \
15.     && cd awscli-${AWSCLI_VERSION} \
16.     && ./configure --prefix=/opt/aws-cli/ --with-download-deps \
17.     && make \
18.     && make install
19. 
20. FROM python:3.8-alpine
21. 
22. RUN apk --no-cache add groff
23. 
24. COPY --from=builder /opt/aws-cli/ /opt/aws-cli/
25. 
26. 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
```

此影像的最終大小小於官方 Docker AWS CLI 影像的大小。如需 Docker 映像檔的相關資訊，請參閱 [執行 的官方 Amazon ECR Public 或 Docker 映像 AWS CLI](getting-started-docker.md)。

## 針對 AWS CLI 安裝和解除安裝錯誤進行故障診斷
<a name="source-install-tshoot"></a>

如需安裝錯誤的故障診斷步驟，請參閱 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 了解常見的故障診斷步驟。如需最相關的故障診斷步驟，請參閱 [命令未找到錯誤](cli-chap-troubleshooting.md#tshoot-install-not-found)、[「`aws --version`」命令傳回的版本與您安裝的版本不同](cli-chap-troubleshooting.md#tshoot-install-wrong-version) 和 [解除安裝 後，「`aws --version`」命令會傳回版本 AWS CLI](cli-chap-troubleshooting.md#tshoot-uninstall-1)。

對於故障診斷指南未涵蓋的任何問題，請在 *GitHub* 上的 [AWS CLI 儲存庫](https://github.com/aws/aws-cli/labels/source-distribution)中搜尋含有 `source-distribution` 標籤的問題。如果沒有現有問題涵蓋您的錯誤，[請建立新的問題](https://github.com/aws/aws-cli/issues/new?assignees=&labels=source-distribution%2Cneeds-triage&template=source-distribution.yml&title=%28short+issue+description%29)，以從 AWS CLI 維護者取得協助。

## 後續步驟
<a name="source-install-next-steps"></a>

安裝 之後 AWS CLI，您應該執行 [設定 AWS CLI](getting-started-quickstart.md)。

# 執行 的官方 Amazon ECR Public 或 Docker 映像 AWS CLI
<a name="getting-started-docker"></a>

本主題說明如何使用官方 Amazon Elastic Container Registry Public (Amazon ECR Public) 或 Docker Hub 映像，在 Docker 上執行、版本控制和設定 AWS CLI 版本 2。如需如何使用 Docker 的詳細資訊，請參閱 [Docker 文件](https://docs.docker.com/)。

官方映像提供 AWS 直接支援和維護的隔離性、可攜性和安全性。這可讓您在容器型環境中使用 第 2 AWS CLI 版，而不必自行管理安裝。

**Topics**
+ [先決條件](#cliv2-docker-prereq)
+ [在 Amazon ECR Public 和 Docker Hub 之間進行選擇](#cliv2-docker-versus)
+ [執行官方第 2 AWS CLI 版映像](#cliv2-docker-install)
+ [關於官方映像的介面和向後相容性的說明](#cliv2-docker-install-notes)
+ [使用特定版本和標籤](#cliv2-docker-upgrade)
+ [更新至最新的官方映像](#cliv2-docker-update)
+ [分享主機檔案、憑證、環境變數和組態](#cliv2-docker-share-files)
+ [縮短 docker run 命令](#cliv2-docker-aliases)

## 先決條件
<a name="cliv2-docker-prereq"></a>

您必須已安裝 Docker。如需安裝說明，請參閱 [Docker 網站](https://docs.docker.com/install/)。

若要驗證 Docker 的安裝，請執行下列命令並確認有輸出。

```
$ docker --version
Docker version 19.03.1
```

## 在 Amazon ECR Public 和 Docker Hub 之間進行選擇
<a name="cliv2-docker-versus"></a>

我們建議您透過 Docker Hub 使用 Amazon ECR Public 進行 AWS CLI 映像。Docker Hub 對於大眾消費者的速率限制更嚴格，可能會導致限流問題。此外，Amazon ECR Public 會在多個區域複寫映像，以提供強大的可用性並處理區域中斷問題。

如需 Docker Hub 速率限制的詳細資訊，請參閱 *Docker* 網站上的[了解 Docker Hub 速率限制](https://www.docker.com/increase-rate-limits/)。

## 執行官方第 2 AWS CLI 版映像
<a name="cliv2-docker-install"></a>

 第一次使用 `docker run` 命令時，會將最新的映像下載到您的電腦。後續每次使用 `docker run` 命令時，都會從您的本機複本執行。

若要執行第 2 AWS CLI 版 Docker 映像，請使用 `docker run`命令。

------
#### [ Amazon ECR Public ]

官方第 2 AWS CLI 版 Amazon ECR Public 映像託管在 [`aws-cli/aws-cli`儲存庫](https://gallery.ecr.aws/aws-cli/aws-cli)的 Amazon ECR Public 上。

```
$ docker run --rm -it public.ecr.aws/aws-cli/aws-cli command
```

------
#### [ Docker Hub ]

官方第 2 AWS CLI 版 Docker 映像託管在 `amazon/aws-cli`儲存庫的 Docker Hub 上。

```
$ docker run --rm -it amazon/aws-cli command
```

------

這是命令的運作方式：
+ `docker run --rm -it repository/name` – 相當於 `aws` 可執行檔。每次執行此命令時，Docker 都會加速運轉已下載映像檔的容器，並執行您的 `aws` 命令。根據預設，映像會使用最新版本的 第 2 AWS CLI 版。

  例如，若要呼叫 Docker 中的 `aws --version` 命令，您會執行下列命令。

------
#### [ Amazon ECR Public ]

  ```
  $ docker run --rm -it public.ecr.aws/aws-cli/aws-cli --version
  aws-cli/2.27.41 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.4.5dev10
  ```

------
#### [ Docker Hub ]

  ```
  $ docker run --rm -it amazon/aws-cli --version
  aws-cli/2.27.41 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.4.5dev10
  ```

------
+ `--rm` – 會指定在命令結束後清理容器。
+ `-it` – 會指定使用 `stdin` 開啟 pseudo-TTY。這可讓您在容器執行時提供第 2 AWS CLI 版的輸入，例如使用 `aws configure`和 `aws help`命令。當選擇是否省略 `-it` 時，請考慮下列事項：
  + 如果您正在執行指令碼，則不需要 `-it`。
  + 如果您的指令碼發生錯誤，省略 Docker 呼叫中的 `-it` 也許可以解決問題。
  + 如果您嘗試管道輸出，`-it` 可能會導致錯誤，省略 Docker 呼叫中的 `-it` 也許可以解決此問題。如果您希望保留 `-it` 標誌，但仍然想管道輸出，在預設情況下停用[用户端分頁程式](cli-usage-pagination.md#cli-usage-pagination-clientside)該 AWS CLI 使用應該可以解決問題。

如需有關 `docker run` 命令的詳細資訊，請參閱《[Docker 參考指南](https://docs.docker.com/engine/reference/run/)》。

## 關於官方映像的介面和向後相容性的說明
<a name="cliv2-docker-install-notes"></a>
+ 映像上唯一支援的工具是 AWS CLI。只有 `aws` 可執行檔案應該直接運行。例如，即使 `less`和 `groff` 明確安裝在映像上，也不應在 AWS CLI 命令外部直接執行。
+ 此 `/aws` 工作目錄由使用者控制。除非使用者在執行 AWS CLI 命令時指示，否則映像不會寫入此目錄。
+ 依賴最新標籤時沒有向後相容性保證。為了保證向後相容性，您必須固定到特定 `<major.minor.patch>` 標籤，因為這些標籤是不可變的；它們只會被推送一次。

## 使用特定版本和標籤
<a name="cliv2-docker-upgrade"></a>

官方 AWS CLI 第 2 版映像具有多個您可以使用的版本，從版本 開始`2.0.6`。若要執行第 2 AWS CLI 版的特定版本，請將適當的標籤附加到您的`docker run`命令。第一次使用 `docker run` 命令搭配標籤時，會將該標籤的最新映像下載到您的電腦。後續每次使用 `docker run` 搭配該標籤命令時，都會從您的本機複本執行。

您可以使用兩種類型的標籤：
+ `latest` – 定義映像的最新版本 第 2 AWS CLI 版。建議您在需要 AWS CLI 第 2 版的最新版本時使用 `latest` 標籤。但是，依賴此標籤時，無法保證回溯相容性。預設會在 `docker run` 命令中使用 `latest` 標籤。若要明確使用 `latest` 標籤，請將標籤附加至容器映像檔名稱。

------
#### [ Amazon ECR Public ]

  ```
  $ docker run --rm -it public.ecr.aws/aws-cli/aws-cli:latest command
  ```

------
#### [ Docker Hub ]

  ```
  $ docker run --rm -it amazon/aws-cli:latest command
  ```

------
+ `<major.minor.patch>` – 定義影像的特定 AWS CLI 版本 2。如果您計劃在生產環境中使用官方映像，我們建議您使用 第 2 AWS CLI 版的特定版本，以確保回溯相容性。例如，若要執行 `2.0.6` 版，請將版本附加至容器映像檔名稱。

------
#### [ Amazon ECR Public ]

  ```
  $ docker run --rm -it public.ecr.aws/aws-cli/aws-cli:2.0.6 command
  ```

------
#### [ Docker Hub ]

  ```
  $ docker run --rm -it amazon/aws-cli:2.0.6 command
  ```

------

## 更新至最新的官方映像
<a name="cliv2-docker-update"></a>

由於最新的映像只有在您第一次使用 `docker run` 命令時才會下載到您的電腦，因此您需要手動提取更新的映像檔。若要手動更新至最新版本，建議您提取標記 `latest` 的映像檔。提取映像會將最新版本下載到您的電腦。

------
#### [ Amazon ECR Public ]

```
$ docker pull public.ecr.aws/aws-cli/aws-cli:latest
```

------
#### [ Docker Hub ]

```
$ docker pull amazon/aws-cli:latest
```

------

## 分享主機檔案、憑證、環境變數和組態
<a name="cliv2-docker-share-files"></a>

由於第 2 AWS CLI 版是在容器中執行，因此 CLI 預設無法存取主機檔案系統，其中包含組態和登入資料。若要共享主機檔案系統、憑證和組態至容器，請將主機系統的 `~/.aws` 目錄掛載至位於 `/root/.aws` 的容器，對 `-v` 命令加上 `docker run` 旗標。這可讓在容器中執行的 AWS CLI 版本 2 找到主機檔案資訊。

------
#### [ Amazon ECR Public ]

**Linux 和 macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli command
```

**Windows 命令提示**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli command
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws  public.ecr.aws/aws-cli/aws-cli command
```

------
#### [ Docker Hub ]

**Linux 和 macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli command
```

**Windows 命令提示**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws amazon/aws-cli command
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws  amazon/aws-cli command
```

------

如需有關 `-v` 旗標和裝載的詳細資訊，請參閱《[Docker 參考指南](https://docs.docker.com/storage/volumes/)》。

**注意**  
如需關於 `config` 與 `credentials` 檔案的資訊，請參閱 [中的組態和登入資料檔案設定 AWS CLI](cli-configure-files.md)。

### 範例 1：提供憑證和組態
<a name="cliv2-docker-share-files-config"></a>

在此範例中，我們在執行 `s3 ls` 命令時提供主機憑證和組態，以列出您在 Amazon Simple Storage Service (Amazon S3) 的儲存貯體。下列範例使用 AWS CLI 登入資料和組態檔案的預設位置，若要使用不同的位置，請變更檔案路徑。

------
#### [ Amazon ECR Public ]

**Linux 和 macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows 命令提示**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli s3 ls
```

------
#### [ Docker Hub ]

**Linux 和 macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows 命令提示**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws amazon/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws amazon/aws-cli s3 ls
```

------

您可以使用 `-e` 旗標呼叫特定系統的環境變數。若要使用環境變數，請依名稱進行呼叫。

------
#### [ Amazon ECR Public ]

**Linux 和 macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws -e ENVVAR_NAME public.ecr.aws/aws-cli/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows 命令提示**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -e ENVVAR_NAME public.ecr.aws/aws-cli/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -e ENVVAR_NAME public.ecr.aws/aws-cli/aws-cli s3 ls
```

------
#### [ Docker Hub ]

**Linux 和 macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws -e ENVVAR_NAME amazon/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows 命令提示**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -e ENVVAR_NAME amazon/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -e ENVVAR_NAME amazon/aws-cli s3 ls
```

------

### 範例 2：將 Amazon S3 檔案下載到主機系統
<a name="cliv2-docker-share-files-s3"></a>

對於某些第 2 AWS CLI 版命令，您可以從容器中的主機系統讀取檔案，或將檔案從容器寫入主機系統。

在這個範例中，我們透過將目前的工作目錄掛載到容器的 `/aws` 目錄，將 `S3` 物件 `s3://aws-cli-docker-demo/hello` 下載到您的本機檔案系統。藉由將 `hello` 物件下載至容器的 `/aws` 目錄，檔案也會儲存至主機系統目前的工作目錄。

------
#### [ Amazon ECR Public ]

**Linux 和 macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws public.ecr.aws/aws-cli/aws-cli s3 cp s3://aws-cli-docker-demo/hello .
download: s3://aws-cli-docker-demo/hello to ./hello
```

**Windows 命令提示**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws public.ecr.aws/aws-cli/aws-cli s3 cp s3://aws-cli-docker-demo/hello .
download: s3://aws-cli-docker-demo/hello to ./hello
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws public.ecr.aws/aws-cli/aws-cli s3 cp s3://aws-cli-docker-demo/hello .
```

------
#### [ Docker Hub ]

**Linux 和 macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli s3 cp s3://aws-cli-docker-demo/hello .
download: s3://aws-cli-docker-demo/hello to ./hello
```

**Windows 命令提示**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws amazon/aws-cli s3 cp s3://aws-cli-docker-demo/hello .
download: s3://aws-cli-docker-demo/hello to ./hello
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws amazon/aws-cli s3 cp s3://aws-cli-docker-demo/hello .
```

------

若要確認本機檔案系統中存在下載的檔案，請執行下列步驟。

**Linux 和 macOS**

```
$ cat hello
Hello from Docker!
```

**Windows PowerShell**

```
$ type hello
Hello from Docker!
```

### 範例 3：使用 AWS\$1PROFILE 環境變數
<a name="cliv2-docker-share-files-envvars"></a>

您可以使用 `-e` 旗標呼叫特定系統的環境變數。呼叫您要使用的每個環境變數。在此範例中，我們在執行 `s3 ls` 命令時提供主機憑證、組態和 *AWS\$1PROFILE* 環境變數，以列出您在 Amazon Simple Storage Service (Amazon S3) 的儲存貯體。

------
#### [ Amazon ECR Public ]

**Linux 和 macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws -e AWS_PROFILE public.ecr.aws/aws-cli/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows 命令提示**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -e AWS_PROFILE public.ecr.aws/aws-cli/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -e AWS_PROFILE public.ecr.aws/aws-cli/aws-cli s3 ls
```

------
#### [ Docker Hub ]

**Linux 和 macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws -e AWS_PROFILE amazon/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows 命令提示**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -e AWS_PROFILE amazon/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -e AWS_PROFILE amazon/aws-cli s3 ls
```

------

## 縮短 docker run 命令
<a name="cliv2-docker-aliases"></a>

若要縮短 `docker run` 命令，建議您使用作業系統的功能在 Linux 和 macOS 中建立 [https://www.linux.com/topic/desktop/understanding-linux-links/](https://www.linux.com/topic/desktop/understanding-linux-links/) (符號連結) 或 [https://www.linux.com/topic/desktop/aliases-diy-shell-commands/](https://www.linux.com/topic/desktop/aliases-diy-shell-commands/)，或在 Windows 中建立 [https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/doskey](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/doskey)。若要設定 `aws` 別名，您可以執行下列其中一個命令：
+ 如需 `aws` 命令的基本存取權限，請執行下列命令。

------
#### [ Amazon ECR Public ]

  **Linux 和 macOS**

  ```
  $ alias aws='docker run --rm -it public.ecr.aws/aws-cli/aws-cli'
  ```

  **Windows 命令提示**

  ```
  C:\> doskey aws=docker run --rm -it public.ecr.aws/aws-cli/aws-cli $*
  ```

  **Windows PowerShell**

  ```
  C:\> Function AWSCLI {docker run --rm -it public.ecr.aws/aws-cli/aws-cli $args}
  Set-Alias -Name aws -Value AWSCLI
  ```

------
#### [ Docker Hub ]

  **Linux 和 macOS**

  ```
  $ alias aws='docker run --rm -it amazon/aws-cli'
  ```

  **Windows 命令提示**

  ```
  C:\> doskey aws=docker run --rm -it amazon/aws-cli $*
  ```

  **Windows PowerShell**

  ```
  C:\> Function AWSCLI {docker run --rm -it amazon/aws-cli $args}
  Set-Alias -Name aws -Value AWSCLI
  ```

------
+ 如需使用 `aws` 命令時主機檔案系統和組態設定的存取權，請執行以下項目。

------
#### [ Amazon ECR Public ]

  **Linux 和 macOS**

  ```
  $ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws public.ecr.aws/aws-cli/aws-cli'
  ```

  **Windows 命令提示**

  ```
  C:\> doskey aws=docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws public.ecr.aws/aws-cli/aws-cli $*
  ```

  **Windows PowerShell**

  ```
  C:\> Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws public.ecr.aws/aws-cli/aws-cli $args}
  Set-Alias -Name aws -Value AWSCLI
  ```

------
#### [ Docker Hub ]

  **Linux 和 macOS**

  ```
  $ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli'
  ```

  **Windows 命令提示**

  ```
  C:\> doskey aws=docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws amazon/aws-cli $*
  ```

  **Windows PowerShell**

  ```
  C:\> Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws amazon/aws-cli $args}
  Set-Alias -Name aws -Value AWSCLI
  ```

------
+ 若要指定要在 `aws` 別名中使用的特定版本，請附加您的版本標籤：

------
#### [ Amazon ECR Public ]

  **Linux 和 macOS**

  ```
  $ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws public.ecr.aws/aws-cli/aws-cli:2.0.6'
  ```

  **Windows 命令提示**

  ```
  C:\> doskey aws=docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws public.ecr.aws/aws-cli/aws-cli:2.0.6 $*
  ```

  **Windows PowerShell**

  ```
  C:\> Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws public.ecr.aws/aws-cli/aws-cli:2.0.6 $args}
  Set-Alias -Name aws -Value AWSCLI
  ```

------
#### [ Docker Hub ]

  **Linux 和 macOS**

  ```
  $ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli:2.0.6'
  ```

  **Windows 命令提示**

  ```
  C:\> doskey aws=docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws amazon/aws-cli:2.0.6 $*
  ```

  **Windows PowerShell**

  ```
  C:\> Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws amazon/aws-cli:2.0.6 $args}
  Set-Alias -Name aws -Value AWSCLI
  ```

------

設定別名後，您可以從容器內執行第 2 AWS CLI 版，就像在主機系統上安裝一樣。

```
$ aws --version
aws-cli/2.27.41 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.4.5dev10
```

# 設定 AWS CLI
<a name="getting-started-quickstart"></a>

本主題說明如何快速設定 AWS Command Line Interface (AWS CLI) 用來與之互動的基本設定 AWS。其中包括您的安全登入資料、預設輸出格式和預設 AWS 區域。

**Topics**
+ [收集您的憑證資訊以進行程式設計存取](#getting-started-prereqs-keys)
+ [設定新的組態和憑證](#getting-started-quickstart-new)
+ [使用現有組態和憑證檔案](#getting-started-quickstart-existing)

## 收集您的憑證資訊以進行程式設計存取
<a name="getting-started-prereqs-keys"></a>

如果您想要在 AWS 外部與 互動，則需要程式設計存取 AWS 管理主控台。針對驗證和憑證指示，請從下列選項擇一：


****  

| 身分驗證類型 | 用途 | 指示 | 
| --- | --- | --- | 
|  AWS 管理主控台登入資料  | **（建議）** 使用您的主控台登入資料登入 AWS CLI，以使用短期登入資料。如果您使用根、IAM 使用者或聯合身分搭配 IAM 進行 AWS 帳戶存取，則建議使用 | [使用主控台登入資料登入 AWS 進行本機開發](cli-configure-sign-in.md) | 
|  IAM Identity Center 人力使用者短期憑證  | 使用 IAM Identity Center 人力資源使用者的短期憑證。安全最佳實務是 AWS Organizations 搭配 IAM Identity Center 使用 。它結合了短期憑證與使用者目錄，例如內建的 IAM Identity Center 目錄或 Active Directory。 | [使用 設定 IAM Identity Center 身分驗證 AWS CLI](cli-configure-sso.md) | 
| IAM 使用者短期憑證 | 使用比長期憑證更安全的 IAM 使用者短期憑證。如果憑證遭到入侵，憑證在過期前被利用的時間有限。 | [使用 的短期登入資料進行驗證 AWS CLI](cli-authentication-short-term.md) | 
| Amazon EC2 執行個體上的 IAM 或 IAM Identity Center 使用者。 | 使用 Amazon EC2 執行個體中繼資料，以使用指派給 Amazon EC2 執行個體的角色來查詢臨時憑證。 | [在 中使用 Amazon EC2 執行個體中繼資料做為登入資料 AWS CLI](cli-configure-metadata.md) | 
| 擔任許可的角色 | 配對另一個憑證方法，並擔任可暫時存取您的使用者可能無法存取之 AWS 服務 的角色。 | [在 中使用 IAM 角色 AWS CLI](cli-configure-role.md) | 
| IAM 使用者長期憑證 | (不建議) 使用不會過期的長期憑證。 | [使用 的 IAM 使用者登入資料進行驗證 AWS CLI](cli-authentication-user.md) | 
| IAM 或 IAM Identity Center 人力使用者外部儲存裝置  | (不建議) 配對另一個憑證方法，但將憑證值存放於 AWS CLI之外的位置。此方法的安全性僅與存放憑證的外部位置一樣安全。 | [在 中使用外部程序來採購登入資料 AWS CLI](cli-configure-sourcing-external.md) | 

## 設定新的組態和憑證
<a name="getting-started-quickstart-new"></a>

會將您的組態和登入資料資訊 AWS CLI 儲存在 `credentials`和 `config`檔案中的*設定檔* （設定集合） 中。

**Topics**
+ [使用 AWS CLI 命令設定](#getting-started-quickstart-new-command)
+ [手動編輯憑證和設定檔](#getting-started-quickstart-new-file)

下列範例會針對每個驗證方式使用範例值。使用您自己的值來取代範例值。

### 使用 AWS CLI 命令設定
<a name="getting-started-quickstart-new-command"></a>

一般來說，您偏好的終端中的 `aws configure` 或 `aws configure sso` 命令是設定您的 AWS CLI 安裝最快的方法。會根據您偏好的登入資料方法， AWS CLI 提示您提供相關資訊。根據預設，當您執行未明確指定要使用之設定檔的 AWS CLI 命令時，會使用此設定檔中的資訊。

如需 `credentials` 和 `config` 檔案的詳細資訊，請參閱 [中的組態和登入資料檔案設定 AWS CLI](cli-configure-files.md)。

------
#### [ Console sessions as short-term credentials ]

此範例可讓您將現有的主控台登入資料與 `aws login`命令搭配使用。此登入方法可與在初始帳戶設定期間建立的根登入資料、IAM 使用者或來自身分提供者的聯合身分搭配使用。如需詳細資訊，請參閱[使用主控台登入資料進行 AWS 本機開發的登入](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html)。

```
$ aws login
No AWS region has been configured. The AWS region is the geographic location of your AWS resources. 

If you've used AWS before and already have resources in your account, tell us which region they were 
created in. If you haven't created resources in your account before, you can pick the region closest to you: 
https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html. You are able to change 
the region in the CLI at any time with the command `aws configure set region NEW_REGION`.
AWS Region [us-east-1]: us-east-1
Attempting to open the login page for `us-east-1` in your default browser. If the browser does not open, 
use the following URL to complete your login:

https://us-east-1.signin.aws.amazon.com/v1/authorize<abbreviated>

If you cannot connect to this URL, make sure that you have specified a valid region.

Waiting for login...

Logged in with role `arn:aws:sts::012345678910:user/iam-user`, and configured profile 
`default` to use `us-east-1`. This session will expire on October 14, 2025 at 2:04 PST. After this time, you 
can renew your session with `aws login`.
```

------
#### [ IAM Identity Center (SSO) ]

此範例適用於 AWS IAM Identity Center 使用`aws configure sso`精靈。如需詳細資訊，請參閱[使用 設定 IAM Identity Center 身分驗證 AWS CLI](cli-configure-sso.md)。

```
$ aws configure sso
SSO session name (Recommended): my-sso
SSO start URL [None]: https://my-sso-portal.awsapps.com/start
SSO region [None]:us-east-1

Attempting to automatically open the SSO authorization page in your default browser.

There are 2 AWS accounts available to you.
> DeveloperAccount, developer-account-admin@example.com (111122223333) 
  ProductionAccount, production-account-admin@example.com (444455556666)

Using the account ID 111122223333

There are 2 roles available to you.
> ReadOnly
  FullAccess

Using the role name "ReadOnly"

CLI default client Region [None]: us-west-2
CLI default output format [None]: json
CLI profile name [123456789011_ReadOnly]: user1
```

------
#### [ IAM Identity Center (Legacy SSO) ]

此範例適用於 AWS IAM Identity Center 使用`aws configure sso`精靈的舊版方法。若要使用舊版 SSO，請將工作階段名稱留白。如需詳細資訊，請參閱[使用 設定 IAM Identity Center 身分驗證 AWS CLI](cli-configure-sso.md)。

```
$ aws configure sso
SSO session name (Recommended):
SSO start URL [None]: https://my-sso-portal.awsapps.com/start
SSO region [None]:us-east-1

SSO authorization page has automatically been opened in your default browser.
Follow the instructions in the browser to complete this authorization request.

There are 2 AWS accounts available to you.
> DeveloperAccount, developer-account-admin@example.com (111122223333) 
  ProductionAccount, production-account-admin@example.com (444455556666)

Using the account ID 111122223333

There are 2 roles available to you.
> ReadOnly
  FullAccess

Using the role name "ReadOnly"

CLI default client Region [None]: us-west-2
CLI default output format [None]: json
CLI profile name [123456789011_ReadOnly]: user1
```

------
#### [ Short-term credentials ]

此範例適用於來自 AWS Identity and Access Management的短期憑證。aws 配置精靈是用於設定初始值，而 `aws configure set` 命令會指派所需的最後值。如需詳細資訊，請參閱[使用 的短期登入資料進行驗證 AWS CLI](cli-authentication-short-term.md)。

```
$ 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]: json
$ aws configure set aws_session_token fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
```

------
#### [ IAM role ]

此範例適用於 IAM 角色之擔任。使用 IAM 角色的設定檔會從其他設定檔提取憑證，接著套用 IAM 角色許可。在下列範例中，`default` 是憑證的來源設定檔，且 `user1` 借用相同憑證來擔任新角色。由於此程序中沒有精靈，因此每個值皆使用 `aws configure set` 命令設定。如需詳細資訊，請參閱[在 中使用 IAM 角色 AWS CLI](cli-configure-role.md)。

```
$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole
$ aws configure set source_profile default
$ aws configure set role_session_name session_user1
$ aws configure set region us-west-2
$ aws configure set output json
```

------
#### [ Amazon EC2 instance metadata credentials ]

此範例適用從託管 Amazon EC2 執行個體中繼資料取得的憑證。由於此程序中沒有精靈，因此每個值皆使用 `aws configure set` 命令設定。如需詳細資訊，請參閱[在 中使用 Amazon EC2 執行個體中繼資料做為登入資料 AWS CLI](cli-configure-metadata.md)。

```
$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole
$ aws configure set credential_source Ec2InstanceMetadata
$ aws configure set region us-west-2
$ aws configure set output json
```

------
#### [ Long-term credentials ]

**警告**  
為避免安全風險，在開發專用軟體或使用真實資料時，請勿使用 IAM 使用者進行身分驗證。相反地，搭配使用聯合功能和身分提供者，例如 [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)。

此範例適用於來自 AWS Identity and Access Management的長期憑證。如需詳細資訊，請參閱[使用 的 IAM 使用者登入資料進行驗證 AWS CLI](cli-authentication-user.md)。

```
$ 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]: json
```

------

如需深入了解驗證與憑證的詳細資訊，請參閱 [的身分驗證和存取憑證 AWS CLI](cli-chap-authentication.md)。

### 手動編輯憑證和設定檔
<a name="getting-started-quickstart-new-file"></a>

複製貼上資訊時，建議您手動編輯 `config` 和 `credentials` 檔案。根據您偏好的憑證方法，檔案會以不同方式設定。

檔案會儲存在 `.aws` 資料夾下的主目錄中。主目錄的位置根據作業系統而不同，但在 Windows 中是使用環境變數 `%UserProfile%` 來參考，而在 Unix 系統中是使用 `$HOME` 或 `~` (波狀符號) 來參考。如需這些設定儲存位置的詳細資訊，請參閱 [組態設定存放在何處？](cli-configure-files.md#cli-configure-files-where)。

以下範例使用範例值，且顯示 `default` 設定檔和名為 `user1` 的設定檔。使用您自己的值來取代範例值。如需 `credentials` 和 `config` 檔案的詳細資訊，請參閱 [中的組態和登入資料檔案設定 AWS CLI](cli-configure-files.md)。

------
#### [ IAM Identity Center (SSO) ]

此範例適用於 AWS IAM Identity Center。如需詳細資訊，請參閱[使用 設定 IAM Identity Center 身分驗證 AWS CLI](cli-configure-sso.md)。

**憑證檔案**

此驗證方法不會使用 `credentials` 檔案。

**組態檔案**

```
[default]
sso_session = my-sso
sso_account_id = 111122223333
sso_role_name = readOnly
region = us-west-2
output = text

[profile user1]
sso_session = my-sso
sso_account_id = 444455556666
sso_role_name = readOnly
region = us-east-1
output = json

[sso-session my-sso]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_registration_scopes = sso:account:access
```

------
#### [ IAM Identity Center (Legacy SSO) ]

此範例適用於 的舊版方法 AWS IAM Identity Center。如需詳細資訊，請參閱[使用 設定 IAM Identity Center 身分驗證 AWS CLI](cli-configure-sso.md)。

**憑證檔案**

此驗證方法不會使用 `credentials` 檔案。

**組態檔案**

```
[default]
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_region = us-east-1
sso_account_id = 111122223333
sso_role_name = readOnly
region = us-west-2
output = text

[profile user1]
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_region = us-east-1
sso_account_id = 444455556666
sso_role_name = readOnly
region = us-east-1
output = json
```

------
#### [ Short-term credentials ]

此範例適用於來自 AWS Identity and Access Management的短期憑證。如需詳細資訊，請參閱[使用 的短期登入資料進行驗證 AWS CLI](cli-authentication-short-term.md)。

**憑證檔案**

```
[default]
aws_access_key_id=ASIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

[user1]
aws_access_key_id=ASIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
aws_session_token = fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
```

**組態檔案**

```
[default]
region=us-west-2
output=json

[profile user1]
region=us-east-1
output=text
```

------
#### [ IAM role ]

此範例適用於 IAM 角色之擔任。使用 IAM 角色的設定檔會從其他設定檔提取憑證，接著套用 IAM 角色許可。在下列範例中，`default` 是憑證的來源設定檔，且 `user1` 借用相同憑證來擔任新角色。如需詳細資訊，請參閱[在 中使用 IAM 角色 AWS CLI](cli-configure-role.md)。

**憑證檔案**

`credentials` 檔案取決於您的來源設定檔使用哪種身分驗證。在下列範例中，來源設定檔是使用短期憑證。

```
[default]
aws_access_key_id=ASIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
```

**組態檔案**

```
[default]
region=us-west-2
output=json

[profile user1]
role_arn=arn:aws:iam::777788889999:role/user1role
source_profile=default
role_session_name=session_user1
region=us-east-1
output=text
```

------
#### [ Amazon EC2 instance metadata credentials ]

此範例適用從託管 Amazon EC2 執行個體中繼資料取得的憑證。如需詳細資訊，請參閱[在 中使用 Amazon EC2 執行個體中繼資料做為登入資料 AWS CLI](cli-configure-metadata.md)。

**憑證檔案**

此驗證方法不會使用 `credentials` 檔案。

**組態檔案**

```
[default]
role_arn=arn:aws:iam::123456789012:role/defaultrole
credential_source=Ec2InstanceMetadata
region=us-west-2
output=json

[profile user1]
role_arn=arn:aws:iam::777788889999:role/user1role
credential_source=Ec2InstanceMetadata
region=us-east-1
output=text
```

------
#### [ Long-term credentials ]

**警告**  
為避免安全風險，在開發專用軟體或使用真實資料時，請勿使用 IAM 使用者進行身分驗證。相反地，搭配使用聯合功能和身分提供者，例如 [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)。

此範例適用於來自 AWS Identity and Access Management的長期憑證。如需詳細資訊，請參閱[使用 的 IAM 使用者登入資料進行驗證 AWS CLI](cli-authentication-user.md)。

**憑證檔案**

```
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

[user1]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
```

**組態檔案**

```
[default]
region=us-west-2
output=json

[profile user1]
region=us-east-1
output=text
```

------

如需深入了解驗證與憑證的詳細資訊，請參閱 [的身分驗證和存取憑證 AWS CLI](cli-chap-authentication.md)。

## 使用現有組態和憑證檔案
<a name="getting-started-quickstart-existing"></a>

如果您有現有的組態和憑證檔案，則這些檔案可用於 AWS CLI。

若要使用 `config` 和 `credentials` 檔案，將它們移動到主目錄中名為 `.aws` 的資料夾。主目錄的位置根據作業系統而不同，但在 Windows 中是使用環境變數 `%UserProfile%` 來參考，而在 Unix 系統中是使用 `$HOME` 或 `~` (波狀符號) 來參考。

您可以將 `AWS_CONFIG_FILE` 和 `AWS_SHARED_CREDENTIALS_FILE` 環境變數設為其他本機路徑，以指定 `config` 和 `credentials` 檔案的非預設位置。如需詳細資訊，請參閱 [設定 的環境變數 AWS CLI](cli-configure-envvars.md)。

如需關於組態和憑證檔案的詳細資訊，請參閱 [中的組態和登入資料檔案設定 AWS CLI](cli-configure-files.md)。