The AWS CLI is required for deploying blueprints to AWS. This guide covers installation and configuration on macOS and Windows.
- Minimum version: AWS CLI v2
- Recommended: Latest stable version
# Install AWS CLI
brew install awscli
# Verify installation
aws --version# Download the installer
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
# Install (requires admin password)
sudo installer -pkg AWSCLIV2.pkg -target /
# Verify installation
aws --version
# Clean up
rm AWSCLIV2.pkg- Download the installer: AWS CLI MSI Installer
- Run the downloaded MSI installer
- Follow the installation wizard
- Open a new Command Prompt or PowerShell
- Verify:
aws --version
# Install AWS CLI
choco install awscli
# Verify installation
aws --version# Install AWS CLI
winget install Amazon.AWSCLI
# Verify installation
aws --version# Download installer
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
# Install unzip if needed
sudo apt install unzip
# Extract and install
unzip awscliv2.zip
sudo ./aws/install
# Verify
aws --version
# Clean up
rm -rf aws awscliv2.zip# Download installer
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
# Install unzip if needed
sudo yum install unzip
# Extract and install
unzip awscliv2.zip
sudo ./aws/install
# Verify
aws --versionThe fastest way to configure credentials:
aws configureYou'll be prompted for:
- AWS Access Key ID: Your access key
- AWS Secret Access Key: Your secret key
- Default region name: e.g.,
us-east-1 - Default output format:
json(recommended)
AWS CLI stores configuration in two files:
~/.aws/credentials (Linux/macOS) or %USERPROFILE%.aws\credentials (Windows)
[default]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY~/.aws/config
[default]
region = us-east-1
output = jsonConfigure multiple AWS accounts using profiles:
# Configure a named profile
aws configure --profile production~/.aws/credentials
[default]
aws_access_key_id = AKIA...DEFAULT
aws_secret_access_key = ...
[production]
aws_access_key_id = AKIA...PROD
aws_secret_access_key = ...
[development]
aws_access_key_id = AKIA...DEV
aws_secret_access_key = ...Use profiles:
# Set profile for current session
export AWS_PROFILE=production
# Or specify per-command
aws s3 ls --profile productionFor organizations using AWS IAM Identity Center:
# Configure SSO
aws configure sso
# Login
aws sso login --profile my-sso-profile
# Use the profile
export AWS_PROFILE=my-sso-profileWhen running on AWS infrastructure with an IAM role attached, no configuration is needed. The CLI automatically uses the instance/task role.
Verify your configuration works:
# Check CLI version
aws --version
# Verify credentials
aws sts get-caller-identityExpected output:
{
"UserId": "AIDAIOSFODNN7EXAMPLE",
"Account": "123456789012",
"Arn": "arn:aws:iam::123456789012:user/myuser"
}Terraform uses AWS credentials from:
- Environment variables (
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY) - AWS credentials file (
~/.aws/credentials) - Instance profile (when running on EC2)
provider "aws" {
region = "us-east-1"
profile = "production" # Optional: use specific profile
}Or set environment variable:
export AWS_PROFILE=production
terraform applyFor Aviatrix blueprints, you typically need permissions to create:
- VPCs, Subnets, Route Tables
- EC2 instances, Security Groups
- IAM roles (for EKS, Aviatrix gateways)
- EKS clusters (for Kubernetes blueprints)
- Various other services depending on the blueprint
See each blueprint's README for specific IAM requirements.
Unable to locate credentials
Solutions:
- Run
aws configureto set up credentials - Verify credentials file exists:
cat ~/.aws/credentials - Check environment variables:
env | grep AWS
An error occurred (InvalidClientTokenId)
Solutions:
- Verify access key is correct
- Check if key has been deactivated in IAM console
- Regenerate credentials if needed
You must specify a region
Solutions:
- Run
aws configureand set default region - Set environment variable:
export AWS_DEFAULT_REGION=us-east-1 - Specify in command:
aws ec2 describe-instances --region us-east-1
SSL validation failed
Solutions:
- Update CA certificates on your system
- Check for proxy interference
- As last resort (not recommended):
aws --no-verify-ssl ...