設定 AWS CLI - AWS Command Line Interface

設定 AWS CLI

本節說明如何設定 AWS Command Line Interface (AWS CLI) 用於與 AWS 互動的設定。這些包含您的安全登入資料、預設輸出格式和預設 AWS 區域。

注意

AWS 要求所有傳入請求都經過加密簽署。AWS CLI 會為您妥善處理。「簽章」包含日期/時間戳記。因此,您必須確定電腦的日期和時間設定正確。如果不確定,且簽章中的日期/時間與 AWS 服務所辨識的日期/時間相差太多,AWS 會拒絕請求。

快速設定 AWS CLI

一般來說,aws configure 命令是最快的方法來設定您的 AWS CLI 安裝。下列範例顯示範本值。將範本值取代為您自己的值,如下列章節所述。

$ 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 會提示您輸入四項資訊 (存取金鑰、私密存取金鑰、AWS 區域和輸出格式)。下列各節會加以說明。AWS CLI 會將此資訊存放在名為 default設定檔 (設定集合)。每當您執行的 AWS CLI 命令未明確指定要使用的描述檔時,default 就會使用此描述檔中的資訊。

存取金鑰和私密存取金鑰

AWS Access Key IDAWS Secret Access Key 是您的 AWS 登入資料。它們與一個 AWS Identity and Access Management (IAM) 使用者或角色相關聯,而該使用者或角色可決定您擁有的許可。如需如何使用 IAM 服務建立使用者的教學課程,請參閱 IAM 使用者指南中的建立您的第一個 IAM 管理員使用者和群組

存取金鑰包含存取金鑰 ID 與秘密存取金鑰,這兩者是用來簽署您對 AWS 提出的程式設計要求。如果您沒有存取金鑰,則可以透過 AWS 管理主控台予以建立。根據最佳實務,請勿在不必要時使用 AWS 帳戶根使用者 執行任務。反之,請以存取金鑰為您自己建立新的管理員 IAM 使用者

您可以檢視或下載私密存取金鑰的唯一時間是建立金鑰時。您稍後無法進行復原。不過,您隨時可以建立新的存取金鑰。您也必須具有執行必要 IAM 動作的許可。如需詳細資訊,請參閱 IAM 使用者指南中的存取 IAM 資源所需的許可

為 IAM 使用者建立存取金鑰

  1. 登入 AWS 管理主控台 並在 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

  2. 在導覽窗格中,選擇 Users (使用者)

  3. 選擇要為其建立存取金鑰的使用者名稱,然後選擇 Security credentials (安全登入資料) 標籤。

  4. Access keys (存取金鑰) 區段中,選擇 Create access key (建立存取金鑰)

  5. 若要查看新的存取金鑰對,請選擇 Show (顯示)。在關閉此對話方塊後,您將無法再次存取該私密存取金鑰。您的登入資料看起來如下:

    • 存取金鑰 ID:AKIAIOSFODNN7EXAMPLE

    • 私密存取金鑰:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

  6. 若要下載金鑰對,請選擇 Download .csv file (下載 .csv 檔案)。請將金鑰存放在安全位置。在關閉此對話方塊後,您將無法再次存取該私密存取金鑰。

    請保持金鑰機密性以保護 AWS 帳戶,而且絕不要將電子郵件寄送給他們。請不要在組織外部分享它們,即使查詢似乎來自 AWS 或 Amazon.com 也是一樣。沒有任何人可合法代表 Amazon 來要求您輸入秘密金鑰。

  7. 在您下載 .csv 檔案後,選擇 Close (關閉)。當您建立存取金鑰時,在預設情況下,該金鑰對是作用中的,且您可以立即使用該金鑰對。

相關主題

區域

您希望請求依預設傳送到的伺服器就在 Default region name 所識別的 AWS 區域中。這通常是最接近您的區域,但它可以是任何區域。例如,您可以輸入 us-west-2 以使用美國西部 (奧勒岡)。除非您在個別命令中另外指定,否則此為所有後續請求傳送到的區域。

注意

