AWS CLI
External
- https://aws.amazon.com/cli/
- https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html
- https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-mac.html
Internal
Overview
AWS CLI is a package that provides commands for interacting with the AWS services. All functionality available on the web Amazon Management Console is made available from command line.
Installation
curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" unzip awscli-bundle.zip sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
Result (it should be already in PATH):
aws --version aws-cli/1.16.25 Python/2.7.10 Darwin/17.7.0 botocore/1.12.15
Configuration
Configuration Procedure
Once installed, AWS CLI can be configured by running:
aws configure
It will interactively inquire for AWS Access Key ID, etc.
Configuration Files
AWS CLI organizes configuration and credentials in two separate files placed in $USER/.aws. They are separated to isolate credentials for less sensitive options of region and output.
~/.aws/config
AWS CLI configuration file is maintained by default in ~/.aws/config:
[default]
region = us-west-2
ca_bundle = /path/to/ca-bundle.pem
output=json
[profile testing]
region = us-west-1
[profile testing2]
region = eu-west-1
[preview]
cloudsearch = true
~/.aws/credentials
AWS CLI credentials are maintained by default in ~/.aws/credentials:
[default]
aws_access_key_id=...
aws_secret_access_key=...
Configuration Profile
The initial configuration procedure creates a profile named "default". Additional named profiles can be created, and then referred from command line with --profile
.
Profiles can be created with:
aws configure set
Selecting a Profile
A previously-configured profile can be selected by setting the "AWS_PROFILE" environment variable:
export AWS_PROFILE=jenkins
Test Installation
aws ec2 describe-regions
aws ec2 describe-hosts
Credential Providers
TODO
Define the relationship between the AWS CLI and EC2 CLI