Bird
Raised Fist0
AWScloud~5 mins

Basic CLI commands (s3, ec2) in AWS - Commands & Configuration

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction
Managing cloud resources can be tricky without the right tools. AWS CLI commands let you control storage and servers easily from your computer without using the web console.
When you want to upload or download files to cloud storage quickly without opening a browser.
When you need to check the status of your virtual servers to see if they are running.
When you want to start or stop a virtual server to save costs during off-hours.
When you want to list all your storage buckets or servers to keep track of your resources.
When automating tasks like backups or server management using scripts.
Commands
This command lists all your S3 storage buckets so you can see what storage spaces you have.
Terminal
aws s3 ls
Expected OutputExpected
2023-05-01 10:00:00 example-bucket 2023-06-15 15:30:00 my-app-data
This command uploads the file 'sample.txt' from your computer to the 'example-bucket' in S3 storage.
Terminal
aws s3 cp sample.txt s3://example-bucket/sample.txt
Expected OutputExpected
upload: ./sample.txt to s3://example-bucket/sample.txt
This command shows details about your virtual servers (EC2 instances), including their status and IDs.
Terminal
aws ec2 describe-instances
Expected OutputExpected
{ "Reservations": [ { "Instances": [ { "InstanceId": "i-0123456789abcdef0", "State": {"Name": "running"}, "InstanceType": "t2.micro" } ] } ] }
This command stops the EC2 instance with the given ID to save costs when the server is not needed.
Terminal
aws ec2 stop-instances --instance-ids i-0123456789abcdef0
Expected OutputExpected
{ "StoppingInstances": [ { "InstanceId": "i-0123456789abcdef0", "CurrentState": {"Name": "stopping"}, "PreviousState": {"Name": "running"} } ] }
--instance-ids - Specifies which server to stop by its unique ID
This command starts the EC2 instance again so it can run and serve your applications.
Terminal
aws ec2 start-instances --instance-ids i-0123456789abcdef0
Expected OutputExpected
{ "StartingInstances": [ { "InstanceId": "i-0123456789abcdef0", "CurrentState": {"Name": "pending"}, "PreviousState": {"Name": "stopped"} } ] }
--instance-ids - Specifies which server to start by its unique ID
Key Concept

If you remember nothing else, remember: AWS CLI commands let you control storage and servers quickly from your computer without using the web interface.

Common Mistakes
Using incorrect bucket or instance IDs in commands
The commands will fail because AWS cannot find the resource you want to manage.
Always double-check the bucket names and instance IDs before running commands.
Trying to upload files to a bucket that does not exist
The upload will fail because the destination storage space is missing.
List your buckets first with 'aws s3 ls' and create the bucket if needed.
Not having AWS CLI configured with credentials
Commands will fail with permission errors because AWS does not know who you are.
Run 'aws configure' to set up your access key, secret key, region, and output format.
Summary
Use 'aws s3 ls' to list your storage buckets and 'aws s3 cp' to upload files.
Use 'aws ec2 describe-instances' to see your virtual servers and 'aws ec2 stop-instances' or 'start-instances' to control them.
Always verify resource names and IDs before running commands to avoid errors.

Practice

(1/5)
1. Which AWS CLI command lists all buckets in Amazon S3?
easy
A. aws s3 list-buckets
B. aws ec2 ls
C. aws ec2 describe-buckets
D. aws s3 ls

Solution

  1. Step 1: Understand the service for buckets

    Amazon S3 stores buckets, so the command must use aws s3.
  2. Step 2: Identify the correct action to list buckets

    The ls action lists buckets in S3. So aws s3 ls lists all buckets.
  3. Final Answer:

    aws s3 ls -> Option D
  4. Quick Check:

    List buckets = aws s3 ls [OK]
Hint: Use 'aws s3 ls' to list buckets quickly [OK]
Common Mistakes:
  • Confusing EC2 commands with S3 commands
  • Using 'list-buckets' which is not a valid CLI action
  • Trying to list buckets with 'aws ec2' commands
