aws-ec2
Manage Amazon EC2 instances from command line
TLDR
Display information about a specific instance
Display information about all instances
Display information about all EC2 volumes
Delete an EC2 volume
Create a snapshot from an EC2 volume
List available AMIs (Amazon Machine Images)
Show list of all available EC2 commands
Display help for specific EC2 subcommand
SYNOPSIS
aws ec2 SUBCOMMAND [global-options] [subcommand-options] [arguments]
PARAMETERS
--debug
Turn on debug logging
--endpoint-url TEXT
Override default endpoint URL
--no-verify-ssl
Disable SSL certificate verification
--cli-input-json TEXT
Perform operation from JSON file
--cli-auto-prompt
Automatically prompt for missing parameters
--no-cli-pager
Disable cli pager for output
--region TEXT
AWS region (e.g., us-east-1)
--output TEXT
Output format: json|text|table
--query TEXT
JMESPath expression to filter output
--profile TEXT
Use specific profile from credentials file
--dry-run
Dry run; no changes made (EC2-specific)
--generate-cli-skeleton VERSION
Prints JSON skeleton for command
DESCRIPTION
The aws ec2 command is a core component of the AWS Command Line Interface (CLI), a toolset for interacting with Amazon Web Services from the Linux terminal. It enables users to manage Elastic Compute Cloud (EC2) resources, including virtual servers (instances), storage volumes, networking (VPCs, subnets, security groups), key pairs, images (AMIs), and more.
Common operations include launching instances with run-instances, querying resource states via describe-instances or describe-volumes, modifying instances (start-instances, stop-instances, terminate-instances), attaching/detaching volumes, and configuring auto-scaling groups. It supports filtering results with JMESPath queries, pagination for large datasets, and dry-run modes for testing.
Requires AWS CLI installation (via pip, apt, or binaries), configured credentials (access key ID, secret access key, region), and appropriate IAM permissions. Outputs in JSON, text, or table formats. Operations may incur AWS charges; always review billing.
CAVEATS
Requires AWS CLI v2+ installed and configured (aws configure). IAM policies must allow EC2 actions. Regional availability varies; incurs costs for resources. Not idempotent for all ops; use --dry-run. Large queries may hit API limits.
COMMON SUBCOMMANDS
run-instances: Launch EC2 instances.
describe-instances: View instance details.
stop-instances: Stop instances.
create-key-pair: Generate SSH keys.
describe-security-groups: List security groups.
CONFIGURATION
Run aws configure for credentials, default region (e.g., us-west-2), output. Use profiles for multi-account: aws ec2 describe-instances --profile prod.
AUTHENTICATION
Supports access keys, IAM roles (EC2 metadata), SSO, MFA. Set AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY env vars.
HISTORY
Debuted in AWS CLI v1 (2013) as unified service interface replacing ec2-api-tools. v2 (2020) improved speed (4x faster), added session plugins, Markdown docs. Ongoing updates align with EC2 features like Nitro instances, Graviton processors.