當您使用 AWS CLI 時,您必須明確指定或經由設定預設區域來指定 AWS 區域。如需可用區域的清單,請參閱區域和端點。AWS CLI 使用的區域指示項與您在 AWS 管理主控台 URL 和服務端點中看到的名稱相同。

輸出格式

Default output format 指定如何將結果格式化。值可以是以下清單中的任何值。如果您不指定輸出格式,則會使用 json 作為預設值。

  • json–:輸出的格式為 JSON 字串。

  • yaml–:輸出的格式為 YAML 字串。(僅適用於 AWS CLI 第 2 版。)

  • text – 會將輸出格式化為以定位字元分隔字串值的多個行。將輸出傳遞至文字處理器 (例如 grepsedawk),這會很有用。

  • table–:輸出的格式為使用字元 +|- 形成儲存格框線的表格。它通常以「方便人類使用」的格式來呈現資訊,這種格式比其他格式更容易閱讀,但在編寫程式方面較不有用。

建立多個描述檔

如果您使用上一節所示的命令,則結果會是名為 default 的單一描述檔。您可以透過指定 --profile 選項並指派名稱,建立可以以名稱參考的其他組態。以下範例會建立名為 produser 的設定檔。您可以指定來自與其他描述檔完全不同帳戶和區域的登入資料。

$ aws configure --profile produser AWS Access Key ID [None]: AKIAI44QH8DHBEXAMPLE AWS Secret Access Key [None]: je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY Default region name [None]: us-east-1 Default output format [None]: text

然後,當您執行命令時,您可以省略 --profile 選項,而使用於 default 描述檔中存放的登入資料和設定。

$ aws s3 ls

或者,您可以指定 --profile profilename 並使用以該名稱存放的登入資料和設定。

$ aws s3 ls --profile produser

若要更新任何設定,簡單地再次執行 aws configure 即可 (使用或不使用 --profile 參數,視您要更新的描述檔而定),並視需要輸入新的值。下一節包含有關 aws configure 建立的檔案、其他設定和具名描述檔的更多資訊。

組態設定和優先順序

AWS CLI 使用一組 登入資料供應者 來尋找 AWS 登入資料。每個登入資料供應者在不同的地方尋找登入資料,例如系統或使用者環境變數、本機 AWS 組態檔案,或在命令列明確宣告為參數。AWS CLI 依下列順序叫用供應者,以尋找登入資料和組態設定,並於找到要使用的一組登入資料時停止:

  1. 命令列選項 – 您可以在命令列指定 --region--output--profile 做為參數。

  2. 環境變數 – 您可以將值存放在環境變數中:AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN。如果值存在,就會拿來使用。

  3. CLI 登入資料檔案 – 這是您執行 aws configure 命令時所更新的其中一個檔案。此檔案在 Linux 或 macOS 上位於 ~/.aws/credentials,在 Windows 上位於 C:\Users\USERNAME\.aws\credentials。此檔案可包含 default 描述檔和任何具名描述檔的登入資料詳細資訊。

  4. CLI 組態檔 – 這是您執行 aws configure 命令時所更新的另一個檔案。此檔案在 Linux 或 macOS 上位於 ~/.aws/config,在 Windows 上位於 C:\Users\USERNAME\.aws\config。此檔案包含預設描述檔和任何具名描述檔的組態設定。

  5. 容器登入資料 – 您可以將 IAM 角色與您的每一個 Amazon Elastic Container Service (Amazon ECS) 任務定義建立關聯。然後,該角色的臨時登入資料就可供該任務的容器使用。如需詳細資訊,請參閱 Amazon Elastic Container Service Developer Guide 中的任務的 IAM 角色

  6. 執行個體描述檔登入資料 – 您可以將 IAM 角色與您的每一個 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體建立關聯。然後,該角色的臨時登入資料就可供執行個體中執行的程式碼使用。登入資料是透過 Amazon EC2 中繼資料服務傳遞。如需詳細資訊,請參閱 Linux 執行個體的 Amazon EC2 使用者指南中的 Amazon EC2 的 IAM 角色IAM 使用者指南中的使用執行個體描述檔