Command Palette

Search for a command to run...

AWS CLI Installation Guide

Complete guide for installing and configuring AWS Command Line Interface (CLI) across different operating systems.

The AWS Command Line Interface (AWS CLI) is a unified tool to manage your AWS services from the command line.

Prerequisites

  • Active AWS account
  • Access key ID and secret access key
  • Python 3.7 or later (for some operating systems)
  • Internet connection

Installation Instructions

Ubuntu/Debian Installation

# Install required packages
sudo apt update
sudo apt install -y unzip curl
 
# Download AWS CLI
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
 
# Extract the archive
unzip awscliv2.zip
 
# Install AWS CLI
sudo ./aws/install
 
# Verify installation
aws --version
 
# Clean up
rm -rf aws awscliv2.zip

Configuration

Initial Setup

# Configure AWS CLI
aws configure
 
# Enter the following information when prompted:
# AWS Access Key ID: YOUR_ACCESS_KEY
# AWS Secret Access Key: YOUR_SECRET_KEY
# Default region name: YOUR_REGION (e.g., us-west-2)
# Default output format: json

Multiple Profiles

# Configure additional profile
aws configure --profile production
 
# Use specific profile
aws s3 ls --profile production
 
# List configured profiles
aws configure list-profiles

Environment Variables

# Set AWS credentials via environment variables
export AWS_ACCESS_KEY_ID="YOUR_ACCESS_KEY"
export AWS_SECRET_ACCESS_KEY="YOUR_SECRET_KEY"
export AWS_DEFAULT_REGION="us-west-2"

Basic Usage

S3 Commands

# List buckets
aws s3 ls
 
# Copy file to S3
aws s3 cp file.txt s3://my-bucket/
 
# Sync directory with S3
aws s3 sync local-dir s3://my-bucket/dir/

EC2 Commands

# List instances
aws ec2 describe-instances
 
# Start instance
aws ec2 start-instances --instance-ids i-1234567890abcdef0
 
# Stop instance
aws ec2 stop-instances --instance-ids i-1234567890abcdef0

Troubleshooting

Best Practices

  1. Credential Management

    # Use AWS CLI credential helper
    aws configure set credential_process /path/to/credential/helper
     
    # Use AWS SSO
    aws configure sso
  2. Security

    # Enable MFA
    aws iam create-virtual-mfa-device
    aws iam enable-mfa-device
     
    # Rotate access keys
    aws iam create-access-key
    aws iam delete-access-key
  3. Resource Tagging

    # Tag resources
    aws ec2 create-tags \
      --resources i-1234567890abcdef0 \
      --tags Key=Environment,Value=Production

Advanced Configuration

AWS CLI Configuration File

# ~/.aws/config
[default]
region = us-west-2
output = json
cli_pager =
 
[profile dev]
region = us-east-1
output = text
 
[profile prod]
region = eu-west-1
output = yaml

Credential File

# ~/.aws/credentials
[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY
 
[prod]
aws_access_key_id = PROD_ACCESS_KEY
aws_secret_access_key = PROD_SECRET_KEY

Next Steps