AWS Command Line Interface
使用者指南

什麼是 AWS Command Line Interface?

重要

於 2020 年 1 月 10 日,AWS CLI 版本 1.17 和更新版本將不再支援 Python 2.6 或 Python 3.3。在此日期後,AWS CLI 的安裝程式將需要 Python 2.7、Python 3.4 或更新版本才能成功安裝 AWS CLI。如需更多詳細資訊,請參閱本指南中的 搭配 Python 2.6 或 Python 3.3 使用 AWS CLI,以及此部落格文章中的廢除公告

AWS Command Line Interface (AWS CLI) 是開放原始碼工具,可讓您在命令列 shell 中使用命令來與 AWS 服務互動。只需最少的組態,您就可以在您喜愛的終端程式中,從命令提示字元開始使用相當於瀏覽器型 AWS Management Console所提供的功能:

  • Linux shell – 使用常見的 shell 程式 (例如 bashzshtcsh),在 Linux, macOS, or Unix 中執行命令。

  • Windows 命令列 – 在 Windows 上,於 PowerShell 或 Windows 命令提示中執行命令。

  • 遠端 – 透過遠端終端 (例如 PuTTY 或 SSH) 或使用 AWS Systems Manager,在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上執行命令。

AWS Management Console 內所有 IaaS (基礎設施即服務) AWS 管理和存取功能,均可於 AWS API 和 CLI 取得。新的 AWS IaaS 功能和服務可在啟動時或啟動後 180 天內,透過 API 和 CLI 提供完整的 AWS Management Console 功能。

AWS CLI 能夠直接存取 AWS 服務的公有 API。您可以利用 AWS CLI 探索服務的功能,並開發 shell 指令碼來管理資源。或者,您也能發揮所學,運用 AWS 開發套件開發其他語言版本的程式。

除了低階的 API 同等命令,有幾個 AWS 服務還提供 AWS CLI 自訂功能。自訂功能可能包括較高階的命令,可簡化具有複雜 API 的服務使用。例如,aws s3 命令集針對 Amazon Simple Storage Service (Amazon S3) 中的檔案管理提供熟悉的語法。

範例 上傳檔案到 Amazon S3

aws s3 cp 提供類似 shell 的 Copy 命令,並自動執行分段上傳,可快速靈活的傳送大型檔案。

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

使用低階命令 (由 aws s3api 提供) 執行相同工作需花費更多的心力。

依據您的使用案例而定,您可能想要使用其中一個 AWS 開發套件或 AWS Tools for PowerShell:

您可在 GitHub 上的 aws-cli 儲存庫中,檢視並延伸 AWS CLI 的原始程式碼。加入 GitHub 的使用者社群,即可提供意見回饋、要求功能並提交您的專屬貢獻!

使用本指南的範例

本指南的範例使用下列慣例編排格式:

  • 提示 – 命令提示字元通常顯示為貨幣符號,再接著空格 ($ )。對於 Windows 特定的命令,C:\> 用來當做提示字元。當您輸入命令,請不要包括提示字元。

  • 目錄 – 命令必須從特定的目錄執行時,該目錄名稱會顯示在提示符號的前方。

  • 使用者輸入 – 應於命令列輸入的命令文字採用 user input 格式。

  • 可取代文字 – 變數文字 (包含您所選的資源名稱,或您必須納入命令中之 AWS 服務所產生的 ID) 格式採用可取代文字。在多行命令或需要特定鍵盤輸入的命令中,鍵盤命令也可以顯示為可取代文字。

  • 輸出 – 由 AWS 服務傳回的輸出會顯示在使用者輸入的下方,並格式化為 computer output

例如,下列命令包含使用者輸入、可取代文字以及輸出。

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

若要使用此範例,請在命令列中輸入 aws configure,再按下 Enteraws configure 即為命令。該命令為互動式,所以 AWS CLI 會輸出幾行文字,提示您輸入額外資訊。請依次輸入各個存取金鑰,並按下 Enter。接著,以顯示的格式輸入 AWS 區域名稱,按下 Enter,然後最後一次按下 Enter 以略過輸出格式設定。最終 Enter 命令會顯示為可取代文字,因為該行沒有使用者輸入。否則,其會以默示表達。

下列範例顯示一個簡單的非互動式命令 (搭配來自服務的輸出,採用 JSON 格式)。

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

若要使用此範例,請輸入命令的完整文字 (提示後方反白顯示的文字),並按下 Enter。安全群組的名稱 my-sg 為可取代。在此情況下,您可以使用顯示的群組名稱,但您可能會想要使用更有敘述性的名稱。

注意

必須取代的引數 (例如 AWS Access Key ID) 和應該取代的引數 (例如 group name) 均會顯示為斜體的可取代文字。如果必須取代引數,範例的說明文字會加以提及。

JSON 文件 (包含大括弧) 為輸出。如果您將 CLI 設為以文字格式或表格格式輸出,則輸出的格式將會有所差異。JSON 為預設輸出格式。

About Amazon Web Services

Amazon Web Services (AWS) is a collection of digital infrastructure services that developers can leverage when developing their applications. The services include computing, storage, database, and application synchronization (messaging and queuing). AWS uses a pay-as-you-go service model. You are charged only for the services that you—or your applications—use. Also, to make AWS more approachable as a platform for prototyping and experimentation, AWS offers a free usage tier. On this tier, services are free below a certain level of usage. For more information about AWS costs and the Free Tier, see Test-Driving AWS in the Free Usage Tier. To obtain an AWS account, open the AWS home page and then click Sign Up.