AWS Command Line Interface
User Guide for Version 2
AWS Command Line Interface: User Guide for Version 2
Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.
Table of Contents
... vii
About the AWS CLI ... 1
About AWS CLI version 2 ... 1
Maintenance and support for SDK major versions ... 1
About Amazon Web Services ... 2
Using the examples ... 2
Additional documentation and resources ... 3
AWS CLI documentation and resources ... 3
Other AWS SDKs ... 3
Getting started ... 4
Prerequisites ... 4
Step 1: Sign up to AWS ... 4
Step 2: Create an IAM user account ... 4
Step 3: Create an access key ID and secret access key ... 5
Next steps ... 6
Install/Update ... 6
Next steps ... 15
Past releases ... 15
Next steps ... 25
Docker ... 25
Prerequisites ... 25
Run the official Docker image ... 25
Notes on interfaces and backwards compatibility of Docker image ... 26
Use specific versions and tags ... 26
Update to the latest Docker image ... 27
Share host files, credentials, environment variables, and configuration ... 27
Shorten the Docker command ... 29
Add to path ... 30
Quick setup ... 31
New configuration quick setup ... 32
Using existing configuration and credentials files ... 32
Configuring the AWS CLI ... 33
Configuration basics ... 33
Quick configuration with aws configure ... 34
Access key ID and secret access key ... 34
Region ... 35
Output format ... 35
Profiles ... 36
Configuration settings and precedence ... 36
Configuration and credential file settings ... 37
Where are configuration settings stored? ... 37
Set and view configuration settings ... 38
Supported config file settings ... 39
Named profiles ... 49
Creating named profiles ... 49
Using named profiles ... 50
AWS Single Sign-On ... 50
Configuring a named profile to use AWS SSO ... 51
Using an AWS SSO enabled named profile ... 54
Environment Variables ... 56
How to set environment variables ... 56
AWS CLI supported environment variables ... 57
Command line options ... 61
How to use command line options ... 61
AWS CLI supported global command line options ... 61
Common uses of command line options ... 63
Command completion ... 64
How it works ... 64
Configuring command completion on Linux or macOS ... 65
Configuring command completion on Windows ... 67
Retries ... 68
Available retry modes ... 68
Configuring a retry mode ... 70
Viewing logs of retry attempts ... 71
External credentials ... 71
Using credentials for Amazon EC2 instance metadata ... 73
Prerequisites ... 73
Configuring a profile for Amazon EC2 metadata ... 73
Using an HTTP proxy ... 74
Using the examples ... 74
Authenticating to a proxy ... 75
Using a proxy on Amazon EC2 instances ... 75
Using IAM roles ... 76
Prerequisites ... 76
Overview of using IAM roles ... 76
Configuring and using a role ... 77
Using MFA ... 78
Cross-account roles and external ID ... 79
Specifying a role session name for easier auditing ... 80
Assume role with web identity ... 80
Clearing cached credentials ... 81
Using the AWS CLI ... 82
Getting Help ... 82
The built-in AWS CLI help command ... 82
AWS CLI reference guide ... 86
API documentation ... 86
Additional help ... 86
Command Structure ... 86
Command structure ... 87
Wait commands ... 87
Specifying Parameter Values ... 88
Common Parameter Types ... 89
Quotes with Strings ... 92
Parameters from Files ... 94
Generating a CLI Skeleton Template ... 96
Shorthand Syntax ... 104
Auto-prompt ... 106
How it works ... 106
Auto-prompt features ... 107
Auto-prompt modes ... 109
Configure auto-prompt ... 109
Controlling Command Output ... 109
Output Format ... 109
Pagination ... 116
Filtering ... 120
Return Codes ... 136
Wizards ... 137
How it works ... 137
Aliases ... 138
Prerequisites ... 138
Step 1: Creating the alias file ... 138
Step 2: Creating an alias ... 139
Step 3: Calling an alias ... 140
Alias repository examples ... 142
Resources ... 142
Using the AWS CLI with AWS Services ... 144
DynamoDB ... 144
Prerequisites ... 144
Creating and using DynamoDB tables ... 145
Using DynamoDB Local ... 146
Resources ... 146
Amazon EC2 ... 147
Amazon EC2 Key Pairs ... 147
Amazon EC2 Security Groups ... 149
EC2 Instances ... 154
Change EC2 type using bash scripting ... 160
S3 Glacier ... 162
Prerequisites ... 163
Create an Amazon S3 Glacier vault ... 163
Prepare a file for uploading ... 163
Initiate a multipart upload and upload files ... 164
Complete the upload ... 165
Resources ... 166
IAM ... 167
Creating IAM users and groups ... 167
Attaching an IAM managed policy to an IAM user ... 168
Setting an initial password for an IAM user ... 169
Create an access key for an IAM user ... 169
Amazon S3 ... 170
High-level (s3) commands ... 170
API-level (s3 api) commands ... 178
Bucket lifecycle scripting example (s3api) ... 180
Amazon SNS ... 182
Create a topic ... 183
Subscribe to a topic ... 183
Publish to a topic ... 184
Unsubscribe from a topic ... 184
Delete a topic ... 184
Amazon SWF ... 184
List of Amazon SWF Commands ... 185
Working with Amazon SWF Domains ... 187
Security ... 190
Data Protection ... 190
Data encryption ... 191
Identity and Access Management ... 191
Compliance Validation ... 192
Enforcing TLS 1.2 ... 192
Troubleshooting Errors ... 193
General: Ensure you're running a recent version of the AWS CLI. ... 193
General: Use the --debug option. ... 193
I get the error "command not found" when I run aws. ... 197
Possible cause: The operating system "path" was not updated during installation. ... 197
I get "access denied" errors. ... 197
Possible cause: The AWS CLI program file doesn't have "run" permission. ... 197
Possible cause: Your IAM identity doesn't have permission to perform the operation. ... 198
I get an "invalid credentials" error. ... 198
Possible cause: The AWS CLI is reading credentials from an unexpected location. ... 198
Possible cause: Your computer's clock is out of sync. ... 198
I get a "signature does not match" error. ... 199
Possible cause: Your clock is out of sync with the AWS servers. ... 199
Possible cause: Your operating system is mishandling AWS secret keys that contain certain special characters. ... 199
I get a "No Windows console found. Are you running cmd.exe?" error. ... 200
I get a "[SSL: CERTIFICATE_ VERIFY_FAILED] certificate verify failed" error. ... 200
Additional resources ... 200
Migrating/Breaking Changes ... 201
File encoding environment variable ... 201
Passing binary parameters ... 201
Improved Amazon S3 property and tag handling during s3 copy operations ... 202
No automatic retrieval of webpages for parameters ... 203
Output paging ... 203
All date/time values in ISO 8601 format ... 204
Improved AWS CloudFormation deployment handling ... 204
Amazon S3 and us-east-1 Region ... 205
AWS STS and regional endpoints ... 205
Deprecate ecr get-login ... 205
Changing support for [plugins] ... 206
No hidden aliases ... 206
No longer supports api_versions ... 207
Uninstall ... 208
Document History ... 211
What is the AWS Command Line Interface?
The AWS Command Line Interface (AWS CLI) is an open source tool that enables you to interact with AWS services using commands in your command-line shell. With minimal configuration, the AWS CLI enables you to start running commands that implement functionality equivalent to that provided by the browser-based AWS Management Console from the command prompt in your terminal program:
• Linux shells – Use common shell programs such as bash, zsh, and tcsh to run commands in Linux or macOS.
• Windows command line – On Windows, run commands at the Windows command prompt or in PowerShell.
• Remotely – Run commands on Amazon Elastic Compute Cloud (Amazon EC2) instances through a remote terminal program such as PuTTY or SSH, or with AWS Systems Manager.
All IaaS (infrastructure as a service) AWS administration, management, and access functions in the AWS Management Console are available in the AWS API and AWS CLI. New AWS IaaS features and services provide full AWS Management Console functionality through the API and CLI at launch or within 180 days of launch.
The AWS CLI provides direct access to the public APIs of AWS services. You can explore a service's capabilities with the AWS CLI, and develop shell scripts to manage your resources. In addition to the low-level, API-equivalent commands, several AWS services provide customizations for the AWS CLI.
Customizations can include higher-level commands that simplify using a service with a complex API.
About AWS CLI version 2
The AWS CLI version 2 is the most recent major version of the AWS CLI and supports all of the latest features. Some features introduced in version 2 are not backported to version 1 and you must upgrade to access those features. There are some "breaking" changes from version 1 that might require you to change your scripts. For a list of breaking changes in version 2, see Breaking changes – Migrating from AWS CLI version 1 to version 2 (p. 201).
The AWS CLI version 2 is available to install only as a bundled installer. While you may find it in package managers, these are unsupported and unofficial packages that are not produced or managed by AWS. We recommend that you install the AWS CLI from only the official AWS distribution points, as documented in this guide.
To install the AWS CLI version 2, see the section called “Install/Update” (p. 6).
For version history, see the AWS CLI version 2 Changelog on GitHub.
Maintenance and support for SDK major versions
For information about maintenance and support for SDK major versions and their underlying dependencies, see the following in the AWS SDKs and Tools Reference Guide:
• AWS SDKs and tools maintenance policy
• AWS SDKs and tools version support matrix
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.
Using the AWS CLI examples
The AWS Command Line Interface (AWS CLI) examples in this guide are formatted using the following conventions:
• Prompt – The command prompt uses the Linux prompt and is displayed as ($ ). For commands that are Windows specific, C:\> is used as the prompt. Do not include the prompt when you type commands.
• Directory – When commands must be executed from a specific directory, the directory name is shown before the prompt symbol.
• User input – Command text that you enter at the command line is formatted as user input.
• Replaceable text – Variable text, including names of resources that you choose, or IDs generated by AWS services that you must include in commands, is formatted as replaceable text. In multiple- line commands or commands where specific keyboard input is required, keyboard commands can also be shown as replaceable text.
• Output – Output returned by AWS services is shown under user input, and is formatted as computer output.
The following aws configure command example demonstrates user input, replaceable text, and output:
1. Enter aws configure at the command line, and then press Enter.
2. The AWS CLI outputs lines of text, prompting you to enter additional information.
3. Enter each of your access keys in turn, and then press Enter.
4. Then, enter an AWS Region name in the format shown, press Enter, and then press Enter a final time to skip the output format setting.
5. The final Enter command is shown as replaceable text because there is no user input for that line.
$ 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
The following example shows a simple command with output. To use this example, enter the full text of the command (the highlighted text after the prompt), and then press Enter. The name of the security group, my-sg, is replaceable to your desired security group name. The JSON document, including the
curly braces, is output. If you configure your CLI to output in text or table format, the output will be formatted differently. JSON is the default output format.
$ aws ec2 create-security-group --group-name my-sg --description "My security group"
{
"GroupId": "sg-903004f8"
}
Additional documentation and resources
AWS CLI documentation and resources
In addition to this user guide, the following are valuable online resources for the AWS CLI.
• AWS CLI version 2 reference guide
• AWS CLI code examples repository
• AWS CLI GitHub repository You can view and fork the source code for the AWS CLI on GitHub. Join the community of users on GitHub to provide feedback, request features, and submit your own contributions.
• AWS CLI alias examples repository You can view and fork AWS CLI alias examples on GitHub.
• AWS CLI version 2 change notes
Other AWS SDKs
Depending on your use case, you might want to choose one of the AWS SDKs or the AWS Tools for PowerShell:
• AWS Tools for PowerShell
• AWS SDK for Java
• AWS SDK for .NET
• AWS SDK for JavaScript
• AWS SDK for Ruby
• AWS SDK for Python (Boto)
• AWS SDK for PHP
• AWS SDK for Go
• AWS Mobile SDK for iOS
• AWS Mobile SDK for Android
Getting started with the AWS CLI
This section provides links to information about how to get started with version 2 of the AWS Command Line Interface (AWS CLI).
Topics
• Prerequisites to use the AWS CLI version 2 (p. 4)
• Installing or updating the latest version of the AWS CLI (p. 6)
• Installing past releases of the AWS CLI version 2 (p. 15)
• Using the official AWS CLI version 2 Docker image (p. 25)
• Adding the AWS CLI to your path (p. 30)
• Quick setup (p. 31)
Prerequisites to use the AWS CLI version 2
To access AWS services with the AWS CLI, you need an AWS account, IAM credentials, and an IAM access key pair. When running AWS CLI commands, the AWS CLI needs to have access to those AWS credentials.
To increase the security of your AWS account, we recommend that you do not use your root account credentials. You should create an IAM user to provide access credentials to the tasks you'll be running in AWS.
Topics
• Step 1: Sign up to AWS (p. 4)
• Step 2: Create an IAM user account (p. 4)
• Step 3: Create an access key ID and secret access key (p. 5)
• Next steps (p. 6)
Step 1: Sign up to AWS
If you do not have an AWS account, complete the following steps to create one.
To sign up for an AWS account
1. Open https://portal.aws.amazon.com/billing/signup.
2. Follow the online instructions.
Part of the sign-up procedure involves receiving a phone call and entering a verification code on the phone keypad.
Step 2: Create an IAM user account
To create an administrator user for yourself and add the user to an administrators group (console)
1. Sign in to the IAM console as the account owner by choosing Root user and entering your AWS account email address. On the next page, enter your password.
NoteWe strongly recommend that you adhere to the best practice of using the Administrator IAM user that follows and securely lock away the root user credentials. Sign in as the root user only to perform a few account and service management tasks.
2. In the navigation pane, choose Users and then choose Add user.
3. For User name, enter Administrator.
4. Select the check box next to AWS Management Console access. Then select Custom password, and then enter your new password in the text box.
5. (Optional) By default, AWS requires the new user to create a new password when first signing in. You can clear the check box next to User must create a new password at next sign-in to allow the new user to reset their password after they sign in.
6. Choose Next: Permissions.
7. Under Set permissions, choose Add user to group.
8. Choose Create group.
9. In the Create group dialog box, for Group name enter Administrators.
10. Choose Filter policies, and then select AWS managed - job function to filter the table contents.
11. In the policy list, select the check box for AdministratorAccess. Then choose Create group.
NoteYou must activate IAM user and role access to Billing before you can use the
AdministratorAccess permissions to access the AWS Billing and Cost Management console. To do this, follow the instructions in step 1 of the tutorial about delegating access to the billing console.
12. Back in the list of groups, select the check box for your new group. Choose Refresh if necessary to see the group in the list.
13. Choose Next: Tags.
14. (Optional) Add metadata to the user by attaching tags as key-value pairs. For more information about using tags in IAM, see Tagging IAM entities in the IAM User Guide.
15. Choose Next: Review to see the list of group memberships to be added to the new user. When you are ready to proceed, choose Create user.
You can use this same process to create more groups and users and to give your users access to your AWS account resources. To learn about using policies that restrict user permissions to specific AWS resources, see Access management and Example policies.
Step 3: Create an access key ID and secret access key
For CLI access, you need an access key ID and secret access key. Use IAM user access keys instead of AWS account root user access keys. IAM lets you securely control access to AWS services and resources in your AWS account. For more information about creating access keys, see Understanding and getting your security credentials in the AWS General Reference.
Access keys consist of an access key ID and secret access key, which are used to sign programmatic requests that you make to AWS. If you don't have access keys, you can create them from the AWS Management Console. As a best practice, do not use the AWS account root user access keys for any task where it's not required. Instead, create a new administrator IAM user with access keys for yourself.
The only time that you can view or download the secret access key is when you create the keys. You cannot recover them later. However, you can create new access keys at any time. You must also have permissions to perform the required IAM actions. For more information, see Permissions required to access IAM resources in the IAM User Guide.
To create access keys for an IAM user
1. Sign in to the AWS Management Console and open the IAM console at https://
console.aws.amazon.com/iam/.
2. In the navigation pane, choose Users.
3. Choose the name of the user whose access keys you want to create, and then choose the Security credentials tab.
4. In the Access keys section, choose Create access key.
5. To view the new access key pair, choose Show. You will not have access to the secret access key again after this dialog box closes. Your credentials will look something like this:
• Access key ID: AKIAIOSFODNN7EXAMPLE
• Secret access key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
6. To download the key pair, choose Download .csv file. Store the keys in a secure location. You will not have access to the secret access key again after this dialog box closes.
Keep the keys confidential in order to protect your AWS account and never email them. Do not share them outside your organization, even if an inquiry appears to come from AWS or Amazon.com. No one who legitimately represents Amazon will ever ask you for your secret key.
7. After you download the .csv file, choose Close. When you create an access key, the key pair is active by default, and you can use the pair right away.
Related topics
• What is IAM? in the IAM User Guide
• AWS security credentials in AWS General Reference
Next steps
After creating an AWS account, IAM credentials, and an IAM access key pair, to use the AWS CLI you can do one of the following:
• Install the latest release (p. 6) of the AWS CLI version 2 on your computer.
• Install a past release (p. 15) of the AWS CLI version 2 on your computer.
• Access the AWS CLI version 2 from your computer using a Docker image. (p. 25)
• Access the AWS CLI version 2 in the AWS console from your browser using AWS CloudShell. For more information see the AWS CloudShell User Guide.
Installing or updating the latest version of the AWS CLI
This topic describes how to install or update the latest release of the AWS Command Line Interface (AWS CLI) on supported operating systems. For information on the latest releases of AWS CLI, see the AWS CLI change notes on GitHub.
To install a past release of the AWS CLI, see the section called “Past releases” (p. 15).
For uninstall instructions, see Uninstall (p. 208).
Important
AWS CLI versions 1 and 2 use the same aws command name. If you have both versions installed, your computer uses the first one found in your search path. If you previously installed AWS CLI version 1, we recommend that you do one of the following to use AWS CLI version 2:
• Recommended – Uninstall AWS CLI version 1 and use only AWS CLI version 2. For uninstall instructions, determine the method you used to install AWS CLI version 1 and follow the appropriate uninstall instructions for your operating system in Installing, updating, and uninstalling the AWS CLI version 1.
• Use your operating system's ability to create a symbolic link (symlink) or alias with a different name for one of the two aws commands. For example, you can use a symbolic link or alias on Linux and macOS, or DOSKEY on Windows.
For information on breaking changes between version 1 and version 2, see Breaking changes – Migrating from AWS CLI version 1 to version 2 (p. 201).
AWS CLI installation instructions:
Linux
Installation requirements
• You must be able to extract or "unzip" the downloaded package. If your operating system doesn't have the built-in unzip command, use an equivalent.
• The AWS CLI uses glibc, groff, and less. These are included by default in most major distributions of Linux.
• We support the AWS CLI on 64-bit versions of recent distributions of CentOS, Fedora, Ubuntu, Amazon Linux 1, Amazon Linux 2 and Linux ARM.
• Because AWS doesn't maintain third-party repositories, we can’t guarantee that they contain the latest version of the AWS CLI.
Installation instructions
Follow these steps from the command line to install the AWS CLI on Linux.
We provide the steps in one easy to copy and paste group based on whether you use 64-bit Linux or Linux ARM. See the descriptions of each line in the steps that follow.
Linux x86 (64-bit)
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip sudo ./aws/install
Linux ARM
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
unzip awscliv2.zip sudo ./aws/install
1. Download the installation file in one of the following ways:
Linux x86 (64-bit)
• Use the curl command – The -o option specifies the file name that the downloaded package is written to. The options on the following example command write the downloaded file to the current directory with the local name awscliv2.zip.
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
• Downloading from the URL – To download the installer with your browser, use the following URL: https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip
(Optional) To verify the integrity and authenticity of your downloaded installation file before you unpack the package, follow the instructions in the section called “(Optional) Verifying the integrity of your downloaded zip file” (p. 9).
Linux ARM
• Use the curl command – The -o option specifies the file name that the downloaded package is written to. The options on the following example command write the downloaded file to the current directory with the local name awscliv2.zip.
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
• Downloading from the URL – To download the installer with your browser, use the following URL: https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip
(Optional) To verify the integrity and authenticity of your downloaded installation file before you unpack the package, follow the instructions in the section called “(Optional) Verifying the integrity of your downloaded zip file” (p. 9).
2. Unzip the installer. If your Linux distribution doesn't have a built-in unzip command, use an equivalent to unzip it. The following example command unzips the package and creates a directory named aws under the current directory.
$ unzip awscliv2.zip
3. Run the install program. The installation command uses a file named install in the newly unzipped aws directory. By default, the files are all installed to /usr/local/aws-cli, and a symbolic link is created in /usr/local/bin. The command includes sudo to grant write permissions to those directories.
$ sudo ./aws/install
You can install without sudo if you specify directories that you already have write permissions to.
Use the following instructions for the install command to specify the installation location:
• Ensure that the paths you provide to the -i and -b parameters contain no volume name or directory names that contain any space characters or other white space characters. If there is a space, the installation fails.
• --install-dir or -i – This option specifies the directory to copy all of the files to.
The default value is /usr/local/aws-cli.
• --bin-dir or -b – This option specifies that the main aws program in the install directory is symbolically linked to the file aws in the specified path. You must have write permissions to the
specified directory. Creating a symlink to a directory that is already in your path eliminates the need to add the install directory to the user's $PATH variable.
The default value is /usr/local/bin.
$ ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
Note
To update your current installation of the AWS CLI, add your existing symlink and installer information to construct the install command with the --update parameter.
$ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
To locate the existing symlink and installation directory, use the following steps:
1. Use the which command to find your symlink. This gives you the path to use with the -- bin-dir parameter.
$ which aws
/usr/local/bin/aws
2. Use the ls command to find the directory that your symlink points to. This gives you the path to use with the --install-dir parameter.
$ 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
4. Confirm the installation with the following command.
$ aws --version
aws-cli/2.4.5 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/2.4.5
If the aws command cannot be found, you may need to restart your terminal or follow the instructions in the section called “Add to path” (p. 30).
(Optional) Verifying the integrity of your downloaded zip file
If you chose to manually download the AWS CLI installer package .zip in the above steps, you use can use the following steps to verify the signatures by using the GnuPG tool.
The AWS CLI installer package .zip files are cryptographically signed using PGP signatures. If there is any damage or alteration of the files, this verification fails and you should not proceed with installation.
1. Download and install the gpg command using your package manager. For more information about GnuPG, see the GnuPG website.
2. To create the public key file, create a text file and paste in the following text.
---BEGIN PGP PUBLIC KEY BLOCK---
mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G
gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG 94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4WIQT7 Xbd/1cEYuAURraimMQrMRnJHXAUCXYKvtQIbAwUJB4TOAAULCQgHAgYVCgkICwIE FgIDAQIeAQIXgAAKCRCmMQrMRnJHXJIXEAChLUIkg80uPUkGjE3jejvQSA1aWuAM yzy6fdpdlRUz6M6nmsUhOExjVIvibEJpzK5mhuSZ4lb0vJ2ZUPgCv4zs2nBd7BGJ MxKiWgBReGvTdqZ0SzyYH4PYCJSE732x/Fw9hfnh1dMTXNcrQXzwOmmFNNegG0Ox au+VnpcR5Kz3smiTrIwZbRudo1ijhCYPQ7t5CMp9kjC6bObvy1hSIg2xNbMAN/Do ikebAl36uA6Y/Uczjj3GxZW4ZWeFirMidKbtqvUz2y0UFszobjiBSqZZHCreC34B hw9bFNpuWC/0SrXgohdsc6vK50pDGdV5kM2qo9tMQ/izsAwTh/d/GzZv8H4lV9eO tEis+EpR497PaxKKh9tJf0N6Q1YLRHof5xePZtOIlS3gfvsH5hXA3HJ9yIxb8T0H QYmVr3aIUes20i6meI3fuV36VFupwfrTKaL7VXnsrK2fq5cRvyJLNzXucg0WAjPF RrAGLzY7nP1xeg1a0aeP+pdsqjqlPJom8OCWc1+6DWbg0jsC74WoesAqgBItODMB rsal1y/q+bPzpsnWjzHV8+1/EtZmSc8ZUGSJOPkfC7hObnfkl18h+1QtKTjZme4d H17gsBJr+opwJw/Zio2LMjQBOqlm3K1A4zFTh7wBC7He6KPQea1p2XAMgtvATtNe YLZATHZKTJyiqA==
=vYOk
---END PGP PUBLIC KEY BLOCK---
For reference, the following are the details of the public key.
Key ID: A6310ACC4672 Type: RSA
Size: 4096/4096 Created: 2019-09-18 Expires: 2023-09-17
User ID: AWS CLI Team <[email protected]>
Key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
3. Import the AWS CLI public key with the following command, substituting public-key-file-name with the file name of the public key you created.
$ gpg --import public-key-file-name
gpg: /home/username/.gnupg/trustdb.gpg: trustdb created
gpg: key A6310ACC4672475C: public key "AWS CLI Team <[email protected]>" imported gpg: Total number processed: 1
gpg: imported: 1
4. Download the AWS CLI signature file for the package you downloaded. It has the same path and name as the .zip file it corresponds to, but has the extension .sig. In the following examples, we save it to the current directory as a file named awscliv2.sig.
Linux x86 (64-bit)
For the latest version of the AWS CLI, use the following command block:
$ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip.sig
For a specific version of the AWS CLI, append a hyphen and the version number to the filename. For this example the filename for version 2.0.30 would be awscli-exe-linux- x86_64-2.0.30.zip.sig resulting in the following command:
$ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux- x86_64-2.0.30.zip.sig
For a list of versions, see the AWS CLI changelog on GitHub.
Linux ARM
For the latest version of the AWS CLI, use the following command block:
$ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux- aarch64.zip.sig
For a specific version of the AWS CLI, append a hyphen and the version number to the filename. For this example the filename for version 2.0.30 would be awscli-exe-linux- aarch64-2.0.30.zip.sig resulting in the following command:
$ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux- aarch64-2.0.30.zip.sig
For a list of versions, see the AWS CLI changelog on GitHub.
5. Verify the signature, passing both the downloaded .sig and .zip file names as parameters to the gpg command.
$ gpg --verify awscliv2.sig awscliv2.zip
The output should look similar to the following.
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 <[email protected]>" [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
Important
The warning in the output is expected and doesn't indicate a problem. It occurs because there isn't a chain of trust between your personal PGP key (if you have one) and the AWS CLI PGP key. For more information, see Web of trust.
macOS
Installation requirements
• We support the AWS CLI on Apple-supported versions of 64-bit macOS.
• Because AWS doesn't maintain third-party repositories, we can’t guarantee that they contain the latest version of the AWS CLI.
Installation instructions
If you are updating to the latest version, use the same installation method that you used in your current version. You can install the AWS CLI on macOS in the following ways.
GUI installer
The following steps show how to install the latest version of the AWS CLI by using the standard macOS user interface and your browser.
1. In your browser, download the macOS pkg file: https://awscli.amazonaws.com/AWSCLIV2.pkg 2. Run your downloaded file and follow the on-screen instructions. You can choose to install the
AWS CLI in the following ways:
• For all users on the computer (requires sudo)
• You can install to any folder, or choose the recommended default folder of /usr/local/
aws-cli.
• The installer automatically creates a symlink at /usr/local/bin/aws that links to the main program in the installation folder you chose.
• For only the current user (doesn't require sudo)
• You can install to any folder to which you have write permission.
• Due to standard user permissions, after the installer finishes, you must manually create a symlink file in your $PATH that points to the aws and aws_completer programs by using the following commands at the command prompt. If your $PATH includes a folder you can write to, you can run the following command without sudo if you specify that folder as the target's path. If you don't have a writable folder in your $PATH, you must use sudo in the commands to get permissions to write to the specified target folder. The default location for a symlink is /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
NoteYou can view debug logs for the installation by pressing Cmd+L anywhere in the installer. This opens a log pane that enables you to filter and save the log. The log file is also automatically saved to /var/log/install.log.
3. To verify that the shell can find and run the aws command in your $PATH, use the following commands.
$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.4.5 Python/3.8.8 Darwin/18.7.0 botocore/2.4.5
If the aws command cannot be found, you may need to restart your terminal or follow the instructions in the section called “Add to path” (p. 30).
Command line installer - All users
If you have sudo permissions, you can install the AWS CLI for all users on the computer. We provide the steps in one easy to copy and paste group. See the descriptions of each line in the following steps.
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
1. Download the file using the curl command. The -o option specifies the file name that the downloaded package is written to. In this example, the file is written to AWSCLIV2.pkg in the current folder.
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
2. Run the standard macOS installer program, specifying the downloaded .pkg file as the source. Use the -pkg parameter to specify the name of the package to install, and the - target / parameter for which drive to install the package to. The files are installed to /usr/
local/aws-cli, and a symlink is automatically created in /usr/local/bin. You must include sudo on the command to grant write permissions to those folders.
$ sudo installer -pkg ./AWSCLIV2.pkg -target /
After installation is complete, debug logs are written to /var/log/install.log.
3. To verify that the shell can find and run the aws command in your $PATH, use the following commands.
$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.4.5 Python/3.8.8 Darwin/18.7.0 botocore/2.4.5
If the aws command cannot be found, you may need to restart your terminal or follow the instructions in the section called “Add to path” (p. 30).
Command line - Current user
1. To specify which folder the AWS CLI is installed to, you must create an XML file with any file name. This file is an XML-formatted file that looks like the following example. Leave all values as shown, except you must replace the path /Users/myusername in line 9 with the path to the folder you want the AWS CLI installed to. The folder must already exist, or the command fails.
The following XML example, named choices.xml, specifies the installer to install the AWS CLI in the folder /Users/myusername, where it creates a folder named 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>
2. Download the pkg installer using the curl command. The -o option specifies the file name that the downloaded package is written to. In this example, the file is written to AWSCLIV2.pkg in the current folder.
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
3. Run the standard macOS installer program with the following options:
• Specify the name of the package to install by using the -pkg parameter.
• Specify installing to a current user only by setting the -target parameter to CurrentUserHomeDirectory.
• Specify the path (relative to the current folder) and name of the XML file that you created in the -applyChoiceChangesXML parameter.
The following example installs the AWS CLI in the folder /Users/myusername/aws-cli.
$ installer -pkg AWSCLIV2.pkg \
-target CurrentUserHomeDirectory \ -applyChoiceChangesXML choices.xml
4. Because standard user permissions typically don't allow writing to folders in your $PATH, the installer in this mode doesn't try to add the symlinks to the aws and aws_completer programs. For the AWS CLI to run correctly, you must manually create the symlinks after the installer finishes. If your $PATH includes a folder you can write to and you specify the folder as the target's path, you can run the following command without sudo. If you don't have a writable folder in your $PATH, you must use sudo for permissions to write to the specified target folder. The default location for a symlink is /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
After installation is complete, debug logs are written to /var/log/install.log.
5. To verify that the shell can find and run the aws command in your $PATH, use the following commands.
$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.4.5 Python/3.8.8 Darwin/18.7.0 botocore/2.4.5
If the aws command cannot be found, you may need to restart your terminal or follow the instructions in the section called “Add to path” (p. 30).
Windows
Installation requirements
• We support the AWS CLI on Microsoft-supported versions of 64-bit Windows.
• Admin rights to install software
Installation instructions
To update your current installation of AWS CLI on Windows, download a new installer each time you update to overwrite previous versions. AWS CLI is updated regularly. To see when the latest version was released, see the AWS CLI changelog on GitHub.
1. Download and run the AWS CLI MSI installer for Windows (64-bit):
https://awscli.amazonaws.com/AWSCLIV2.msi
Alternatively, you can run the msiexec command to run the MSI installer.
C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
For various parameters that can be used with msiexec, see msiexec on the Microsoft Docs website.
2. To confirm the installation, open the Start menu, search for cmd to open a command prompt window, and at the command prompt use the aws --version command.
C:\> aws --version
aws-cli/2.4.5 Python/3.8.8 Windows/10 exe/AMD64 prompt/off
If Windows is unable to find the program, you might need to close and reopen the command prompt window to refresh the path, or the section called “Add to path” (p. 30).
Next steps
After completing the steps in the section called “Prerequisites” (p. 4) and installing the AWS CLI, you should perform a the section called “Quick setup” (p. 31).
Installing past releases of the AWS CLI version 2
This topic describes how to install the past releases of the AWS Command Line Interface version 2 (AWS CLI) on supported operating systems. For information on the AWS CLI version 2 releases, see the AWS CLI version 2 change notes on GitHub.
Important
AWS CLI versions 1 and 2 use the same aws command name. If you have both versions installed, your computer uses the first one found in your search path. If you previously installed AWS CLI version 1, we recommend that you do one of the following to use AWS CLI version 2:
• Recommended – Uninstall AWS CLI version 1 and use only AWS CLI version 2. For uninstall instructions, determine the method you used to install AWS CLI version 1 and follow the appropriate uninstall instructions for your operating system in Installing, updating, and uninstalling the AWS CLI version 1.
• Use your operating system's ability to create a symbolic link (symlink) or alias with a different name for one of the two aws commands. For example, you can use a symbolic link or alias on Linux and macOS, or DOSKEY on Windows.
For information on breaking changes between version 1 and version 2, see Breaking changes – Migrating from AWS CLI version 1 to version 2 (p. 201).
AWS CLI version 2 installation instructions:
Linux
Installation requirements
• You know which release of the AWS CLI version 2 you'd like to install. For a list of versions, see the AWS CLI version 2 changelog on GitHub.
• You must be able to extract or "unzip" the downloaded package. If your operating system doesn't have the built-in unzip command, use an equivalent.
• The AWS CLI version 2 uses glibc, groff, and less. These are included by default in most major distributions of Linux.
• We support the AWS CLI version 2 on 64-bit versions of recent distributions of CentOS, Fedora, Ubuntu, Amazon Linux 1, Amazon Linux 2 and Linux ARM.
• Because AWS doesn't maintain third-party repositories, we can’t guarantee that they contain the latest version of the AWS CLI.
Installation instructions
Follow these steps from the command line to install the AWS CLI on Linux.
We provide the steps in one easy to copy and paste group based on whether you use 64-bit Linux or Linux ARM. See the descriptions of each line in the steps that follow.
Linux x86 (64-bit)
To specify a version, append a hyphen and the version number to the filename. For this example the filename for version 2.0.30 would be awscli-exe-linux-x86_64-2.0.30.zip resulting in the following command:
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"
For a list of versions, see the AWS CLI version 2 changelog on GitHub.
Linux ARM
To specify a version, append a hyphen and the version number to the filename. For this example the filename for version 2.0.30 would be awscli-exe-linux-aarch64-2.0.30.zip resulting in the following command:
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"
For a list of versions, see the AWS CLI version 2 changelog on GitHub.
1. Download the installation file in one of the following ways:
Linux x86 (64-bit)
• Use the curl command – The -o option specifies the file name that the downloaded package is written to. The options on the following example command write the downloaded file to the current directory with the local name awscliv2.zip.
To specify a version, append a hyphen and the version number to the filename.
For this example the filename for version 2.0.30 would be awscli-exe-linux- x86_64-2.0.30.zip resulting in the following command:
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"
unzip awscliv2.zip sudo ./aws/install
For a list of versions, see the AWS CLI version 2 changelog on GitHub.
• Downloading from the URL –
In your browser, download your specific version of the AWS CLI by appending a hyphen and the version number to the filename.
https://awscli.amazonaws.com/awscli-exe-linux-x86_64-version.number.zip
For this example the filename for version 2.0.30 would be awscli-exe-linux- aarch64-2.0.30.zip resulting in the following link: awscli-exe-linux-aarch64-2.0.30.zip (Optional) To verify the integrity and authenticity of your downloaded installation file before you unpack the package, follow the instructions in the section called “(Optional) Verifying the integrity of your downloaded zip file” (p. 9).
Linux ARM
• Use the curl command – The -o option specifies the file name that the downloaded package is written to. The options on the following example command write the downloaded file to the current directory with the local name awscliv2.zip.
To specify a version, append a hyphen and the version number to the filename.
For this example the filename for version 2.0.30 would be awscli-exe-linux- aarch64-2.0.30.zip resulting in the following command:
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"
unzip awscliv2.zip sudo ./aws/install
• Downloading from the URL –
In your browser, download your specific version of the AWS CLI by appending a hyphen and the version number to the filename.
https://awscli.amazonaws.com/awscli-exe-linux-aarch64-version.number.zip
For this example the filename for version 2.0.30 would be awscli-exe-linux- aarch64-2.0.30.zip resulting in the following link: awscli-exe-linux-aarch64-2.0.30.zip (Optional) To verify the integrity and authenticity of your downloaded installation file before you unpack the package, follow the instructions in the section called “(Optional) Verifying the integrity of your downloaded zip file” (p. 9).
2. Unzip the installer. If your Linux distribution doesn't have a built-in unzip command, use an equivalent to unzip it. The following example command unzips the package and creates a directory named aws under the current directory.
$ unzip awscliv2.zip
3. Run the install program. The installation command uses a file named install in the newly unzipped aws directory. By default, the files are all installed to /usr/local/aws-cli, and a symbolic link is created in /usr/local/bin. The command includes sudo to grant write permissions to those directories.
$ sudo ./aws/install
You can install without sudo if you specify directories that you already have write permissions to.
Use the following instructions for the install command to specify the installation location:
• Ensure that the paths you provide to the -i and -b parameters contain no volume name or directory names that contain any space characters or other white space characters. If there is a space, the installation fails.
• --install-dir or -i – This option specifies the directory to copy all of the files to.
The default value is /usr/local/aws-cli.
• --bin-dir or -b – This option specifies that the main aws program in the install directory is symbolically linked to the file aws in the specified path. You must have write permissions to the specified directory. Creating a symlink to a directory that is already in your path eliminates the need to add the install directory to the user's $PATH variable.
The default value is /usr/local/bin.
$ ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
NoteTo update your current installation of the AWS CLI version 2 to a newer version, add your existing symlink and installer information to construct the install command with the -- update parameter.
$ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
To locate the existing symlink and installation directory, use the following steps:
1. Use the which command to find your symlink. This gives you the path to use with the -- bin-dir parameter.
$ which aws
/usr/local/bin/aws
2. Use the ls command to find the directory that your symlink points to. This gives you the path to use with the --install-dir parameter.
$ 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
4. Confirm the installation with the following command.
$ aws --version
aws-cli/2.4.5 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/2.4.5
If the aws command cannot be found, you may need to restart your terminal or follow the instructions in the section called “Add to path” (p. 30).
(Optional) Verifying the integrity of your downloaded zip file
If you chose to manually download the AWS CLI version 2 installer package .zip in the above steps, you use can use the following steps to verify the signatures by using the GnuPG tool.
The AWS CLI version 2 installer package .zip files are cryptographically signed using PGP signatures.
If there is any damage or alteration of the files, this verification fails and you should not proceed with installation.
1. Download and install the gpg command using your package manager. For more information about GnuPG, see the GnuPG website.
2. To create the public key file, create a text file and paste in the following text.
---BEGIN PGP PUBLIC KEY BLOCK---
mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G TfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYz gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG 94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4WIQT7 Xbd/1cEYuAURraimMQrMRnJHXAUCXYKvtQIbAwUJB4TOAAULCQgHAgYVCgkICwIE FgIDAQIeAQIXgAAKCRCmMQrMRnJHXJIXEAChLUIkg80uPUkGjE3jejvQSA1aWuAM yzy6fdpdlRUz6M6nmsUhOExjVIvibEJpzK5mhuSZ4lb0vJ2ZUPgCv4zs2nBd7BGJ MxKiWgBReGvTdqZ0SzyYH4PYCJSE732x/Fw9hfnh1dMTXNcrQXzwOmmFNNegG0Ox au+VnpcR5Kz3smiTrIwZbRudo1ijhCYPQ7t5CMp9kjC6bObvy1hSIg2xNbMAN/Do ikebAl36uA6Y/Uczjj3GxZW4ZWeFirMidKbtqvUz2y0UFszobjiBSqZZHCreC34B hw9bFNpuWC/0SrXgohdsc6vK50pDGdV5kM2qo9tMQ/izsAwTh/d/GzZv8H4lV9eO tEis+EpR497PaxKKh9tJf0N6Q1YLRHof5xePZtOIlS3gfvsH5hXA3HJ9yIxb8T0H QYmVr3aIUes20i6meI3fuV36VFupwfrTKaL7VXnsrK2fq5cRvyJLNzXucg0WAjPF RrAGLzY7nP1xeg1a0aeP+pdsqjqlPJom8OCWc1+6DWbg0jsC74WoesAqgBItODMB rsal1y/q+bPzpsnWjzHV8+1/EtZmSc8ZUGSJOPkfC7hObnfkl18h+1QtKTjZme4d H17gsBJr+opwJw/Zio2LMjQBOqlm3K1A4zFTh7wBC7He6KPQea1p2XAMgtvATtNe YLZATHZKTJyiqA==
=vYOk
---END PGP PUBLIC KEY BLOCK---
For reference, the following are the details of the public key.
Key ID: A6310ACC4672 Type: RSA
Size: 4096/4096 Created: 2019-09-18 Expires: 2023-09-17
User ID: AWS CLI Team <[email protected]>
Key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
3. Import the AWS CLI public key with the following command, substituting public-key-file-name with the file name of the public key you created.
$ gpg --import public-key-file-name
gpg: /home/username/.gnupg/trustdb.gpg: trustdb created
gpg: key A6310ACC4672475C: public key "AWS CLI Team <[email protected]>" imported gpg: Total number processed: 1
gpg: imported: 1
4. Download the AWS CLI signature file for the package you downloaded. It has the same path and name as the .zip file it corresponds to, but has the extension .sig. In the following examples, we save it to the current directory as a file named awscliv2.sig.
Linux x86 (64-bit)
For the latest version of the AWS CLI, use the following command block:
$ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip.sig
For a specific version of the AWS CLI, append a hyphen and the version number to the filename. For this example the filename for version 2.0.30 would be awscli-exe-linux- x86_64-2.0.30.zip.sig resulting in the following command:
$ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux- x86_64-2.0.30.zip.sig
For a list of versions, see the AWS CLI version 2 changelog on GitHub.
Linux ARM
For the latest version of the AWS CLI, use the following command block:
$ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux- aarch64.zip.sig
For a specific version of the AWS CLI, append a hyphen and the version number to the filename. For this example the filename for version 2.0.30 would be awscli-exe-linux- aarch64-2.0.30.zip.sig resulting in the following command:
$ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux- aarch64-2.0.30.zip.sig
For a list of versions, see the AWS CLI version 2 changelog on GitHub.
5. Verify the signature, passing both the downloaded .sig and .zip file names as parameters to the gpg command.
$ gpg --verify awscliv2.sig awscliv2.zip
The output should look similar to the following.
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 <[email protected]>" [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
Important
The warning in the output is expected and doesn't indicate a problem. It occurs because there isn't a chain of trust between your personal PGP key (if you have one) and the AWS CLI PGP key. For more information, see Web of trust.
macOS
Installation requirements
• You know which release of the AWS CLI version 2 you'd like to install. For a list of versions, see the AWS CLI version 2 changelog on GitHub.
• We support the AWS CLI version 2 on Apple-supported versions of 64-bit macOS.
• Because AWS doesn't maintain third-party repositories, we can’t guarantee that they contain the latest version of the AWS CLI.
Installation instructions
You can install the AWS CLI version 2 on macOS in the following ways.
GUI installer
The following steps show how to install or update to the latest version of the AWS CLI version 2 by using the standard macOS user interface and your browser. If you are updating to the latest version, use the same installation method that you used for your current version.
1. In your browser, download your specific version of the AWS CLI by appending a hyphen and the version number to the filename.
https://awscli.amazonaws.com/AWSCLIV2-version.number.pkg
For this example, the filename for version 2.0.30 would be AWSCLIV2-2.0.30.pkg resulting in the following link: https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg.
2. Run your downloaded file and follow the on-screen instructions. You can choose to install the AWS CLI version 2 in the following ways:
• For all users on the computer (requires sudo)
• You can install to any folder, or choose the recommended default folder of /usr/local/
aws-cli.
• The installer automatically creates a symlink at /usr/local/bin/aws that links to the main program in the installation folder you chose.
• For only the current user (doesn't require sudo)
• You can install to any folder to which you have write permission.
• Due to standard user permissions, after the installer finishes, you must manually create a symlink file in your $PATH that points to the aws and aws_completer programs by using the following commands at the command prompt. If your $PATH includes a folder you can write to, you can run the following command without sudo if you specify that folder as the target's path. If you don't have a writable folder in your $PATH, you must use sudo in the commands to get permissions to write to the specified target folder. The default location for a symlink is /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
NoteYou can view debug logs for the installation by pressing Cmd+L anywhere in the installer. This opens a log pane that enables you to filter and save the log. The log file is also automatically saved to /var/log/install.log.
3. To verify that the shell can find and run the aws command in your $PATH, use the following commands.
$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.4.5 Python/3.8.8 Darwin/18.7.0 botocore/2.4.5
If the aws command cannot be found, you may need to restart your terminal or follow the instructions in the section called “Add to path” (p. 30).
Command line installer - All users
If you have sudo permissions, you can install the AWS CLI version 2 for all users on the computer.
We provide the steps in one easy to copy and paste group. See the descriptions of each line in the following steps.
For a specific version of the AWS CLI, append a hyphen and the version number to the filename. For this example the filename for version 2.0.30 would be AWSCLIV2-2.0.30.pkg resulting in the following command:
$ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
1. Download the file using the curl command. The -o option specifies the file name that the downloaded package is written to. In this example, the file is written to AWSCLIV2.pkg in the current folder.
For a specific version of the AWS CLI, append a hyphen and the version number to the filename.
For this example the filename for version 2.0.30 would be AWSCLIV2-2.0.30.pkg resulting in the following command:
$ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"
For a list of versions, see the AWS CLI version 2 changelog on GitHub.
2. Run the standard macOS installer program, specifying the downloaded .pkg file as the source. Use the -pkg parameter to specify the name of the package to install, and the - target / parameter for which drive to install the package to. The files are installed to /usr/
local/aws-cli, and a symlink is automatically created in /usr/local/bin. You must include sudo on the command to grant write permissions to those folders.
$ sudo installer -pkg ./AWSCLIV2.pkg -target /
After installation is complete, debug logs are written to /var/log/install.log.
3. To verify that the shell can find and run the aws command in your $PATH, use the following commands.
$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.4.5 Python/3.8.8 Darwin/18.7.0 botocore/2.4.5
If the aws command cannot be found, you may need to restart your terminal or follow the instructions in the section called “Add to path” (p. 30).
Command line - Current user
1. To specify which folder the AWS CLI is installed to, you must create an XML file. This file is an XML-formatted file that looks like the following example. Leave all values as shown, except you must replace the path /Users/myusername in line 9 with the path to the folder you want the AWS CLI version 2 installed to. The folder must already exist, or the command fails. This XML example specifies that the installer installs the AWS CLI in the folder /Users/myusername, where it creates a folder named aws-cli.
<!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>
2. Download the pkg installer using the curl command. The -o option specifies the file name that the downloaded package is written to. In this example, the file is written to AWSCLIV2.pkg in the current folder.
For the specific version of the AWS CLI, append a hyphen and the version number to the filename. For this example the filename for version 2.0.30 would be AWSCLIV2-2.0.30.pkg resulting in the following command:
$ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"
For a list of versions, see the AWS CLI version 2 changelog on GitHub.
3. Run the standard macOS installer program with the following options:
• Specify the name of the package to install by using the -pkg parameter.
• Specify installing to a current user only by setting the -target parameter to CurrentUserHomeDirectory.
• Specify the path (relative to the current folder) and name of the XML file that you created in the -applyChoiceChangesXML parameter.
The following example installs the AWS CLI in the folder /Users/myusername/aws-cli.
$ installer -pkg AWSCLIV2.pkg \
-target CurrentUserHomeDirectory \ -applyChoiceChangesXML choices.xml
4. Because standard user permissions typically don't allow writing to folders in your $PATH, the installer in this mode doesn't try to add the symlinks to the aws and aws_completer programs. For the AWS CLI to run correctly, you must manually create the symlinks after the installer finishes. If your $PATH includes a folder you can write to and you specify the folder as the target's path, you can run the following command without sudo. If you don't have a writable folder in your $PATH, you must use sudo for permissions to write to the specified target folder. The default location for a symlink is /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
After installation is complete, debug logs are written to /var/log/install.log.
5. To verify that the shell can find and run the aws command in your $PATH, use the following commands.
$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.4.5 Python/3.8.8 Darwin/18.7.0 botocore/2.4.5
If the aws command cannot be found, you may need to restart your terminal or follow the instructions in the section called “Add to path” (p. 30).
Windows
Installation requirements
• You know which release of the AWS CLI version 2 you'd like to install. For a list of versions, see the AWS CLI version 2 changelog on GitHub.
• A 64-bit version of Windows XP or later.
• Admin rights to install software
Installation instructions
To update your current installation of AWS CLI version 2 on Windows, download a new installer each time you update to overwrite previous versions. AWS CLI is updated regularly. To see when the latest version was released, see the AWS CLI version 2 changelog on GitHub.
1. Download and run the AWS CLI MSI installer for Windows (64-bit) in one of the following ways:
• Downloading and running the MSI installer: To create your download link for a specific version of the AWS CLI, append a hyphen and the version number to the filename.
https://awscli.amazonaws.com/AWSCLIV2-version.number.msi
For this example the filename for version 2.0.30 would be AWSCLIV2-2.0.30.msi resulting in the following link: https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi.
• Using the msiexec command: Alternatively, you can use the MSI installer by adding the link to the msiexec command. For a specific version of the AWS CLI, append a hyphen and the version number to the filename.
C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2-version.number.msi
For this example the filename for version 2.0.30 would be AWSCLIV2-2.0.30.msi resulting in the following link https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi.
C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi
For various parameters that can be used with msiexec, see msiexec on the Microsoft Docs website.
For a list of versions, see the AWS CLI version 2 changelog on GitHub.
2. To confirm the installation, open the Start menu, search for cmd to open a command prompt window, and at the command prompt use the aws --version command.
C:\> aws --version
aws-cli/2.4.5 Python/3.8.8 Windows/10 exe/AMD64 prompt/off