AWS re:Invent 2016: Deep Dive on AWS Cloud Data Migration Services (ENT210)
Deep Dive: AWS Command Line Interface
-
Upload
amazon-web-services -
Category
Technology
-
view
516 -
download
1
Transcript of Deep Dive: AWS Command Line Interface
![Page 1: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/1.jpg)
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
Deep Dive: AWS Command Line Interface
James Saryerwinnie, Software Development Engineer, AWS
![Page 2: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/2.jpg)
Crash course Foundation Advanced scenarios
Intro to the AWS CLI Exploring Key Functionality Looking at Advanced CLI Features
![Page 3: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/3.jpg)
Crash courseIntro to the AWS CLI
![Page 4: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/4.jpg)
AWS Command Line Interface
Unified tool to manage your AWS services
![Page 5: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/5.jpg)
MSI (Windows)
Bundled (cross platform)
pip (cross platform)
![Page 6: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/6.jpg)
aws configure
![Page 7: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/7.jpg)
$ aws ec2 describe-instances
Service (command) Operation (subcommand)
![Page 8: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/8.jpg)
$ aws iam list-access-keys
Service (command) Operation (subcommand)
![Page 9: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/9.jpg)
json text
PLACES Seattle WA
PLACES Las Vegas NV
table
--------------------------| SomeOperationName | +------------------------+ || Places || |+------------+---------+| || City | State || |+------------+---------+| || Seattle | WA || || Las Vegas | NV || |+------------+---------+|
{"Places": [
{ "City": "Seattle", "State": "WA"
}, {
"City": "Las Vegas","State": "NV"
} ]
}
![Page 10: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/10.jpg)
FoundationExploring Key Functionality
![Page 11: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/11.jpg)
Configuration
![Page 12: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/12.jpg)
aws configure
![Page 13: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/13.jpg)
aws configure
AWS access key ID [**ABCD]: AWS secret access key [****************EFGH]: Default region name [us-west-2]: Default output format [None]:
![Page 14: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/14.jpg)
aws configure <subcommand>
![Page 15: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/15.jpg)
aws configure <subcommand>
list - list common configuration sourcesget - get the value of a single config varset - set the value of a single config var
![Page 16: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/16.jpg)
aws configure get region
![Page 17: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/17.jpg)
aws configure set profile.prod.region us-west-2
![Page 18: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/18.jpg)
A profile is a group of configuration values
![Page 19: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/19.jpg)
aws configure --profile prod
![Page 20: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/20.jpg)
Configuration files
~/.aws/credentials ~/.aws/config
• Supported by all AWS SDKs
• Only contains credentials
• Used only by the CLI
• Can contain credentials
![Page 21: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/21.jpg)
~/.aws/credentials ~/.aws/config
![Page 22: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/22.jpg)
aws configure set profile.prod.aws_access_key_id foo
~/.aws/credentials ~/.aws/config
![Page 23: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/23.jpg)
aws configure set profile.prod.aws_access_key_id foo
~/.aws/credentials ~/.aws/config
[prod] aws_access_key_id = foo
![Page 24: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/24.jpg)
aws configure set profile.prod.aws_secret_access_key bar
~/.aws/credentials ~/.aws/config
[prod] aws_access_key_id = foo
![Page 25: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/25.jpg)
aws configure set profile.prod.aws_secret_access_key bar
~/.aws/credentials ~/.aws/config
[prod] aws_access_key_id = foo aws_secret_access_key = bar
![Page 26: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/26.jpg)
aws configure set profile.prod.region uswest2
~/.aws/credentials ~/.aws/config
[prod] aws_access_key_id = foo aws_secret_access_key = bar
![Page 27: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/27.jpg)
aws configure set profile.prod.region uswest2
~/.aws/credentials ~/.aws/config
[prod] aws_access_key_id = foo aws_secret_access_key = bar
[profile prod] region = us-west-2
![Page 28: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/28.jpg)
aws configure set profile.prod.output text
~/.aws/credentials ~/.aws/config
[prod] aws_access_key_id = foo aws_secret_access_key = bar
[profile prod] region = us-west-2
![Page 29: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/29.jpg)
aws configure set profile.prod.output text
~/.aws/credentials ~/.aws/config
[prod] aws_access_key_id = foo aws_secret_access_key = bar
[profile prod] region = us-west-2 output = text
![Page 30: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/30.jpg)
create-new-user.sh
#!/bin/bash# Create a new user and create a new profile.aws iam create-user --user-name reinvent-usercredentials=$(aws iam create-access-key --user-name reinvent-user \
--query 'AccessKey.[AccessKeyId,SecretAccessKey]' \--output text)
access_key_id=$(echo $credentials | cut -d' ' -f 1)secret_access_key=$(echo $credentials | cut -d' ' -f 2)aws configure set profile.summit.aws_access_key_id "$access_key_id"aws configure set profile.summit.secret_access_key "$secret_access_key"
![Page 31: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/31.jpg)
create-new-user.sh
#!/bin/bash# Create a new user and create a new profile.aws iam create-user --user-name reinvent-usercredentials=$(aws iam create-access-key --user-name reinvent-user \
--query 'AccessKey.[AccessKeyId,SecretAccessKey]' \--output text)
access_key_id=$(echo $credentials | cut -d' ' -f 1)secret_access_key=$(echo $credentials | cut -d' ' -f 2)aws configure set profile.summit.aws_access_key_id "$access_key_id"aws configure set profile.summit.secret_access_key "$secret_access_key"
![Page 32: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/32.jpg)
create-new-user.sh
#!/bin/bash# Create a new user and create a new profile.aws iam create-user --user-name reinvent-usercredentials=$(aws iam create-access-key --user-name reinvent-user \
--query 'AccessKey.[AccessKeyId,SecretAccessKey]' \--output text)
access_key_id=$(echo $credentials | cut -d' ' -f 1)secret_access_key=$(echo $credentials | cut -d' ' -f 2)aws configure set profile.summit.aws_access_key_id "$access_key_id"aws configure set profile.summit.secret_access_key "$secret_access_key"
![Page 33: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/33.jpg)
create-new-user.sh
#!/bin/bash# Create a new user and create a new profile.aws iam create-user --user-name reinvent-usercredentials=$(aws iam create-access-key --user-name reinvent-user \
--query 'AccessKey.[AccessKeyId,SecretAccessKey]' \--output text)
access_key_id=$(echo $credentials | cut -d' ' -f 1)secret_access_key=$(echo $credentials | cut -d' ' -f 2)aws configure set profile.summit.aws_access_key_id "$access_key_id"aws configure set profile.summit.secret_access_key "$secret_access_key"
![Page 34: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/34.jpg)
create-new-user.sh
#!/bin/bash# Create a new user and create a new profile.aws iam create-user --user-name reinvent-usercredentials=$(aws iam create-access-key --user-name reinvent-user \
--query 'AccessKey.[AccessKeyId,SecretAccessKey]' \--output text)
access_key_id=$(echo $credentials | cut -d' ' -f 1)secret_access_key=$(echo $credentials | cut -d' ' -f 2)aws configure set profile.summit.aws_access_key_id "$access_key_id"aws configure set profile.summit.secret_access_key "$secret_access_key"
![Page 35: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/35.jpg)
create-new-user.sh
#!/bin/bash# Create a new user and create a new profile.aws iam create-user --user-name reinvent-usercredentials=$(aws iam create-access-key --user-name reinvent-user \
--query 'AccessKey.[AccessKeyId,SecretAccessKey]' \--output text)
access_key_id=$(echo $credentials | cut -d' ' -f 1)secret_access_key=$(echo $credentials | cut -d' ' -f 2)aws configure set profile.summit.aws_access_key_id "$access_key_id"aws configure set profile.summit.secret_access_key "$secret_access_key"
![Page 36: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/36.jpg)
Use the aws configure
suite of subcommands
![Page 37: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/37.jpg)
Query
![Page 38: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/38.jpg)
-query (string)
A JMESPath query to use in filtering the response data.
![Page 39: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/39.jpg)
![Page 40: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/40.jpg)
aws ec2 ...
parse params
HTTP request
parse response
display response
format response
Pagination
parse response
parse response body
apply --query
![Page 41: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/41.jpg)
<ListUsersResponse xmlns="..."><ListUsersResult><Users>
<member><UserId>userid</UserId><Path>/</Path><UserName>james</UserName><Arn>arn:aws:iam::..:user/james</Arn><CreateDate>2013-03-09T23:36:32Z</CreateDate>
</member><Users>
</ListUsersResult><ListUsersResponse>
![Page 42: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/42.jpg)
{"Users": [{
"Arn": "arn:aws:iam::...:user/james","UserId": "userid","CreateDate": "2013-03-09T23:36:32Z","Path": "/","UserName": "james"
}]
}
![Page 43: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/43.jpg)
{"Users": [{
"Arn": "arn:aws:iam::...:user/james","UserId": "userid","CreateDate": "2013-03-09T23:36:32Z","Path": "/","UserName": "james"
}]
}
--query Users[*].[UserName,Path,UserId]
![Page 44: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/44.jpg)
[[
"james", "/", "id"],
]
--query Users[*].[UserName,Path,UserId]
![Page 45: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/45.jpg)
-----------------------------------------| ListUsers |+-----------------------+----+----------+| james | / | userid |+-----------------------+----+----------+
![Page 46: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/46.jpg)
![Page 47: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/47.jpg)
http://jmespath.orgA Query Language for JSON
![Page 48: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/48.jpg)
Waiters
![Page 49: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/49.jpg)
Amazon EC2 instance state transitions
![Page 50: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/50.jpg)
ec2-instance-running.sh
#!/bin/bashinstance_id=$(aws ec2 run-instances --image-id ami-12345 \
--query Instances[].InstanceId \--output text)
instance_state=$(aws ec2 describe-instances --instance-ids $instance_id \--query 'Reservations[].Instances[].State.Name')
while [ "$instance_state" != "running" ]do
sleep 1instance_state=$(aws ec2 describe-instances --instance-ids $instance_id \
--query 'Reservations[].Instances[].State.Name')done
![Page 51: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/51.jpg)
ec2-instance-running.sh
#!/bin/bashinstance_id=$(aws ec2 run-instances --image-id ami-12345 \
--query Instances[].InstanceId \--output text)
instance_state=$(aws ec2 describe-instances --instance-ids $instance_id \--query 'Reservations[].Instances[].State.Name')
while [ "$instance_state" != "running" ]do
sleep 1instance_state=$(aws ec2 describe-instances --instance-ids $instance_id \
--query 'Reservations[].Instances[].State.Name')done
![Page 52: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/52.jpg)
ec2-instance-running.sh
#!/bin/bashinstance_id=$(aws ec2 run-instances --image-id ami-12345 \
--query Instances[].InstanceId \--output text)
instance_state=$(aws ec2 describe-instances --instance-ids $instance_id \--query 'Reservations[].Instances[].State.Name')
while [ "$instance_state" != "running" ]do
sleep 1instance_state=$(aws ec2 describe-instances --instance-ids $instance_id \
--query 'Reservations[].Instances[].State.Name')done
![Page 53: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/53.jpg)
ec2-instance-running.sh
#!/bin/bashinstance_id=$(aws ec2 run-instances --image-id ami-12345 \
--query Instances[].InstanceId \--output text)
instance_state=$(aws ec2 describe-instances --instance-ids $instance_id \--query 'Reservations[].Instances[].State.Name')
while [ "$instance_state" != "running" ]do
sleep 1instance_state=$(aws ec2 describe-instances --instance-ids $instance_id \
--query 'Reservations[].Instances[].State.Name')done
![Page 54: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/54.jpg)
ec2-instance-running.sh
#!/bin/bashinstance_id=$(aws ec2 run-instances --image-id ami-12345 \
--query Instances[].InstanceId \--output text)
instance_state=$(aws ec2 describe-instances --instance-ids $instance_id \--query 'Reservations[].Instances[].State.Name')
while [ "$instance_state" != "running" ]do
sleep 1instance_state=$(aws ec2 describe-instances --instance-ids $instance_id \
--query 'Reservations[].Instances[].State.Name')done
![Page 55: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/55.jpg)
ec2-instance-running.sh
#!/bin/bashinstance_id=$(aws ec2 run-instances --image-id ami-12345 \
--query Instances[].InstanceId \--output text)
instance_state=$(aws ec2 describe-instances --instance-ids $instance_id \--query 'Reservations[].Instances[].State.Name')
while [ "$instance_state" != "running" ]do
sleep 1instance_state=$(aws ec2 describe-instances --instance-ids $instance_id \
--query 'Reservations[].Instances[].State.Name')done
![Page 56: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/56.jpg)
ec2-instance-running.sh
instance_id=$(aws ec2 run-instances --image-id ami-12345 \--query Instances[].InstanceId \--output text)
aws ec2 wait instance-running --instance-ids $instance_id
![Page 57: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/57.jpg)
ec2-instance-running.sh
instance_id=$(aws ec2 run-instances --image-id ami-12345 \--query Instances[].InstanceId \--output text)
aws ec2 wait instance-running --instance-ids $instance_id
subcommand
describe-instances options
waiter name
![Page 58: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/58.jpg)
Advanced scenariosLooking at Advanced AWS CLI Features
![Page 59: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/59.jpg)
Templates
![Page 60: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/60.jpg)
The AWS CLI is data driven
![Page 61: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/61.jpg)
"RunInstancesRequest":{"type":"structure","required":["ImageId","MinCount","MaxCount"
],"members":{"ImageId":{"shape":"String"},"MinCount":{"shape":"Integer"},"MaxCount":{"shape":"Integer"},"KeyName":{"shape":"String"},"SecurityGroups":{"shape":"SecurityGroupStringList","locationName":"SecurityGroup"
},
![Page 62: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/62.jpg)
"RunInstancesRequest":{"type":"structure","required":["ImageId","MinCount","MaxCount"
],"members":{"ImageId":{"shape":"String"},"MinCount":{"shape":"Integer"},"MaxCount":{"shape":"Integer"},"KeyName":{"shape":"String"},"SecurityGroups":{"shape":"SecurityGroupStringList","locationName":"SecurityGroup"
},
![Page 63: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/63.jpg)
"RunInstancesRequest":{"type":"structure","required":["ImageId","MinCount","MaxCount"
],"members":{"ImageId":{"shape":"String"},"MinCount":{"shape":"Integer"},"MaxCount":{"shape":"Integer"},"KeyName":{"shape":"String"},"SecurityGroups":{"shape":"SecurityGroupStringList","locationName":"SecurityGroup"
},
{"ImageId": "ami-12345","MinCount": 1,"MaxCount": 1,"KeyName": "id_rsa","SecurityGroups": ["SSH"],
}
arguments.json
![Page 64: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/64.jpg)
aws ec2 run‐instances --cli-input-json file://arguments.json
![Page 65: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/65.jpg)
What else can we do?
![Page 66: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/66.jpg)
aws ec2 run‐instances --generate-cli-skeleton
![Page 67: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/67.jpg)
Demo
Creating and using JSON templates
![Page 68: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/68.jpg)
Credential providers
![Page 69: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/69.jpg)
export AWS_ACCESS_KEY_ID=...
~/.aws/credentials
~/.aws/config
Amazon EC2Instance Metadata
Credential Locator
![Page 70: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/70.jpg)
export AWS_ACCESS_KEY_ID=...
~/.aws/credentials
~/.aws/config
Amazon EC2Instance Metadata
Credential Locator
![Page 71: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/71.jpg)
export AWS_ACCESS_KEY_ID=...
~/.aws/credentials
~/.aws/config
Amazon EC2Instance Metadata
Credential Locator
![Page 72: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/72.jpg)
export AWS_ACCESS_KEY_ID=...
~/.aws/credentials
~/.aws/config
Amazon EC2Instance Metadata
Credential Locator
![Page 73: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/73.jpg)
export AWS_ACCESS_KEY_ID=...
~/.aws/credentials
~/.aws/config
Amazon EC2Instance Metadata
Credential Locator
![Page 74: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/74.jpg)
export AWS_ACCESS_KEY_ID=...
~/.aws/credentials
~/.aws/config
Amazon EC2Instance Metadata
Credential Locator
AssumeRole
![Page 75: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/75.jpg)
Delegate access to AWS resources usingAWS Identity and Access Management (IAM) roles
![Page 76: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/76.jpg)
![Page 77: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/77.jpg)
![Page 78: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/78.jpg)
![Page 79: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/79.jpg)
![Page 80: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/80.jpg)
![Page 81: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/81.jpg)
aws configure set profile.prodrole.source_profile dev
aws configure set profile.prodrole.role_arn arn:aws:iam…
configure-role.sh
![Page 82: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/82.jpg)
~/.aws/credentials ~/.aws/config
[profile prodrole]role_arn = arn:aws:iam source_profile = dev
![Page 83: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/83.jpg)
~/.aws/credentials ~/.aws/config
[profile prodrole]role_arn = arn:aws:iam source_profile = dev
![Page 84: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/84.jpg)
Demo
Using roles with the AWS CLI
![Page 85: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/85.jpg)
Amazon S3 commands
![Page 86: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/86.jpg)
aws s3 cp local s3://bucket/keyaws s3 sync . s3://bucket/dir
![Page 87: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/87.jpg)
largefile-part-1
largefile-part-2
largefile-part-3
largefile-part-4
delete-filesmallfile
Threads
aws s3 sync . s3://bucket/dir
![Page 88: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/88.jpg)
multipart_chunksize
multipart_threshold
max_queue_size
max_concurrent_requests
![Page 89: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/89.jpg)
multipart_chunksize
multipart_threshold
max_queue_size
max_concurrent_requests
$ aws configure set default.s3.max_concurrent_requests 20$ aws configure set default.s3.max_queue_size 10000$ aws configure set default.s3.multipart_threshold 64MB$ aws configure set default.s3.multipart_chunksize 16MB
![Page 90: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/90.jpg)
http://docs.aws.amazon.com/cli/latest/topic/s3-config.html
$ aws help s3-config
![Page 91: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/91.jpg)
Summary
![Page 92: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/92.jpg)
Wrapping up
• Configuration
• Waiters
• Query
• Templates
• Credential Providers
• Amazon S3 Commands
![Page 93: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/93.jpg)
For more information
• https://github.com/aws/aws-cli
• http://docs.aws.amazon.com/cli/latest/userguide/
• https://forums.aws.amazon.com/forum.jspa?forumID=150
• http://docs.aws.amazon.com/cli/latest/reference/
• http://jmespath.org/
![Page 94: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/94.jpg)
Your feedback is important to AWSPlease complete the session evaluation. Tell us what you think!
![Page 95: Deep Dive: AWS Command Line Interface](https://reader036.fdocuments.us/reader036/viewer/2022062308/55c25443bb61eb032b8b4584/html5/thumbnails/95.jpg)
NEW YORK