2. Which command correctly starts an EC2 instance with ID i-1234567890abcdef0?
easy
A. aws ec2 start-instances --instance-ids i-1234567890abcdef0
B. aws ec2 start-instance --instance-ids i-1234567890abcdef0
C. aws ec2 start-instances --instance-id i-1234567890abcdef0
D. aws ec2 start-instance --instance-id i-1234567890abcdef0

Solution

  1. Step 1: Identify the correct EC2 start command

    The correct command to start instances is start-instances (plural).
  2. Step 2: Use the correct option name for instance IDs

    The option is --instance-ids (plural), not --instance-id.
  3. Final Answer:

    aws ec2 start-instances --instance-ids i-1234567890abcdef0 -> Option A
  4. Quick Check:

    Start instances = start-instances + --instance-ids [OK]
Hint: Use plural 'start-instances' and '--instance-ids' options [OK]
Common Mistakes:
  • Using singular 'start-instance' instead of 'start-instances'
  • Using '--instance-id' instead of '--instance-ids'
  • Mixing up EC2 and S3 commands
3. What is the output of this command if the bucket my-bucket contains two files file1.txt and file2.txt?
aws s3 ls s3://my-bucket/
medium
A. Lists the names and sizes of file1.txt and file2.txt
B. Shows an error: bucket not found
C. Lists only the bucket name my-bucket
D. Deletes the files in the bucket

Solution

  1. Step 1: Understand the command purpose

    aws s3 ls s3://my-bucket/ lists objects inside the bucket my-bucket.
  2. Step 2: Predict the output for files in the bucket

    The command will show the file names and their sizes for file1.txt and file2.txt.
  3. Final Answer:

    Lists the names and sizes of file1.txt and file2.txt -> Option A
  4. Quick Check:

    List bucket contents = file names + sizes [OK]
Hint: Use 'aws s3 ls s3://bucket/' to list files inside [OK]
Common Mistakes:
  • Thinking it lists buckets instead of files
  • Expecting deletion or error output
  • Confusing bucket name listing with object listing
4. You run this command but get an error: aws ec2 describe-instances --instance-ids i-1234567890abcdef0. What is the likely cause?
medium
A. The command should be aws s3 describe-instances
B. The instance ID is incorrect or does not exist
C. You must use start-instances instead of describe-instances
D. You forgot to add --bucket option

Solution

  1. Step 1: Check command correctness

    aws ec2 describe-instances --instance-ids is a valid command to get instance details.
  2. Step 2: Identify common error reasons

    An error usually means the instance ID is wrong or the instance does not exist in your account or region.
  3. Final Answer:

    The instance ID is incorrect or does not exist -> Option B
  4. Quick Check:

    Invalid instance ID causes describe-instances error [OK]
Hint: Check instance ID spelling and region for describe-instances errors [OK]
Common Mistakes:
  • Using S3 commands for EC2 tasks
  • Confusing describe with start commands
  • Adding irrelevant options like --bucket
5. You want to copy a local file photo.jpg to an S3 bucket my-photos in a folder 2024/. Which command correctly does this?
hard
A. aws ec2 cp photo.jpg s3://my-photos/2024/
B. aws s3 mv photo.jpg s3://my-photos/2024/
C. aws s3 cp photo.jpg s3://my-photos/2024/
D. aws s3 sync photo.jpg s3://my-photos/2024/

Solution

  1. Step 1: Choose the correct AWS service and action

    Copying files to S3 uses aws s3 cp. EC2 commands do not handle S3 files.
  2. Step 2: Use the correct source and destination syntax

    Source is local file photo.jpg, destination is S3 path s3://my-photos/2024/.
  3. Final Answer:

    aws s3 cp photo.jpg s3://my-photos/2024/ -> Option C
  4. Quick Check:

    Copy local file to S3 = aws s3 cp [OK]
Hint: Use 'aws s3 cp' to copy files to S3 buckets [OK]
Common Mistakes:
  • Using 'mv' which moves instead of copies
  • Using 'sync' for single file copy
  • Using EC2 commands for S3 file operations