SlideShare a Scribd company logo
AWS Black Belt Ninja Dojo
Dean Samuels, Solutions Architect
Amazon Web Services
Business
101 Technical
201 Technical
301 Technical
401 Technical
Session Grading
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
How can I optimise the performance of these
AWS services
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Amazon EBS – Larger & Faster Volumes
Amazon EBS – Larger & Faster Volumes
GP2
1GB-16TB
Amazon EBS – Larger & Faster Volumes
GP2 PIOPS/
io2
1GB-16TB 4GB-16TB
Amazon EBS – Larger & Faster Volumes
GP2 PIOPS/
io2
MAG/STD
1GB-16TB 4GB-16TB 1GB-1TB
Amazon EBS – Larger & Faster Volumes
GP2 PIOPS/
io2
MAG/STD
10,000 IOPS
(<1TB – 3000 IOPS)
1GB-16TB 4GB-16TB 1GB-1TB
Amazon EBS – Larger & Faster Volumes
GP2 PIOPS/
io2
MAG/STD
10,000 IOPS
(<1TB – 3000 IOPS)
160MB/s
(<1TB – 128MB/s)
1GB-16TB 4GB-16TB 1GB-1TB
Amazon EBS – Larger & Faster Volumes
GP2 PIOPS/
io2
MAG/STD
10,000 IOPS
(<1TB – 3000 IOPS)
160MB/s
(<1TB – 128MB/s) 20,000 IOPS
1GB-16TB 4GB-16TB 1GB-1TB
Amazon EBS – Larger & Faster Volumes
GP2 PIOPS/
io2
MAG/STD
10,000 IOPS
(<1TB – 3000 IOPS)
160MB/s
(<1TB – 128MB/s) 20,000 IOPS
320MB/s
(<1TB – 128MB/s)
1GB-16TB 4GB-16TB 1GB-1TB
Amazon EBS – Larger & Faster Volumes
GP2 PIOPS/
io2
MAG/STD
10,000 IOPS
(<1TB – 3000 IOPS)
160MB/s
(<1TB – 128MB/s) 20,000 IOPS
320MB/s
(<1TB – 128MB/s) ~100 IOPS
1GB-16TB 4GB-16TB 1GB-1TB
Amazon EBS – Larger & Faster Volumes
GP2 PIOPS/
io2
MAG/STD
10,000 IOPS
(<1TB – 3000 IOPS)
160MB/s
(<1TB – 128MB/s) 20,000 IOPS
320MB/s
(<1TB – 128MB/s) ~100 IOPS 50-90MB/s
1GB-16TB 4GB-16TB 1GB-1TB
Amazon EBS – Larger & Faster Volumes
GP2 PIOPS/
io2
MAG/STD
10,000 IOPS
(<1TB – 3000 IOPS)
160MB/s
(<1TB – 128MB/s) 20,000 IOPS
320MB/s
(<1TB – 128MB/s) ~100 IOPS 50-90MB/s
1GB-16TB 4GB-16TB 1GB-1TB
EC2
48,000 IOPS @ 16K IO
800MB/s^
^Amazon EC2 *.8xlarge instances support 10Gb/s network
Amazon EBS – Larger & Faster Volumes
GP2 PIOPS/
io2
MAG/STD
10,000 IOPS
(<1TB – 3000 IOPS)
160MB/s
(<1TB – 128MB/s) 20,000 IOPS
320MB/s
(<1TB – 128MB/s) ~100 IOPS 50-90MB/s
1GB-16TB 4GB-16TB 1GB-1TB
EC2
48,000 IOPS @ 16K IO
800MB/s^
EBS-Optimized @
500Mb, 1Gb, 2Gb^
^Amazon EC2 *.8xlarge instances support 10Gb/s network
1-2ms
Amazon EBS – Larger & Faster Volumes
GP2 PIOPS/
io2
MAG/STD
10,000 IOPS
(<1TB – 3000 IOPS)
160MB/s
(<1TB – 128MB/s) 20,000 IOPS
320MB/s
(<1TB – 128MB/s) ~100 IOPS 50-90MB/s
1GB-16TB 4GB-16TB 1GB-1TB
EC2
48,000 IOPS @ 16K IO
800MB/s^
EBS-Optimized @
500Mb, 1Gb, 2Gb^
^Amazon EC2 *.8xlarge instances support 10Gb/s network
1-2ms
48,000 IOPS @ 16K IO
800MB/s^
EC2
Amazon EBS – Larger & Faster Volumes
GP2 PIOPS/
io2
MAG/STD
10,000 IOPS
(<1TB – 3000 IOPS)
160MB/s
(<1TB – 128MB/s) 20,000 IOPS
320MB/s
(<1TB – 128MB/s) ~100 IOPS 50-90MB/s
1GB-16TB 4GB-16TB 1GB-1TB
EC2
48,000 IOPS @ 16K IO
800MB/s^
EBS-Optimized @
500Mb, 1Gb, 2Gb^
EBS-Optimized @
500Mb, 1Gb, 2Gb^
^Amazon EC2 *.8xlarge instances support 10Gb/s network
1-2ms 1-2ms
48,000 IOPS @ 16K IO
800MB/s^
EC2
Amazon EBS – Larger & Faster Volumes
GP2 PIOPS/
io2
MAG/STD
10,000 IOPS
(<1TB – 3000 IOPS)
160MB/s
(<1TB – 128MB/s) 20,000 IOPS
320MB/s
(<1TB – 128MB/s) ~100 IOPS 50-90MB/s
1GB-16TB 4GB-16TB 1GB-1TB
EC2
48,000 IOPS @ 16K IO
800MB/s^
EBS-Optimized @
500Mb, 1Gb, 2Gb^
EBS-Optimized @
500Mb, 1Gb, 2Gb^
^Amazon EC2 *.8xlarge instances support 10Gb/s network
1-2ms 1-2ms ~2-40ms
48,000 IOPS @ 16K IO
800MB/s^
EC2
48,000 IOPS @ 16K IO
800MB/s^
EC2
Amazon EBS – Larger & Faster Volumes
GP2 PIOPS/
io2
MAG/STD
10,000 IOPS
(<1TB – 3000 IOPS)
160MB/s
(<1TB – 128MB/s) 20,000 IOPS
320MB/s
(<1TB – 128MB/s) ~100 IOPS 50-90MB/s
1GB-16TB 4GB-16TB 1GB-1TB
EC2
48,000 IOPS @ 16K IO
800MB/s^
EBS-Optimized @
500Mb, 1Gb, 2Gb^
EBS-Optimized @
500Mb, 1Gb, 2Gb^
^Amazon EC2 *.8xlarge instances support 10Gb/s network
1-2ms 1-2ms ~2-40ms
48,000 IOPS @ 16K IO
800MB/s^
EC2
48,000 IOPS @ 16K IO
800MB/s^
EC2
Optimal queue depth to achieve lower latency and highest IOPS is
~1 QD per 200 IOPS
Amazon EBS
Amazon EBS
Cost Optimisation
Amazon EBS
Cost Optimisation
• 1TB PIOPS volume with 4K IOPS
– $429.32* per month per volume
_________________________________
*Pricing for AWS Sydney region – ap-southeast-2
Amazon EBS
Cost Optimisation
• 1TB PIOPS volume with 4K IOPS
– $429.32* per month per volume
_________________________________
• GP2 1TB volume with 3000 IOPS
– $122.88*
*Pricing for AWS Sydney region – ap-southeast-2
Amazon EBS
Cost Optimisation
• 1TB PIOPS volume with 4K IOPS
– $429.32* per month per volume
_________________________________
• GP2 1TB volume with 3000 IOPS
– $122.88*
• GP2 2 x 500GB volumes at 3K, burst to 6K
– $122.88*
~70% Cost Savings. 50% more peak I/O with
*Pricing for AWS Sydney region – ap-southeast-2
Amazon EBS
Cost Optimisation
• 1TB PIOPS volume with 4K IOPS
– $429.32* per month per volume
_________________________________
• GP2 1TB volume with 3000 IOPS
– $122.88*
• GP2 2 x 500GB volumes at 3K, burst to 6K
– $122.88*
~70% Cost Savings. 50% more peak I/O with
General Purpose (SSD)
*Pricing for AWS Sydney region – ap-southeast-2
Amazon EBS
Cost Optimisation
• 1TB PIOPS volume with 4K IOPS
– $429.32* per month per volume
_________________________________
• GP2 1TB volume with 3000 IOPS
– $122.88*
• GP2 2 x 500GB volumes at 3K, burst to 6K
– $122.88*
~70% Cost Savings. 50% more peak I/O with
General Purpose (SSD)
Management Optimisation
*Pricing for AWS Sydney region – ap-southeast-2
Amazon EBS
Cost Optimisation
• 1TB PIOPS volume with 4K IOPS
– $429.32* per month per volume
_________________________________
• GP2 1TB volume with 3000 IOPS
– $122.88*
• GP2 2 x 500GB volumes at 3K, burst to 6K
– $122.88*
~70% Cost Savings. 50% more peak I/O with
General Purpose (SSD)
Management Optimisation
• Leverage tags to add metadata to snapshots
– Application stack
– Instance Id
– Volume Id
– Version
– Type (daily, weekly)
*Pricing for AWS Sydney region – ap-southeast-2
Use together with new AMI
creation date
Amazon EC2
• Next Generation Instance Types
– C4 & C3: Compute Optimized
– R3: Memory Optimized
– I2: High IO
– D2: Dense-storage
Amazon EC2
• Next Generation Instance Types
– C4 & C3: Compute Optimized
– R3: Memory Optimized
– I2: High IO
– D2: Dense-storage
• Hardware Assisted Virtualization (HVM)
Amazon EC2
• Next Generation Instance Types
– C4 & C3: Compute Optimized
– R3: Memory Optimized
– I2: High IO
– D2: Dense-storage
• Hardware Assisted Virtualization (HVM)
• Enhanced Networking
Virtualization layer
eth0
eth1
Instance Virtual NICs
Physical NIC
VIF
Amazon EC2 – Enhanced Networking
Virtualization layer
eth0
eth1
Instance Virtual NICs
Physical NIC
Virtualization layer
eth0
Instance
Physical NIC
VF Driver
eth1
VF
VIF SR-IOV
Amazon EC2 – Enhanced Networking
Virtualization layer
eth0
eth1
Instance Virtual NICs
Physical NIC
Virtualization layer
eth0
Instance
Physical NIC
VF Driver
eth1
VF
VIF SR-IOV
Amazon EC2 – Enhanced Networking
Instance 1 Instance 2
........
Demo

EC2 & EBS Optimisation
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
Don’t Do This!
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
Don’t Do This!
You end up with this
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
1 2 N
1 2 N
Don’t Do This!
You end up with this
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
1 2 N
1 2 N
Partition Partition Partition Partition
Don’t Do This!
You end up with this
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
1 2 N
1 2 N
Partition Partition Partition Partition
Don’t Do This!
You end up with this
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
1 2 N
1 2 N
Partition Partition Partition Partition
Don’t Do This!
You end up with this
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
1 2 N
1 2 N
Partition Partition Partition Partition
If you want a bucket capable of
routinely exceeding 100 TPS
Don’t Do This!
You end up with this
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
1 2 N
1 2 N
Partition Partition Partition Partition
If you want a bucket capable of
routinely exceeding 100 TPS
Note: 100 TPS is A LOT!
Don’t Do This!
You end up with this
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
<my_bucket>/521335461-2013_11_13.jpg
<my_bucket>/465330151-2013_11_13.jpg
<my_bucket>/987331160-2013_11_13.jpg
<my_bucket>/465765461-2013_11_13.jpg
<my_bucket>/125631151-2013_11_13.jpg
<my_bucket>/934563160-2013_11_13.jpg
<my_bucket>/532132341-2013_11_13.jpg
<my_bucket>/565437681-2013_11_13.jpg
<my_bucket>/234567460-2013_11_13.jpg
1 2 N
1 2 N
Partition Partition Partition Partition
If you want a bucket capable of
routinely exceeding 100 TPS
Note: 100 TPS is A LOT!
Don’t Do This!
You end up with this
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
<my_bucket>/521335461-2013_11_13.jpg
<my_bucket>/465330151-2013_11_13.jpg
<my_bucket>/987331160-2013_11_13.jpg
<my_bucket>/465765461-2013_11_13.jpg
<my_bucket>/125631151-2013_11_13.jpg
<my_bucket>/934563160-2013_11_13.jpg
<my_bucket>/532132341-2013_11_13.jpg
<my_bucket>/565437681-2013_11_13.jpg
<my_bucket>/234567460-2013_11_13.jpg
1 2 N
1 2 N
Partition Partition Partition Partition
If you want a bucket capable of
routinely exceeding 100 TPS
Note: 100 TPS is A LOT!
Don’t Do This!
You end up with this
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
<my_bucket>/521335461-2013_11_13.jpg
<my_bucket>/465330151-2013_11_13.jpg
<my_bucket>/987331160-2013_11_13.jpg
<my_bucket>/465765461-2013_11_13.jpg
<my_bucket>/125631151-2013_11_13.jpg
<my_bucket>/934563160-2013_11_13.jpg
<my_bucket>/532132341-2013_11_13.jpg
<my_bucket>/565437681-2013_11_13.jpg
<my_bucket>/234567460-2013_11_13.jpg
1 2 N
1 2 N
Partition Partition Partition Partition
If you want a bucket capable of
routinely exceeding 100 TPS
Note: 100 TPS is A LOT!
Don’t Do This!
You end up with this
Do this…
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
<my_bucket>/521335461-2013_11_13.jpg
<my_bucket>/465330151-2013_11_13.jpg
<my_bucket>/987331160-2013_11_13.jpg
<my_bucket>/465765461-2013_11_13.jpg
<my_bucket>/125631151-2013_11_13.jpg
<my_bucket>/934563160-2013_11_13.jpg
<my_bucket>/532132341-2013_11_13.jpg
<my_bucket>/565437681-2013_11_13.jpg
<my_bucket>/234567460-2013_11_13.jpg
1 2 N
1 2 N
Partition Partition Partition Partition
1 2 N
1 2 N
Partition Partition Partition Partition
If you want a bucket capable of
routinely exceeding 100 TPS
Note: 100 TPS is A LOT!
Don’t Do This!
You end up with this
Do this…
You end up with this
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
<my_bucket>/521335461-2013_11_13.jpg
<my_bucket>/465330151-2013_11_13.jpg
<my_bucket>/987331160-2013_11_13.jpg
<my_bucket>/465765461-2013_11_13.jpg
<my_bucket>/125631151-2013_11_13.jpg
<my_bucket>/934563160-2013_11_13.jpg
<my_bucket>/532132341-2013_11_13.jpg
<my_bucket>/565437681-2013_11_13.jpg
<my_bucket>/234567460-2013_11_13.jpg
1 2 N
1 2 N
Partition Partition Partition Partition
1 2 N
1 2 N
Partition Partition Partition Partition
If you want a bucket capable of
routinely exceeding 100 TPS
Note: 100 TPS is A LOT!
Don’t Do This!
You end up with this
Do this…
You end up with this
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
1 2 N
1 2 N
Partition Partition Partition Partition
1 2 N
1 2 N
Partition Partition Partition Partition
If you want a bucket capable of
routinely exceeding 100 TPS
Note: 100 TPS is A LOT!
Don’t Do This!
You end up with this
Do this…
You end up with this
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
1 2 N
1 2 N
Partition Partition Partition Partition
1 2 N
1 2 N
Partition Partition Partition Partition
If you want a bucket capable of
routinely exceeding 100 TPS
Note: 100 TPS is A LOT!
Don’t Do This!
You end up with this
Do this…
You end up with this
<my_bucket>/images/521335461-2013_11_13.jpg
<my_bucket>/images/465330151-2013_11_13.jpg
<my_bucket>/images/987331160-2013_11_13.jpg
<my_bucket>/movies/465765461-2013_11_13.jpg
<my_bucket>/movies/125631151-2013_11_13.jpg
<my_bucket>/thumbs-small/934563160-2013_11_13.jpg
<my_bucket>/thumbs-small/532132341-2013_11_13.jpg
<my_bucket>/thumbs-small/565437681-2013_11_13.jpg
<my_bucket>/thumbs-small/234567460-2013_11_13.jpg
Amazon S3 – Distributing Key Names
<my_bucket>/2013_11_13-164533125.jpg
<my_bucket>/2013_11_13-164533126.jpg
<my_bucket>/2013_11_13-164533127.jpg
<my_bucket>/2013_11_13-164533128.jpg
<my_bucket>/2013_11_12-164533129.jpg
<my_bucket>/2013_11_12-164533130.jpg
<my_bucket>/2013_11_12-164533131.jpg
<my_bucket>/2013_11_12-164533132.jpg
<my_bucket>/2013_11_11-164533133.jpg
1 2 N
1 2 N
Partition Partition Partition Partition
1 2 N
1 2 N
Partition Partition Partition Partition
If you want a bucket capable of
routinely exceeding 100 TPS
Note: 100 TPS is A LOT!
Don’t Do This!
You end up with this
Do this…
You end up with this
<my_bucket>/images/521335461-2013_11_13.jpg
<my_bucket>/images/465330151-2013_11_13.jpg
<my_bucket>/images/987331160-2013_11_13.jpg
<my_bucket>/movies/465765461-2013_11_13.jpg
<my_bucket>/movies/125631151-2013_11_13.jpg
<my_bucket>/thumbs-small/934563160-2013_11_13.jpg
<my_bucket>/thumbs-small/532132341-2013_11_13.jpg
<my_bucket>/thumbs-small/565437681-2013_11_13.jpg
<my_bucket>/thumbs-small/234567460-2013_11_13.jpg
This is also ok
Amazon S3 – Secondary Lists

Restrict Use of S3 LIST
DynamoDB
RDS
CloudSearch
EC2
S3 ObjectCreated

Notification
Lambda
SQS Workers
Amazon S3 – Secondary Lists

Restrict Use of S3 LIST
DynamoDB
RDS
CloudSearch
EC2
S3 ObjectCreated

Notification
Lambda
SQS Workers
Amazon S3 – Secondary Lists

Restrict Use of S3 LIST
DynamoDB
RDS
CloudSearch
EC2
S3 ObjectCreated

Notification
Lambda
SQS Workers
Demo

S3 Optimisation
How can I simplify encryption for data in
transit and data at rest?
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Elastic Load
Balancer with
SSL Termination
(Announced 2010)
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Elastic Load
Balancer with
SSL Termination
(Announced 2010)
CloudFront with
HTTPS Access
With Custom
Domain Names
(Announced 2013)
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Elastic Load
Balancer with
SSL Termination
(Announced 2010)
CloudFront with
HTTPS Access
With Custom
Domain Names
(Announced 2013)
RDS with SSL
(MySQL - 2010)
(SQL Server – 2012)
(Oracle/NNE – 2013)
(PostgreSQL – 2013)
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Elastic Load
Balancer with
SSL Termination
(Announced 2010)
CloudFront with
HTTPS Access
With Custom
Domain Names
(Announced 2013)
RDS with SSL
(MySQL - 2010)
(SQL Server – 2012)
(Oracle/NNE – 2013)
(PostgreSQL – 2013)
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
Store Data
with Envelope
Encryption
Client Application
Announced 2014
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
1) User creates Customer Master Keys (CMK)
Store Data
with Envelope
Encryption
Client Application
Announced 2014
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
2) User associates resource with CMK
Store Data
with Envelope
Encryption
Client Application
Announced 2014
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
Obj
3) Request to store data & context for encryption
Data
Data
Data
Requests
Store Data
with Envelope
Encryption
Client Application
Announced 2014
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
Obj
Data
Data
Data
4) Service requests encryption key with context
Store Data
with Envelope
Encryption
Client Application
Announced 2014
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
Obj
Data
Data
Data
5) AWS KMS returns an encryption (data) key
+ an encrypted version of the key
+ +
+ +Store Data
with Envelope
Encryption
Client Application
Announced 2014
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
6) Service encrypts the data with the encryption key
then deletes the key from memory
Store Data
with Envelope
Encryption
Client Application
Announced 2014
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
7) Service stores the data along with the
encrypted key
Store Data
with Envelope
Encryption
Client Application
Announced 2014
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
Client Application
Retrieve Data
with Envelope
Encryption
Announced 2014
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
Client Application
Request Request Request Request
1) Request to retrieve data
Retrieve Data
with Envelope
Encryption
Announced 2014
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
Client Application
Request Request Request Request
2) Service retrieves the encrypted data
& encrypted key.
Retrieve Data
with Envelope
Encryption
Announced 2014
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
Client Application
3) Service sends the encrypted key and
the UserID to KMS.
Retrieve Data
with Envelope
Encryption
Announced 2014
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
Client Application
4) AWS KMS unencrypts the encryption key and
returns the key to the service
Retrieve Data
with Envelope
Encryption
Announced 2014
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
Client Application
5) Service decrypts the data with the
encryption key, then deletes the key from
memory
Data Data DataObj
Retrieve Data
with Envelope
Encryption
Announced 2014
6) Service returns the
data to the user
Simplifying encryption in AWS – Today
Amazon S3
Object
Amazon EBS
Volume
Amazon RDS

or Redshift
Custom

Application
AWS KMS
Client Application
Data Data
Data
Obj
Retrieve Data
with Envelope
Encryption
Announced 2014
Demo

Integrating KMS
I’ve hit some obstacles with my VPC in terms of
integration and performance, what are some of my options
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
This is a bottleneck &
SPOF!
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
This is a bottleneck &
SPOF!
These are bandwidth-
intensive for Internet
egress
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
This is a bottleneck &
SPOF!
These are bandwidth-
intensive for Internet
egress
Applications with
legacy network reqs
10.4.0.0/16 10.0.0.0/16
172.16.0.0/16
192.168.0.0/16
172.17.0.0/16
10.1.0.0/16 10.2.0.0/1610.3.0.0/16
company data center
10.10.0.0/16
VPC Peering
10.4.0.0/16 10.0.0.0/16
172.16.0.0/16
192.168.0.0/16
172.17.0.0/16
10.1.0.0/16 10.2.0.0/1610.3.0.0/16
company data center
10.10.0.0/16
VPC Peering
10.4.0.0/16 10.0.0.0/16
172.16.0.0/16
192.168.0.0/16
172.17.0.0/16
10.1.0.0/16 10.2.0.0/1610.3.0.0/16
company data center
10.10.0.0/16
VPC Peering
10.1.0.0/16
10.0.0.0/16 10.0.0.0/16
Taking VPC Peering to the next Level
10.1.0.0/16
10.0.0.0/16 10.0.0.0/16
Taking VPC Peering to the next Level
10.1.0.0/16
10.0.0.0/16 10.0.0.0/16
✔
Taking VPC Peering to the next Level
10.1.0.0/16
10.0.0.0/16 10.0.0.0/16
✔
Taking VPC Peering to the next Level
Overlapping IP is not
a dead end
10.0.0.0/16 10.0.0.0/16
10.1.0.0/16
A
B C
Taking VPC Peering to the next Level
PCX-1 PCX-2
10.0.0.0/16 10.0.0.0/16
Subnet 1
10.1.1.0/24
Subnet 2
10.1.2.0/24
10.1.0.0/16
A
B C
Taking VPC Peering to the next Level
PCX-1 PCX-2
10.0.0.0/16 10.0.0.0/16
Subnet 1
10.1.1.0/24
Subnet 2
10.1.2.0/24
10.1.0.0/16Route Table Subnet 1
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-1
A
B C
Taking VPC Peering to the next Level
PCX-1 PCX-2
10.0.0.0/16 10.0.0.0/16
Subnet 1
10.1.1.0/24
Subnet 2
10.1.2.0/24
10.1.0.0/16Route Table Subnet 1
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-1
Route Table Subnet 2
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-2
A
B C
Taking VPC Peering to the next Level
PCX-1 PCX-2
10.0.0.0/16 10.0.0.0/16
Subnet 1
10.1.1.0/24
Subnet 2
10.1.2.0/24
10.1.0.0/16Route Table Subnet 1
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-1
Route Table Subnet 2
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-2
A
B C
Taking VPC Peering to the next Level
PCX-1 PCX-2
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.1.0/24 PCX-1
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.2.0/24 PCX-1
10.0.0.0/16 10.0.0.0/16
Subnet 1
10.1.1.0/24
Subnet 2
10.1.2.0/24
10.1.0.0/16Route Table Subnet 1
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-1
Route Table Subnet 2
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-2
A
B C
Taking VPC Peering to the next Level
Floating NAT
Network
PCX-1 PCX-2
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.1.0/24 PCX-1
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.2.0/24 PCX-1
10.0.0.0/16 10.0.0.0/16
Subnet 1
10.1.1.0/24
Subnet 2
10.1.2.0/24
10.1.0.0/16Route Table Subnet 1
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-1
Route Table Subnet 2
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-2
A
B C
Taking VPC Peering to the next Level
Floating NAT
Network
10.0.0.58
PCX-1 PCX-2
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.1.0/24 PCX-1
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.2.0/24 PCX-1
10.0.0.0/16 10.0.0.0/16
Subnet 1
10.1.1.0/24
Subnet 2
10.1.2.0/24
10.1.0.0/16Route Table Subnet 1
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-1
Route Table Subnet 2
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-2
A
B C
Taking VPC Peering to the next Level
Floating NAT
Network
10.0.0.58 10.0.0.105
PCX-1 PCX-2
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.1.0/24 PCX-1
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.2.0/24 PCX-1
10.0.0.0/16 10.0.0.0/16
Subnet 1
10.1.1.0/24
Subnet 2
10.1.2.0/24
10.1.0.0/16Route Table Subnet 1
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-1
Route Table Subnet 2
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-2
A
B C
Taking VPC Peering to the next Level
Floating NAT
Network
10.0.0.58 10.0.0.105
PCX-1 PCX-210.1.1.105 10.1.2.105
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.1.0/24 PCX-1
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.2.0/24 PCX-1
10.0.0.0/16 10.0.0.0/16
Subnet 1
10.1.1.0/24
Subnet 2
10.1.2.0/24
10.1.0.0/16Route Table Subnet 1
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-1
Route Table Subnet 2
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-2
A
B C
Taking VPC Peering to the next Level
Floating NAT
Network
SRC: 10.0.0.58
DST: 10.1.1.105
SRC: 10.1.2.105
DST: 10.0.0.105
10.0.0.58 10.0.0.105
PCX-1 PCX-210.1.1.105 10.1.2.105
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.1.0/24 PCX-1
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.2.0/24 PCX-1
10.0.0.0/16 10.0.0.0/16
Subnet 1
10.1.1.0/24
Subnet 2
10.1.2.0/24
10.1.0.0/16Route Table Subnet 1
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-1
Route Table Subnet 2
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-2
A
B C
Taking VPC Peering to the next Level
Floating NAT
Network
SRC: 10.0.0.58
DST: 10.1.1.105
SRC: 10.1.2.105
DST: 10.0.0.105
10.0.0.58 10.0.0.105
PCX-1 PCX-210.1.1.105 10.1.2.105
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.1.0/24 PCX-1
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.2.0/24 PCX-1
10.0.0.0/16 10.0.0.0/16
Subnet 1
10.1.1.0/24
Subnet 2
10.1.2.0/24
10.1.0.0/16Route Table Subnet 1
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-1
Route Table Subnet 2
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-2
A
B C
Taking VPC Peering to the next Level
Floating NAT
Network
SRC: 10.0.0.58
DST: 10.1.1.105
SRC: 10.1.2.105
DST: 10.0.0.105
10.0.0.58 10.0.0.105
PCX-1 PCX-210.1.1.105 10.1.2.105
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.1.0/24 PCX-1
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.2.0/24 PCX-1
10.0.0.0/16 10.0.0.0/16
Subnet 1
10.1.1.0/24
Subnet 2
10.1.2.0/24
10.1.0.0/16Route Table Subnet 1
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-1
Route Table Subnet 2
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-2
A
B C
Taking VPC Peering to the next Level
Floating NAT
Network
SRC: 10.0.0.58
DST: 10.1.1.105
SRC: 10.1.2.105
DST: 10.0.0.105
10.0.0.58 10.0.0.105
PCX-1 PCX-210.1.1.105 10.1.2.105
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.1.0/24 PCX-1
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.2.0/24 PCX-1
10.0.0.0/16 10.0.0.0/16
Subnet 1
10.1.1.0/24
Subnet 2
10.1.2.0/24
10.1.0.0/16Route Table Subnet 1
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-1
Route Table Subnet 2
Destination Target
10.1.0.0/16 local
10.0.0.0/16 PCX-2
A
B C
Taking VPC Peering to the next Level
Floating NAT
Network
SRC: 10.0.0.58
DST: 10.1.1.105
SRC: 10.1.2.105
DST: 10.0.0.105
10.0.0.58 10.0.0.105
PCX-1 PCX-210.1.1.105 10.1.2.105
Route53 Private
Hosted Zone
Route53 Private
Hosted Zone
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.1.0/24 PCX-1
Route Table Subnet #
Destination Target
10.0.0.0/16 local
10.1.2.0/24 PCX-1
Demo

VPC to VPC Communication
Availability Zone A
Private Subnet
Availability Zone B
Private Subnet
Internet
AWS
region
Public Subnet Public Subnet
NAT
• Use Auto Scaling for NAT
availability
• Create 1 NAT per Availability
Zone
• All private subnet route tables to
point to same zone NAT
• 1 Auto Scaling group per NAT
with min and max size set to 1
• Let Auto Scaling monitor the
health and availability of your
NATs
• NAT bootstrap script updates
route tables programmatically
• Latest version of script – uses
tags: https://github.com/ralex-aws/vpc
Auto scale HA NAT
Dynamo DB
Scaling Internet egress capacity
NAT
ASG
min=1
max=1
ASG
min=1
max=1
SQS
SNS
Availability Zone A
Private Subnet
Availability Zone B
Private Subnet
Internet
AWS
region
Public Subnet Public Subnet
NAT
• Use Auto Scaling for NAT
availability
• Create 1 NAT per Availability
Zone
• All private subnet route tables to
point to same zone NAT
• 1 Auto Scaling group per NAT
with min and max size set to 1
• Let Auto Scaling monitor the
health and availability of your
NATs
• NAT bootstrap script updates
route tables programmatically
• Latest version of script – uses
tags: https://github.com/ralex-aws/vpc
Auto scale HA NAT
Dynamo DB
Scaling Internet egress capacity
NAT
ASG
min=1
max=1
ASG
min=1
max=1
SQS
SNS
Availability Zone A
Private Subnet
Availability Zone B
Private Subnet
Internet
AWS
region
Public Subnet Public Subnet
NAT
• Use Auto Scaling for NAT
availability
• Create 1 NAT per Availability
Zone
• All private subnet route tables to
point to same zone NAT
• 1 Auto Scaling group per NAT
with min and max size set to 1
• Let Auto Scaling monitor the
health and availability of your
NATs
• NAT bootstrap script updates
route tables programmatically
• Latest version of script – uses
tags: https://github.com/ralex-aws/vpc
Auto scale HA NAT
Dynamo DB
Scaling Internet egress capacity
NAT
ASG
min=1
max=1
ASG
min=1
max=1
SQS
SNS
Availability Zone A
Private Subnet(s) Private Subnet(s)
AWS region
VPN connection
Customer data
center
Intranet AppsIntranet Apps
Availability Zone B
Internal customers
Controlling the border
Internal
Load
balancer
Elastic Load Balancing
Private Subnet
Elastic Load Balancing
Private Subnet
S3
Scaling Internet egress capacity
Direct
Connect
DynamoDBSQS
Availability Zone A
Private Subnet(s) Private Subnet(s)
AWS region
VPN connection
Customer data
center
Intranet AppsIntranet Apps
Availability Zone B
Internal customers
Controlling the border
Internal
Load
balancer
Elastic Load Balancing
Private Subnet
Elastic Load Balancing
Private Subnet
S3
Scaling Internet egress capacity
Direct
Connect
DynamoDBSQS
Availability Zone A
Private Subnet(s) Private Subnet(s)
AWS region
VPN connection
Customer data
center
Intranet AppsIntranet Apps
Availability Zone B
Internal customers
Controlling the border
Internal
Load
balancer
Elastic Load Balancing
Private Subnet
Elastic Load Balancing
Private Subnet
• Squid Proxy layer deployed
between internal load balancer
and the IGW border.
Public Subnet Public Subnet
S3
Scaling Internet egress capacity
Direct
Connect
DynamoDBSQS
Availability Zone A
Private Subnet(s) Private Subnet(s)
AWS region
VPN connection
Customer data
center
Intranet AppsIntranet Apps
Availability Zone B
Internal customers
Controlling the border
Internal
Load
balancer
Elastic Load Balancing
Private Subnet
Elastic Load Balancing
Private Subnet
• Squid Proxy layer deployed
between internal load balancer
and the IGW border.
Public Subnet Public Subnet
S3
• Only proxy subnets have route to
IGW.
Scaling Internet egress capacity
# CIDR AND Destination Domain based Allow
# CIDR Subnet blocks for Internal ELBs
acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24
# Destination domain for target S3 bucket
acl aws_v2_endpoints dstdomain .amazonaws.com
# Squid does AND on both ACLs for allow match
http_access allow int_elb_cidrs aws_v2_endpoints
# Deny everything else
http_access deny all
Direct
Connect
DynamoDBSQS
Availability Zone A
Private Subnet(s) Private Subnet(s)
AWS region
VPN connection
Customer data
center
Intranet AppsIntranet Apps
Availability Zone B
Internal customers
Controlling the border
Internal
Load
balancer
Elastic Load Balancing
Private Subnet
Elastic Load Balancing
Private Subnet
• Squid Proxy layer deployed
between internal load balancer
and the IGW border.
Public Subnet Public Subnet
S3
• Only proxy subnets have route to
IGW.
Scaling Internet egress capacity
# CIDR AND Destination Domain based Allow
# CIDR Subnet blocks for Internal ELBs
acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24
# Destination domain for target S3 bucket
acl aws_v2_endpoints dstdomain .amazonaws.com
# Squid does AND on both ACLs for allow match
http_access allow int_elb_cidrs aws_v2_endpoints
# Deny everything else
http_access deny all
Direct
Connect
DynamoDBSQS
Availability Zone A
Private Subnet(s) Private Subnet(s)
AWS region
VPN connection
Customer data
center
Intranet AppsIntranet Apps
Availability Zone B
Internal customers
Controlling the border
Internal
Load
balancer
Elastic Load Balancing
Private Subnet
Elastic Load Balancing
Private Subnet
• Squid Proxy layer deployed
between internal load balancer
and the IGW border.
Public Subnet Public Subnet
S3
• Only proxy subnets have route to
IGW.
• Proxy security group allows
inbound only from Elastic Load
Balancing security group.
Scaling Internet egress capacity
# CIDR AND Destination Domain based Allow
# CIDR Subnet blocks for Internal ELBs
acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24
# Destination domain for target S3 bucket
acl aws_v2_endpoints dstdomain .amazonaws.com
# Squid does AND on both ACLs for allow match
http_access allow int_elb_cidrs aws_v2_endpoints
# Deny everything else
http_access deny all
Direct
Connect
DynamoDBSQS
Availability Zone A
Private Subnet(s) Private Subnet(s)
AWS region
VPN connection
Customer data
center
Intranet AppsIntranet Apps
Availability Zone B
Internal customers
Controlling the border
Internal
Load
balancer
Elastic Load Balancing
Private Subnet
Elastic Load Balancing
Private Subnet
• Squid Proxy layer deployed
between internal load balancer
and the IGW border.
Public Subnet Public Subnet
S3
HTTP/S
• Only proxy subnets have route to
IGW.
• Proxy security group allows
inbound only from Elastic Load
Balancing security group.
• Proxy restricts which URLs may
pass. In this example,
*.amazonaws.com is allowed.
Scaling Internet egress capacity
# CIDR AND Destination Domain based Allow
# CIDR Subnet blocks for Internal ELBs
acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24
# Destination domain for target S3 bucket
acl aws_v2_endpoints dstdomain .amazonaws.com
# Squid does AND on both ACLs for allow match
http_access allow int_elb_cidrs aws_v2_endpoints
# Deny everything else
http_access deny all
Direct
Connect
DynamoDBSQS
Availability Zone A
Private Subnet(s) Private Subnet(s)
AWS region
VPN connection
Customer data
center
Intranet AppsIntranet Apps
Availability Zone B
Internal customers
Controlling the border
Internal
Load
balancer
Elastic Load Balancing
Private Subnet
Elastic Load Balancing
Private Subnet
• Squid Proxy layer deployed
between internal load balancer
and the IGW border.
Public Subnet Public Subnet
S3
HTTP/S
• Only proxy subnets have route to
IGW.
• Proxy security group allows
inbound only from Elastic Load
Balancing security group.
• Proxy restricts which URLs may
pass. In this example,
*.amazonaws.com is allowed.
• Egress NACLs on proxy subnets
enforce HTTP/S only.
Scaling Internet egress capacity
# CIDR AND Destination Domain based Allow
# CIDR Subnet blocks for Internal ELBs
acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24
# Destination domain for target S3 bucket
acl aws_v2_endpoints dstdomain .amazonaws.com
# Squid does AND on both ACLs for allow match
http_access allow int_elb_cidrs aws_v2_endpoints
# Deny everything else
http_access deny all
Direct
Connect
DynamoDBSQS
Availability Zone A
Private Subnet(s) Private Subnet(s)
AWS region
VPN connection
Customer data
center
Intranet AppsIntranet Apps
Availability Zone B
Internal customers
Controlling the border
Internal
Load
balancer
Elastic Load Balancing
Private Subnet
Elastic Load Balancing
Private Subnet
• Squid Proxy layer deployed
between internal load balancer
and the IGW border.
Public Subnet Public Subnet
S3
HTTP/S
• Only proxy subnets have route to
IGW.
• Proxy security group allows
inbound only from Elastic Load
Balancing security group.
• Proxy restricts which URLs may
pass. In this example,
*.amazonaws.com is allowed.
• Egress NACLs on proxy subnets
enforce HTTP/S only.
Scaling Internet egress capacity
# CIDR AND Destination Domain based Allow
# CIDR Subnet blocks for Internal ELBs
acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24
# Destination domain for target S3 bucket
acl aws_v2_endpoints dstdomain .amazonaws.com
# Squid does AND on both ACLs for allow match
http_access allow int_elb_cidrs aws_v2_endpoints
# Deny everything else
http_access deny all
Direct
Connect
DynamoDBSQS
Availability Zone A
Private Subnet(s) Private Subnet(s)
AWS region
VPN connection
Customer data
center
Intranet AppsIntranet Apps
Availability Zone B
Internal customers
Controlling the border
Internal
Load
balancer
Elastic Load Balancing
Private Subnet
Elastic Load Balancing
Private Subnet
• Squid Proxy layer deployed
between internal load balancer
and the IGW border.
Public Subnet Public Subnet
S3
HTTP/S
• Only proxy subnets have route to
IGW.
• Proxy security group allows
inbound only from Elastic Load
Balancing security group.
• Proxy restricts which URLs may
pass. In this example,
*.amazonaws.com is allowed.
• Egress NACLs on proxy subnets
enforce HTTP/S only.
Scaling Internet egress capacity
# CIDR AND Destination Domain based Allow
# CIDR Subnet blocks for Internal ELBs
acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24
# Destination domain for target S3 bucket
acl aws_v2_endpoints dstdomain .amazonaws.com
# Squid does AND on both ACLs for allow match
http_access allow int_elb_cidrs aws_v2_endpoints
# Deny everything else
http_access deny all
Direct
Connect
DynamoDBSQS
Availability Zone A
Private Subnet(s) Private Subnet(s)
AWS region
VPN connection
Customer data
center
Intranet AppsIntranet Apps
Availability Zone B
Internal customers
Controlling the border
Internal
Load
balancer
Elastic Load Balancing
Private Subnet
Elastic Load Balancing
Private Subnet
• Squid Proxy layer deployed
between internal load balancer
and the IGW border.
Public Subnet Public Subnet
S3
HTTP/S
• Only proxy subnets have route to
IGW.
• Proxy security group allows
inbound only from Elastic Load
Balancing security group.
• Proxy restricts which URLs may
pass. In this example,
*.amazonaws.com is allowed.
• Egress NACLs on proxy subnets
enforce HTTP/S only.
Scaling Internet egress capacity
# CIDR AND Destination Domain based Allow
# CIDR Subnet blocks for Internal ELBs
acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24
# Destination domain for target S3 bucket
acl aws_v2_endpoints dstdomain .amazonaws.com
# Squid does AND on both ACLs for allow match
http_access allow int_elb_cidrs aws_v2_endpoints
# Deny everything else
http_access deny all
Direct
Connect
DynamoDBSQS
• Could also have HA NATs
NATNAT
Availability Zone A
Private Subnet(s) Private Subnet(s)
AWS region
VPN connection
Customer data
center
Intranet AppsIntranet Apps
Availability Zone B
Internal customers
Controlling the border
Internal
Load
balancer
Elastic Load Balancing
Private Subnet
Elastic Load Balancing
Private Subnet
• Squid Proxy layer deployed
between internal load balancer
and the IGW border.
Public Subnet Public Subnet
S3
HTTP/S
• Only proxy subnets have route to
IGW.
• Proxy security group allows
inbound only from Elastic Load
Balancing security group.
• Proxy restricts which URLs may
pass. In this example,
*.amazonaws.com is allowed.
• Egress NACLs on proxy subnets
enforce HTTP/S only.
Scaling Internet egress capacity
# CIDR AND Destination Domain based Allow
# CIDR Subnet blocks for Internal ELBs
acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24
# Destination domain for target S3 bucket
acl aws_v2_endpoints dstdomain .amazonaws.com
# Squid does AND on both ACLs for allow match
http_access allow int_elb_cidrs aws_v2_endpoints
# Deny everything else
http_access deny all
Direct
Connect
DynamoDBSQS
• Could also have HA NATs
NATNAT
Multicast on AWS
Multicast on AWS
• Not directly supported
Multicast on AWS
• Not directly supported
10.0.0.54
10.0.0.79
10.0.1.132
Subnet 10.0.0.0/24 Subnet 10.0.1.0/24
10.0.1.18310.0.0.41
Multicast on AWS
• Not directly supported
• Can be implemented with an overlay network
– GRE or L2TP tunnels, Ntop’s N2N
10.0.0.54
10.0.0.79
10.0.1.132
Subnet 10.0.0.0/24 Subnet 10.0.1.0/24
10.0.1.18310.0.0.41
Multicast on AWS
• Not directly supported
• Can be implemented with an overlay network
– GRE or L2TP tunnels, Ntop’s N2N
10.0.0.54
10.0.0.79
10.0.1.132
Subnet 10.0.0.0/24 Subnet 10.0.1.0/24
Tunnel
10.0.1.18310.0.0.41
Multicast on AWS
• Not directly supported
• Can be implemented with an overlay network
– GRE or L2TP tunnels, Ntop’s N2N
10.0.0.54
10.0.0.79
10.0.1.132192.16.0.10
192.168.0.13
Subnet 10.0.0.0/24 Subnet 10.0.1.0/24
Tunnel
10.0.1.18310.0.0.41
Multicast on AWS
• Not directly supported
• Can be implemented with an overlay network
– GRE or L2TP tunnels, Ntop’s N2N
• GRE configuration can be automated
– Multicast configuration stored in tags
10.0.0.54
10.0.0.79
10.0.1.132192.16.0.10
192.168.0.12
192.168.0.13
Subnet 10.0.0.0/24 Subnet 10.0.1.0/24
Tunnel
10.0.1.18310.0.0.41
192.168.0.12
192.168.0.0/24 Overlay
Multicast on AWS
• Not directly supported
• Can be implemented with an overlay network
– GRE or L2TP tunnels, Ntop’s N2N
• GRE configuration can be automated
– Multicast configuration stored in tags
10.0.0.54
10.0.0.79
10.0.1.132192.16.0.10
192.168.0.12
192.168.0.13
Subnet 10.0.0.0/24 Subnet 10.0.1.0/24
Tunnel
10.0.1.18310.0.0.41
192.168.0.12
192.168.0.0/24 Overlay
TAG: multicast
App1,192.168.0.13/24
TAG: multicast
App1,192.168.0.12/24
TAG: multicast
App1,192.168.0.10/24
Multicast on AWS
• Not directly supported
• Can be implemented with an overlay network
– GRE or L2TP tunnels, Ntop’s N2N
• GRE configuration can be automated
– Multicast configuration stored in tags
10.0.0.54
10.0.0.79
10.0.1.132192.16.0.10
192.168.0.12
192.168.0.13
Subnet 10.0.0.0/24 Subnet 10.0.1.0/24
Tunnel
10.0.1.18310.0.0.41
192.168.0.12
192.168.0.0/24 Overlay
TAG: multicast
App1,192.168.0.13/24
TAG: multicast
App1,192.168.0.12/24
TAG: multicast
App1,192.168.0.10/24
Setup Guide:
http://bit.ly/aws-multi
Multicast on AWS
• Not directly supported
• Can be implemented with an overlay network
– GRE or L2TP tunnels, Ntop’s N2N
• GRE configuration can be automated
– Multicast configuration stored in tags
• Periodically check for new members (60 seconds)
10.0.0.54
10.0.0.79
10.0.1.132192.16.0.10
192.168.0.12
192.168.0.13
Subnet 10.0.0.0/24 Subnet 10.0.1.0/24
Tunnel
10.0.1.18310.0.0.41
192.168.0.12
192.168.0.0/24 Overlay
TAG: multicast
App1,192.168.0.13/24
TAG: multicast
App1,192.168.0.12/24
TAG: multicast
App1,192.168.0.10/24
Setup Guide:
http://bit.ly/aws-multi
Demo

Scalable & HA Internet Egress
I’ve automated my deployments but what
about responding to events?
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
What about
services with no
native CloudWatch
integration
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
What about
services with no
native CloudWatch
integration
Managing non-
CloudFormation
supported
resources/events
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
What about
services with no
native CloudWatch
integration
Collecting and
analysing non-EC2
logs
Managing non-
CloudFormation
supported
resources/events
Your Application Stacks
Availability Zone A Availability Zone B
Private subnetPrivate subnet
Public subnetPublic subnet
Private subnetPrivate subnet
CloudFront
Glacier
S3
DynamoDB
Route 53
CloudWatch
CloudFormation
NAT
Stacks for:
VPC
Edge Services
Datastores
Applications
Presentation
Amazon SQS
Auto Scaling groups
AWS Region
SNS
What about
services with no
native CloudWatch
integration
Collecting and
analysing non-EC2
logs
Managing non-
CloudFormation
supported
resources/events
Advanced uses of CloudWatch – Custom Metrics
#!/usr/bin/python
import boto.ec2.cloudwatch
import boto.vpc
AWS_Regions=["us-east-1","us-west-2","us-west-1","eu-west-1"]
CloudWatch_Region="us-east-1"
cw = boto.ec2.cloudwatch.connect_to_region(CloudWatch_Region)
for region in AWS_Regions:
vpcconn = boto.vpc.connect_to_region(region)
vpns = vpcconn.get_all_vpn_connections()
for vpn in vpns:
if vpn.state == "available":
active_tunnels = 0
if vpn.tunnels[0].status == "UP":
active_tunnels+=1
if vpn.tunnels[1].status == "UP":
active_tunnels+=1
print vpn.id+" has "+str(active_tunnels)+" active tunnels!”
cw.put_metric_data("VPNStatus", vpn.id, value=active_tunnels,
dimensions={'VGW':vpn.vpn_gateway_id, 'CGW':vpn.customer_gateway_id})
Advanced uses of CloudWatch – Custom Metrics
#!/usr/bin/python
import boto.ec2.cloudwatch
import boto.vpc
AWS_Regions=["us-east-1","us-west-2","us-west-1","eu-west-1"]
CloudWatch_Region="us-east-1"
cw = boto.ec2.cloudwatch.connect_to_region(CloudWatch_Region)
for region in AWS_Regions:
vpcconn = boto.vpc.connect_to_region(region)
vpns = vpcconn.get_all_vpn_connections()
for vpn in vpns:
if vpn.state == "available":
active_tunnels = 0
if vpn.tunnels[0].status == "UP":
active_tunnels+=1
if vpn.tunnels[1].status == "UP":
active_tunnels+=1
print vpn.id+" has "+str(active_tunnels)+" active tunnels!”
cw.put_metric_data("VPNStatus", vpn.id, value=active_tunnels,
dimensions={'VGW':vpn.vpn_gateway_id, 'CGW':vpn.customer_gateway_id})
Advanced uses of CloudWatch – Custom Metrics
#!/usr/bin/python
import boto.ec2.cloudwatch
import boto.vpc
AWS_Regions=["us-east-1","us-west-2","us-west-1","eu-west-1"]
CloudWatch_Region="us-east-1"
cw = boto.ec2.cloudwatch.connect_to_region(CloudWatch_Region)
for region in AWS_Regions:
vpcconn = boto.vpc.connect_to_region(region)
vpns = vpcconn.get_all_vpn_connections()
for vpn in vpns:
if vpn.state == "available":
active_tunnels = 0
if vpn.tunnels[0].status == "UP":
active_tunnels+=1
if vpn.tunnels[1].status == "UP":
active_tunnels+=1
print vpn.id+" has "+str(active_tunnels)+" active tunnels!”
cw.put_metric_data("VPNStatus", vpn.id, value=active_tunnels,
dimensions={'VGW':vpn.vpn_gateway_id, 'CGW':vpn.customer_gateway_id})
Advanced uses of CloudWatch – Custom Metrics
#!/usr/bin/python
import boto.ec2.cloudwatch
import boto.vpc
AWS_Regions=["us-east-1","us-west-2","us-west-1","eu-west-1"]
CloudWatch_Region="us-east-1"
cw = boto.ec2.cloudwatch.connect_to_region(CloudWatch_Region)
for region in AWS_Regions:
vpcconn = boto.vpc.connect_to_region(region)
vpns = vpcconn.get_all_vpn_connections()
for vpn in vpns:
if vpn.state == "available":
active_tunnels = 0
if vpn.tunnels[0].status == "UP":
active_tunnels+=1
if vpn.tunnels[1].status == "UP":
active_tunnels+=1
print vpn.id+" has "+str(active_tunnels)+" active tunnels!”
cw.put_metric_data("VPNStatus", vpn.id, value=active_tunnels,
dimensions={'VGW':vpn.vpn_gateway_id, 'CGW':vpn.customer_gateway_id})
And Not Just For AWS
Resources!
Advanced uses of CloudWatch – Logs
CloudWatch

Logs
Advanced uses of CloudWatch – Logs
EC2
CloudWatch

Logs
OS Agent-based
Advanced uses of CloudWatch – Logs
EC2
Traditional
Server
CloudWatch

Logs
OS Agent-based
OS Agent-based
Advanced uses of CloudWatch – Logs
CloudTrail
EC2
Traditional
Server
CloudWatch

Logs
OS Agent-based
OS Agent-based
Native
Advanced uses of CloudWatch – Logs
CloudTrail
S3
EC2
Traditional
Server
CloudWatch

Logs
OS Agent-based
OS Agent-based
Native
Pull/Push

Lambda??
Advanced uses of CloudWatch – Logs
CloudTrail
S3
EC2
Traditional
Server
CloudWatch

Logs
CloudFront
OS Agent-based
OS Agent-based
Native
Pull/Push

Lambda??
Pull/Push

Lam
bda??
Advanced uses of CloudWatch – Logs
CloudTrail
S3
EC2
Traditional
Server
CloudWatch

Logs
CloudFront
OS Agent-based
OS Agent-based
Native
Pull/Push

Lambda??
Pull/Push

Lam
bda??
Metrics filters:
Advanced uses of CloudWatch – Logs
CloudTrail
S3
EC2
Traditional
Server
CloudWatch

Logs
CloudFront
OS Agent-based
OS Agent-based
Native
Pull/Push

Lambda??
Pull/Push

Lam
bda??
Metrics filters:
• Literal Terms
Advanced uses of CloudWatch – Logs
CloudTrail
S3
EC2
Traditional
Server
CloudWatch

Logs
CloudFront
OS Agent-based
OS Agent-based
Native
Pull/Push

Lambda??
Pull/Push

Lam
bda??
Metrics filters:
• Literal Terms
Advanced uses of CloudWatch – Logs
CloudTrail
S3
EC2
Traditional
Server
CloudWatch

Logs
CloudFront
OS Agent-based
OS Agent-based
Native
Pull/Push

Lambda??
Pull/Push

Lam
bda??
Metrics filters:
• Literal Terms
• Common Log Format
Advanced uses of CloudWatch – Logs
CloudTrail
S3
EC2
Traditional
Server
CloudWatch

Logs
CloudFront
OS Agent-based
OS Agent-based
Native
Pull/Push

Lambda??
Pull/Push

Lam
bda??
Metrics filters:
• Literal Terms
• Common Log Format
Advanced uses of CloudWatch – Logs
CloudTrail
S3
EC2
Traditional
Server
CloudWatch

Logs
CloudFront
OS Agent-based
OS Agent-based
Native
Pull/Push

Lambda??
Pull/Push

Lam
bda??
Metrics filters:
• Literal Terms
• Common Log Format
• JSON
Lambda-powered custom resources
EC2
instance
Software pkgs,
config, & dataCloudWatch
alarms
Your AWS CloudFormation stack
// Implement custom logic here
Look up an AMI ID
Your AWS Lambda functions
Look up VPC ID and Subnet ID
Reverse an IP address
Lambda-powered
custom resources
Lambda-powered custom resources
security group
Auto Scaling group
EC2
instance
Elastic Load
Balancing
ElastiCache
memcached
cluster
Software pkgs,
config, & dataCloudWatch
alarms
Your AWS CloudFormation stack
// Implement custom logic here
Look up an AMI ID
Your AWS Lambda functions
Look up VPC ID and Subnet ID
Reverse an IP address
Lambda-powered
custom resources
Demo

Lambda & CloudFormation
Recent announcements of interest
• AWS Lambda GA
• Amazon EC2 Container Service GA
• Amazon Machine Learning
• Amazon Workspaces Application Manager
• Amazon Elastic File System
AWS Blackbelt NINJA Dojo

More Related Content

What's hot

Maximizing EC2 and Elastic Block Store Disk Performance
Maximizing EC2 and Elastic Block Store Disk PerformanceMaximizing EC2 and Elastic Block Store Disk Performance
Maximizing EC2 and Elastic Block Store Disk Performance
Amazon Web Services
 
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
Amazon Web Services
 
AWS Webcast - Cost and Performance Optimization in Amazon RDS
AWS Webcast - Cost and Performance Optimization in Amazon RDSAWS Webcast - Cost and Performance Optimization in Amazon RDS
AWS Webcast - Cost and Performance Optimization in Amazon RDS
Amazon Web Services
 
Deep Dive: Maximizing EC2 and EBS Performance
Deep Dive: Maximizing EC2 and EBS PerformanceDeep Dive: Maximizing EC2 and EBS Performance
Deep Dive: Maximizing EC2 and EBS Performance
Amazon Web Services
 
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
Amazon Web Services
 
Deep Dive on Amazon EBS - AWS Online Tech Talks
Deep Dive on Amazon EBS - AWS Online Tech TalksDeep Dive on Amazon EBS - AWS Online Tech Talks
Deep Dive on Amazon EBS - AWS Online Tech Talks
Amazon Web Services
 
Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...
Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...
Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...
Amazon Web Services
 
Deep Dive on Amazon Elastic Block Store
Deep Dive on Amazon Elastic Block StoreDeep Dive on Amazon Elastic Block Store
Deep Dive on Amazon Elastic Block Store
Amazon Web Services
 
Amazon RDS for Performance-Intensive Production Applications (DAT301) | AWS r...
Amazon RDS for Performance-Intensive Production Applications (DAT301) | AWS r...Amazon RDS for Performance-Intensive Production Applications (DAT301) | AWS r...
Amazon RDS for Performance-Intensive Production Applications (DAT301) | AWS r...
Amazon Web Services
 
AWS EBS
AWS EBSAWS EBS
AWS EBS
Mahesh Raj
 
(STG402) Amazon EBS Deep Dive
(STG402) Amazon EBS Deep Dive(STG402) Amazon EBS Deep Dive
(STG402) Amazon EBS Deep Dive
Amazon Web Services
 
Deep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store Performance
Deep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store PerformanceDeep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store Performance
Deep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store Performance
Amazon Web Services
 
Deep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store Performance
Deep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store PerformanceDeep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store Performance
Deep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store Performance
Amazon Web Services
 
(DAT402) Amazon RDS PostgreSQL:Lessons Learned & New Features
(DAT402) Amazon RDS PostgreSQL:Lessons Learned & New Features(DAT402) Amazon RDS PostgreSQL:Lessons Learned & New Features
(DAT402) Amazon RDS PostgreSQL:Lessons Learned & New Features
Amazon Web Services
 
Deep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance PerformanceDeep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance Performance
Amazon Web Services
 
(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014
(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014
(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014
Amazon Web Services
 
DevOps for ETL processing at scale with MongoDB, Solr, AWS and Chef
DevOps for ETL processing at scale with MongoDB, Solr, AWS and ChefDevOps for ETL processing at scale with MongoDB, Solr, AWS and Chef
DevOps for ETL processing at scale with MongoDB, Solr, AWS and Chef
Gaurav "GP" Pal
 
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
Amazon Web Services Korea
 
コンテンツ配信: CloudFront & 名前解決サービス: Route 53 詳細 -ほぼ週刊AWSマイスターシリーズ第3回-
コンテンツ配信: CloudFront & 名前解決サービス: Route 53 詳細 -ほぼ週刊AWSマイスターシリーズ第3回- コンテンツ配信: CloudFront & 名前解決サービス: Route 53 詳細 -ほぼ週刊AWSマイスターシリーズ第3回-
コンテンツ配信: CloudFront & 名前解決サービス: Route 53 詳細 -ほぼ週刊AWSマイスターシリーズ第3回-
SORACOM, INC
 

What's hot (20)

Maximizing EC2 and Elastic Block Store Disk Performance
Maximizing EC2 and Elastic Block Store Disk PerformanceMaximizing EC2 and Elastic Block Store Disk Performance
Maximizing EC2 and Elastic Block Store Disk Performance
 
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
 
AWS Webcast - Cost and Performance Optimization in Amazon RDS
AWS Webcast - Cost and Performance Optimization in Amazon RDSAWS Webcast - Cost and Performance Optimization in Amazon RDS
AWS Webcast - Cost and Performance Optimization in Amazon RDS
 
Deep Dive: Maximizing EC2 and EBS Performance
Deep Dive: Maximizing EC2 and EBS PerformanceDeep Dive: Maximizing EC2 and EBS Performance
Deep Dive: Maximizing EC2 and EBS Performance
 
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
 
Deep Dive on Amazon EBS - AWS Online Tech Talks
Deep Dive on Amazon EBS - AWS Online Tech TalksDeep Dive on Amazon EBS - AWS Online Tech Talks
Deep Dive on Amazon EBS - AWS Online Tech Talks
 
Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...
Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...
Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...
 
Deep Dive on Amazon Elastic Block Store
Deep Dive on Amazon Elastic Block StoreDeep Dive on Amazon Elastic Block Store
Deep Dive on Amazon Elastic Block Store
 
Amazon RDS for Performance-Intensive Production Applications (DAT301) | AWS r...
Amazon RDS for Performance-Intensive Production Applications (DAT301) | AWS r...Amazon RDS for Performance-Intensive Production Applications (DAT301) | AWS r...
Amazon RDS for Performance-Intensive Production Applications (DAT301) | AWS r...
 
AWS EBS
AWS EBSAWS EBS
AWS EBS
 
(STG402) Amazon EBS Deep Dive
(STG402) Amazon EBS Deep Dive(STG402) Amazon EBS Deep Dive
(STG402) Amazon EBS Deep Dive
 
Deep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store Performance
Deep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store PerformanceDeep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store Performance
Deep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store Performance
 
Deep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store Performance
Deep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store PerformanceDeep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store Performance
Deep Dive: Maximizing Amazon EC2 and Amazon Elastic Block Store Performance
 
(DAT402) Amazon RDS PostgreSQL:Lessons Learned & New Features
(DAT402) Amazon RDS PostgreSQL:Lessons Learned & New Features(DAT402) Amazon RDS PostgreSQL:Lessons Learned & New Features
(DAT402) Amazon RDS PostgreSQL:Lessons Learned & New Features
 
Deep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance PerformanceDeep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance Performance
 
Oracle on AWS RDS Migration - 성기명
Oracle on AWS RDS Migration - 성기명Oracle on AWS RDS Migration - 성기명
Oracle on AWS RDS Migration - 성기명
 
(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014
(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014
(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014
 
DevOps for ETL processing at scale with MongoDB, Solr, AWS and Chef
DevOps for ETL processing at scale with MongoDB, Solr, AWS and ChefDevOps for ETL processing at scale with MongoDB, Solr, AWS and Chef
DevOps for ETL processing at scale with MongoDB, Solr, AWS and Chef
 
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
 
コンテンツ配信: CloudFront & 名前解決サービス: Route 53 詳細 -ほぼ週刊AWSマイスターシリーズ第3回-
コンテンツ配信: CloudFront & 名前解決サービス: Route 53 詳細 -ほぼ週刊AWSマイスターシリーズ第3回- コンテンツ配信: CloudFront & 名前解決サービス: Route 53 詳細 -ほぼ週刊AWSマイスターシリーズ第3回-
コンテンツ配信: CloudFront & 名前解決サービス: Route 53 詳細 -ほぼ週刊AWSマイスターシリーズ第3回-
 

Viewers also liked

Webinar: Delivering Static and Dynamic Content Using CloudFront
Webinar: Delivering Static and Dynamic Content Using CloudFrontWebinar: Delivering Static and Dynamic Content Using CloudFront
Webinar: Delivering Static and Dynamic Content Using CloudFront
Amazon Web Services
 
Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...
Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...
Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...
Amazon Web Services
 
REA Sydney Customer Appreciation Day
REA Sydney Customer Appreciation DayREA Sydney Customer Appreciation Day
REA Sydney Customer Appreciation Day
Amazon Web Services
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
Amazon Web Services
 
Scalable Database Options on AWS
Scalable Database Options on AWSScalable Database Options on AWS
Scalable Database Options on AWS
Amazon Web Services
 
AWS Summit 2013 | Auckland - Big Data Analytics
AWS Summit 2013 | Auckland - Big Data AnalyticsAWS Summit 2013 | Auckland - Big Data Analytics
AWS Summit 2013 | Auckland - Big Data AnalyticsAmazon Web Services
 
Amazon WorkSpaces - Fully Managed Desktops in the Cloud
Amazon WorkSpaces - Fully Managed Desktops in the Cloud Amazon WorkSpaces - Fully Managed Desktops in the Cloud
Amazon WorkSpaces - Fully Managed Desktops in the Cloud
Amazon Web Services
 
Automating Backup & Archiving with AWS and CommVault
Automating Backup & Archiving with AWS and CommVaultAutomating Backup & Archiving with AWS and CommVault
Automating Backup & Archiving with AWS and CommVault
Amazon Web Services
 
AWS Customer Presentation - Cruxy.com
AWS Customer Presentation - Cruxy.com AWS Customer Presentation - Cruxy.com
AWS Customer Presentation - Cruxy.com
Amazon Web Services
 
Delivering High Performance Content
Delivering High Performance ContentDelivering High Performance Content
Delivering High Performance Content
Amazon Web Services
 
AWS Enterprise Summit Manila Windows .net
AWS Enterprise Summit Manila Windows .netAWS Enterprise Summit Manila Windows .net
AWS Enterprise Summit Manila Windows .net
Amazon Web Services
 
CPN202 More for Less - AWS re: Invent 2012
CPN202 More for Less - AWS re: Invent 2012CPN202 More for Less - AWS re: Invent 2012
CPN202 More for Less - AWS re: Invent 2012
Amazon Web Services
 
AWS Empowering Digital Marketing - September 2013
AWS Empowering Digital Marketing - September 2013AWS Empowering Digital Marketing - September 2013
AWS Empowering Digital Marketing - September 2013
Amazon Web Services
 
SEGA’s Digital Strategy with AWS
SEGA’s Digital Strategy with AWSSEGA’s Digital Strategy with AWS
SEGA’s Digital Strategy with AWS
Amazon Web Services
 
Mobile apps and iot aws lambda
Mobile apps and iot aws lambdaMobile apps and iot aws lambda
Mobile apps and iot aws lambda
Amazon Web Services
 
AWS Cloud School - London April 2012
AWS Cloud School - London April 2012AWS Cloud School - London April 2012
AWS Cloud School - London April 2012Amazon Web Services
 

Viewers also liked (20)

Webinar: Delivering Static and Dynamic Content Using CloudFront
Webinar: Delivering Static and Dynamic Content Using CloudFrontWebinar: Delivering Static and Dynamic Content Using CloudFront
Webinar: Delivering Static and Dynamic Content Using CloudFront
 
Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...
Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...
Build Next Generation Real-time Applications with SAP HANA on AWS (BDT211) | ...
 
REA Sydney Customer Appreciation Day
REA Sydney Customer Appreciation DayREA Sydney Customer Appreciation Day
REA Sydney Customer Appreciation Day
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
Beintoo on Amazon Web Services
Beintoo on Amazon Web ServicesBeintoo on Amazon Web Services
Beintoo on Amazon Web Services
 
Stg205 amazon s3
Stg205 amazon s3Stg205 amazon s3
Stg205 amazon s3
 
Scalable Database Options on AWS
Scalable Database Options on AWSScalable Database Options on AWS
Scalable Database Options on AWS
 
0. series overview
0. series overview0. series overview
0. series overview
 
AWS Summit 2013 | Auckland - Big Data Analytics
AWS Summit 2013 | Auckland - Big Data AnalyticsAWS Summit 2013 | Auckland - Big Data Analytics
AWS Summit 2013 | Auckland - Big Data Analytics
 
Amazon WorkSpaces - Fully Managed Desktops in the Cloud
Amazon WorkSpaces - Fully Managed Desktops in the Cloud Amazon WorkSpaces - Fully Managed Desktops in the Cloud
Amazon WorkSpaces - Fully Managed Desktops in the Cloud
 
Automating Backup & Archiving with AWS and CommVault
Automating Backup & Archiving with AWS and CommVaultAutomating Backup & Archiving with AWS and CommVault
Automating Backup & Archiving with AWS and CommVault
 
AWS Customer Presentation - Cruxy.com
AWS Customer Presentation - Cruxy.com AWS Customer Presentation - Cruxy.com
AWS Customer Presentation - Cruxy.com
 
Delivering High Performance Content
Delivering High Performance ContentDelivering High Performance Content
Delivering High Performance Content
 
AWS Enterprise Summit Manila Windows .net
AWS Enterprise Summit Manila Windows .netAWS Enterprise Summit Manila Windows .net
AWS Enterprise Summit Manila Windows .net
 
CPN202 More for Less - AWS re: Invent 2012
CPN202 More for Less - AWS re: Invent 2012CPN202 More for Less - AWS re: Invent 2012
CPN202 More for Less - AWS re: Invent 2012
 
AWS Empowering Digital Marketing - September 2013
AWS Empowering Digital Marketing - September 2013AWS Empowering Digital Marketing - September 2013
AWS Empowering Digital Marketing - September 2013
 
SEGA’s Digital Strategy with AWS
SEGA’s Digital Strategy with AWSSEGA’s Digital Strategy with AWS
SEGA’s Digital Strategy with AWS
 
Amazon federal registry 2.0
Amazon federal registry 2.0Amazon federal registry 2.0
Amazon federal registry 2.0
 
Mobile apps and iot aws lambda
Mobile apps and iot aws lambdaMobile apps and iot aws lambda
Mobile apps and iot aws lambda
 
AWS Cloud School - London April 2012
AWS Cloud School - London April 2012AWS Cloud School - London April 2012
AWS Cloud School - London April 2012
 

Similar to AWS Blackbelt NINJA Dojo

Deep Dive on Amazon Elastic Block Store
Deep Dive on Amazon Elastic Block StoreDeep Dive on Amazon Elastic Block Store
Deep Dive on Amazon Elastic Block Store
Amazon Web Services
 
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
Amazon Web Services
 
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
Amazon Web Services
 
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Amazon Web Services
 
AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법
AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법
AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법
Amazon Web Services Korea
 
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
Amazon Web Services
 
What to know about Amazon Elastic Block Store (EBS)
What to know about Amazon Elastic Block Store (EBS)What to know about Amazon Elastic Block Store (EBS)
What to know about Amazon Elastic Block Store (EBS)
LCloud
 
AWS vs Azure vs Google Cloud Storage Deep Dive
AWS vs Azure vs Google Cloud Storage Deep DiveAWS vs Azure vs Google Cloud Storage Deep Dive
AWS vs Azure vs Google Cloud Storage Deep Dive
RightScale
 
Optimizing Amazon EBS for Performance (CMP317-R2) - AWS re:Invent 2018
Optimizing Amazon EBS for Performance (CMP317-R2) - AWS re:Invent 2018Optimizing Amazon EBS for Performance (CMP317-R2) - AWS re:Invent 2018
Optimizing Amazon EBS for Performance (CMP317-R2) - AWS re:Invent 2018
Amazon Web Services
 
Optimizing Amazon EBS for Performance (CMP371) - AWS re:Invent 2018
Optimizing Amazon EBS for Performance (CMP371) - AWS re:Invent 2018Optimizing Amazon EBS for Performance (CMP371) - AWS re:Invent 2018
Optimizing Amazon EBS for Performance (CMP371) - AWS re:Invent 2018
Amazon Web Services
 
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)
Amazon Web Services
 
DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012
DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012
DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012
Amazon Web Services
 
Cloud Storage Comparison: AWS vs Azure vs Google vs IBM
Cloud Storage Comparison: AWS vs Azure vs Google vs IBMCloud Storage Comparison: AWS vs Azure vs Google vs IBM
Cloud Storage Comparison: AWS vs Azure vs Google vs IBM
RightScale
 
10 tips to improve the performance of your AWS application
10 tips to improve the performance of your AWS application10 tips to improve the performance of your AWS application
10 tips to improve the performance of your AWS application
Amazon Web Services
 
SRV321 Deep Dive on Amazon EBS
SRV321 Deep Dive on Amazon EBSSRV321 Deep Dive on Amazon EBS
SRV321 Deep Dive on Amazon EBS
Amazon Web Services
 
SRV321 Deep Dive on Amazon EBS
 SRV321 Deep Dive on Amazon EBS SRV321 Deep Dive on Amazon EBS
SRV321 Deep Dive on Amazon EBS
Amazon Web Services
 
AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...
AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...
AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...
Amazon Web Services
 
Big data dive amazon emr processing
Big data dive amazon emr processingBig data dive amazon emr processing
Big data dive amazon emr processingOlga Lavrentieva
 
PAC 2019 virtual Stefano Doni
PAC 2019 virtual Stefano Doni   PAC 2019 virtual Stefano Doni
PAC 2019 virtual Stefano Doni
Neotys
 
Deep Dive on Amazon Elastic Block Storage (Amazon EBS) (STG310-R1) - AWS re:I...
Deep Dive on Amazon Elastic Block Storage (Amazon EBS) (STG310-R1) - AWS re:I...Deep Dive on Amazon Elastic Block Storage (Amazon EBS) (STG310-R1) - AWS re:I...
Deep Dive on Amazon Elastic Block Storage (Amazon EBS) (STG310-R1) - AWS re:I...
Amazon Web Services
 

Similar to AWS Blackbelt NINJA Dojo (20)

Deep Dive on Amazon Elastic Block Store
Deep Dive on Amazon Elastic Block StoreDeep Dive on Amazon Elastic Block Store
Deep Dive on Amazon Elastic Block Store
 
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
 
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
 
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
 
AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법
AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법
AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법
 
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
 
What to know about Amazon Elastic Block Store (EBS)
What to know about Amazon Elastic Block Store (EBS)What to know about Amazon Elastic Block Store (EBS)
What to know about Amazon Elastic Block Store (EBS)
 
AWS vs Azure vs Google Cloud Storage Deep Dive
AWS vs Azure vs Google Cloud Storage Deep DiveAWS vs Azure vs Google Cloud Storage Deep Dive
AWS vs Azure vs Google Cloud Storage Deep Dive
 
Optimizing Amazon EBS for Performance (CMP317-R2) - AWS re:Invent 2018
Optimizing Amazon EBS for Performance (CMP317-R2) - AWS re:Invent 2018Optimizing Amazon EBS for Performance (CMP317-R2) - AWS re:Invent 2018
Optimizing Amazon EBS for Performance (CMP317-R2) - AWS re:Invent 2018
 
Optimizing Amazon EBS for Performance (CMP371) - AWS re:Invent 2018
Optimizing Amazon EBS for Performance (CMP371) - AWS re:Invent 2018Optimizing Amazon EBS for Performance (CMP371) - AWS re:Invent 2018
Optimizing Amazon EBS for Performance (CMP371) - AWS re:Invent 2018
 
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)
 
DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012
DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012
DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012
 
Cloud Storage Comparison: AWS vs Azure vs Google vs IBM
Cloud Storage Comparison: AWS vs Azure vs Google vs IBMCloud Storage Comparison: AWS vs Azure vs Google vs IBM
Cloud Storage Comparison: AWS vs Azure vs Google vs IBM
 
10 tips to improve the performance of your AWS application
10 tips to improve the performance of your AWS application10 tips to improve the performance of your AWS application
10 tips to improve the performance of your AWS application
 
SRV321 Deep Dive on Amazon EBS
SRV321 Deep Dive on Amazon EBSSRV321 Deep Dive on Amazon EBS
SRV321 Deep Dive on Amazon EBS
 
SRV321 Deep Dive on Amazon EBS
 SRV321 Deep Dive on Amazon EBS SRV321 Deep Dive on Amazon EBS
SRV321 Deep Dive on Amazon EBS
 
AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...
AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...
AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...
 
Big data dive amazon emr processing
Big data dive amazon emr processingBig data dive amazon emr processing
Big data dive amazon emr processing
 
PAC 2019 virtual Stefano Doni
PAC 2019 virtual Stefano Doni   PAC 2019 virtual Stefano Doni
PAC 2019 virtual Stefano Doni
 
Deep Dive on Amazon Elastic Block Storage (Amazon EBS) (STG310-R1) - AWS re:I...
Deep Dive on Amazon Elastic Block Storage (Amazon EBS) (STG310-R1) - AWS re:I...Deep Dive on Amazon Elastic Block Storage (Amazon EBS) (STG310-R1) - AWS re:I...
Deep Dive on Amazon Elastic Block Storage (Amazon EBS) (STG310-R1) - AWS re:I...
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
Amazon Web Services
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Amazon Web Services
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
Amazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
Amazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Amazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
Amazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Amazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 

Recently uploaded (20)

PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 

AWS Blackbelt NINJA Dojo

  • 1. AWS Black Belt Ninja Dojo Dean Samuels, Solutions Architect Amazon Web Services
  • 2. Business 101 Technical 201 Technical 301 Technical 401 Technical Session Grading
  • 3. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: Amazon SQS Auto Scaling groups AWS Region SNS
  • 4. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Amazon SQS Auto Scaling groups AWS Region SNS
  • 5. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Amazon SQS Auto Scaling groups AWS Region SNS
  • 6. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Amazon SQS Auto Scaling groups AWS Region SNS
  • 7. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Amazon SQS Auto Scaling groups AWS Region SNS
  • 8. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Amazon SQS Auto Scaling groups AWS Region SNS
  • 9. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Amazon SQS Auto Scaling groups AWS Region SNS
  • 10. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS
  • 11. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS
  • 12. How can I optimise the performance of these AWS services
  • 13. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS
  • 14. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS
  • 15. Amazon EBS – Larger & Faster Volumes
  • 16. Amazon EBS – Larger & Faster Volumes GP2 1GB-16TB
  • 17. Amazon EBS – Larger & Faster Volumes GP2 PIOPS/ io2 1GB-16TB 4GB-16TB
  • 18. Amazon EBS – Larger & Faster Volumes GP2 PIOPS/ io2 MAG/STD 1GB-16TB 4GB-16TB 1GB-1TB
  • 19. Amazon EBS – Larger & Faster Volumes GP2 PIOPS/ io2 MAG/STD 10,000 IOPS (<1TB – 3000 IOPS) 1GB-16TB 4GB-16TB 1GB-1TB
  • 20. Amazon EBS – Larger & Faster Volumes GP2 PIOPS/ io2 MAG/STD 10,000 IOPS (<1TB – 3000 IOPS) 160MB/s (<1TB – 128MB/s) 1GB-16TB 4GB-16TB 1GB-1TB
  • 21. Amazon EBS – Larger & Faster Volumes GP2 PIOPS/ io2 MAG/STD 10,000 IOPS (<1TB – 3000 IOPS) 160MB/s (<1TB – 128MB/s) 20,000 IOPS 1GB-16TB 4GB-16TB 1GB-1TB
  • 22. Amazon EBS – Larger & Faster Volumes GP2 PIOPS/ io2 MAG/STD 10,000 IOPS (<1TB – 3000 IOPS) 160MB/s (<1TB – 128MB/s) 20,000 IOPS 320MB/s (<1TB – 128MB/s) 1GB-16TB 4GB-16TB 1GB-1TB
  • 23. Amazon EBS – Larger & Faster Volumes GP2 PIOPS/ io2 MAG/STD 10,000 IOPS (<1TB – 3000 IOPS) 160MB/s (<1TB – 128MB/s) 20,000 IOPS 320MB/s (<1TB – 128MB/s) ~100 IOPS 1GB-16TB 4GB-16TB 1GB-1TB
  • 24. Amazon EBS – Larger & Faster Volumes GP2 PIOPS/ io2 MAG/STD 10,000 IOPS (<1TB – 3000 IOPS) 160MB/s (<1TB – 128MB/s) 20,000 IOPS 320MB/s (<1TB – 128MB/s) ~100 IOPS 50-90MB/s 1GB-16TB 4GB-16TB 1GB-1TB
  • 25. Amazon EBS – Larger & Faster Volumes GP2 PIOPS/ io2 MAG/STD 10,000 IOPS (<1TB – 3000 IOPS) 160MB/s (<1TB – 128MB/s) 20,000 IOPS 320MB/s (<1TB – 128MB/s) ~100 IOPS 50-90MB/s 1GB-16TB 4GB-16TB 1GB-1TB EC2 48,000 IOPS @ 16K IO 800MB/s^ ^Amazon EC2 *.8xlarge instances support 10Gb/s network
  • 26. Amazon EBS – Larger & Faster Volumes GP2 PIOPS/ io2 MAG/STD 10,000 IOPS (<1TB – 3000 IOPS) 160MB/s (<1TB – 128MB/s) 20,000 IOPS 320MB/s (<1TB – 128MB/s) ~100 IOPS 50-90MB/s 1GB-16TB 4GB-16TB 1GB-1TB EC2 48,000 IOPS @ 16K IO 800MB/s^ EBS-Optimized @ 500Mb, 1Gb, 2Gb^ ^Amazon EC2 *.8xlarge instances support 10Gb/s network 1-2ms
  • 27. Amazon EBS – Larger & Faster Volumes GP2 PIOPS/ io2 MAG/STD 10,000 IOPS (<1TB – 3000 IOPS) 160MB/s (<1TB – 128MB/s) 20,000 IOPS 320MB/s (<1TB – 128MB/s) ~100 IOPS 50-90MB/s 1GB-16TB 4GB-16TB 1GB-1TB EC2 48,000 IOPS @ 16K IO 800MB/s^ EBS-Optimized @ 500Mb, 1Gb, 2Gb^ ^Amazon EC2 *.8xlarge instances support 10Gb/s network 1-2ms 48,000 IOPS @ 16K IO 800MB/s^ EC2
  • 28. Amazon EBS – Larger & Faster Volumes GP2 PIOPS/ io2 MAG/STD 10,000 IOPS (<1TB – 3000 IOPS) 160MB/s (<1TB – 128MB/s) 20,000 IOPS 320MB/s (<1TB – 128MB/s) ~100 IOPS 50-90MB/s 1GB-16TB 4GB-16TB 1GB-1TB EC2 48,000 IOPS @ 16K IO 800MB/s^ EBS-Optimized @ 500Mb, 1Gb, 2Gb^ EBS-Optimized @ 500Mb, 1Gb, 2Gb^ ^Amazon EC2 *.8xlarge instances support 10Gb/s network 1-2ms 1-2ms 48,000 IOPS @ 16K IO 800MB/s^ EC2
  • 29. Amazon EBS – Larger & Faster Volumes GP2 PIOPS/ io2 MAG/STD 10,000 IOPS (<1TB – 3000 IOPS) 160MB/s (<1TB – 128MB/s) 20,000 IOPS 320MB/s (<1TB – 128MB/s) ~100 IOPS 50-90MB/s 1GB-16TB 4GB-16TB 1GB-1TB EC2 48,000 IOPS @ 16K IO 800MB/s^ EBS-Optimized @ 500Mb, 1Gb, 2Gb^ EBS-Optimized @ 500Mb, 1Gb, 2Gb^ ^Amazon EC2 *.8xlarge instances support 10Gb/s network 1-2ms 1-2ms ~2-40ms 48,000 IOPS @ 16K IO 800MB/s^ EC2 48,000 IOPS @ 16K IO 800MB/s^ EC2
  • 30. Amazon EBS – Larger & Faster Volumes GP2 PIOPS/ io2 MAG/STD 10,000 IOPS (<1TB – 3000 IOPS) 160MB/s (<1TB – 128MB/s) 20,000 IOPS 320MB/s (<1TB – 128MB/s) ~100 IOPS 50-90MB/s 1GB-16TB 4GB-16TB 1GB-1TB EC2 48,000 IOPS @ 16K IO 800MB/s^ EBS-Optimized @ 500Mb, 1Gb, 2Gb^ EBS-Optimized @ 500Mb, 1Gb, 2Gb^ ^Amazon EC2 *.8xlarge instances support 10Gb/s network 1-2ms 1-2ms ~2-40ms 48,000 IOPS @ 16K IO 800MB/s^ EC2 48,000 IOPS @ 16K IO 800MB/s^ EC2 Optimal queue depth to achieve lower latency and highest IOPS is ~1 QD per 200 IOPS
  • 33. Amazon EBS Cost Optimisation • 1TB PIOPS volume with 4K IOPS – $429.32* per month per volume _________________________________ *Pricing for AWS Sydney region – ap-southeast-2
  • 34. Amazon EBS Cost Optimisation • 1TB PIOPS volume with 4K IOPS – $429.32* per month per volume _________________________________ • GP2 1TB volume with 3000 IOPS – $122.88* *Pricing for AWS Sydney region – ap-southeast-2
  • 35. Amazon EBS Cost Optimisation • 1TB PIOPS volume with 4K IOPS – $429.32* per month per volume _________________________________ • GP2 1TB volume with 3000 IOPS – $122.88* • GP2 2 x 500GB volumes at 3K, burst to 6K – $122.88* ~70% Cost Savings. 50% more peak I/O with *Pricing for AWS Sydney region – ap-southeast-2
  • 36. Amazon EBS Cost Optimisation • 1TB PIOPS volume with 4K IOPS – $429.32* per month per volume _________________________________ • GP2 1TB volume with 3000 IOPS – $122.88* • GP2 2 x 500GB volumes at 3K, burst to 6K – $122.88* ~70% Cost Savings. 50% more peak I/O with General Purpose (SSD) *Pricing for AWS Sydney region – ap-southeast-2
  • 37. Amazon EBS Cost Optimisation • 1TB PIOPS volume with 4K IOPS – $429.32* per month per volume _________________________________ • GP2 1TB volume with 3000 IOPS – $122.88* • GP2 2 x 500GB volumes at 3K, burst to 6K – $122.88* ~70% Cost Savings. 50% more peak I/O with General Purpose (SSD) Management Optimisation *Pricing for AWS Sydney region – ap-southeast-2
  • 38. Amazon EBS Cost Optimisation • 1TB PIOPS volume with 4K IOPS – $429.32* per month per volume _________________________________ • GP2 1TB volume with 3000 IOPS – $122.88* • GP2 2 x 500GB volumes at 3K, burst to 6K – $122.88* ~70% Cost Savings. 50% more peak I/O with General Purpose (SSD) Management Optimisation • Leverage tags to add metadata to snapshots – Application stack – Instance Id – Volume Id – Version – Type (daily, weekly) *Pricing for AWS Sydney region – ap-southeast-2 Use together with new AMI creation date
  • 39. Amazon EC2 • Next Generation Instance Types – C4 & C3: Compute Optimized – R3: Memory Optimized – I2: High IO – D2: Dense-storage
  • 40. Amazon EC2 • Next Generation Instance Types – C4 & C3: Compute Optimized – R3: Memory Optimized – I2: High IO – D2: Dense-storage • Hardware Assisted Virtualization (HVM)
  • 41. Amazon EC2 • Next Generation Instance Types – C4 & C3: Compute Optimized – R3: Memory Optimized – I2: High IO – D2: Dense-storage • Hardware Assisted Virtualization (HVM) • Enhanced Networking
  • 42. Virtualization layer eth0 eth1 Instance Virtual NICs Physical NIC VIF Amazon EC2 – Enhanced Networking
  • 43. Virtualization layer eth0 eth1 Instance Virtual NICs Physical NIC Virtualization layer eth0 Instance Physical NIC VF Driver eth1 VF VIF SR-IOV Amazon EC2 – Enhanced Networking
  • 44. Virtualization layer eth0 eth1 Instance Virtual NICs Physical NIC Virtualization layer eth0 Instance Physical NIC VF Driver eth1 VF VIF SR-IOV Amazon EC2 – Enhanced Networking Instance 1 Instance 2 ........
  • 45. Demo
 EC2 & EBS Optimisation
  • 46. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg
  • 47. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg
  • 48. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg Don’t Do This!
  • 49. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg Don’t Do This! You end up with this
  • 50. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg 1 2 N 1 2 N Don’t Do This! You end up with this
  • 51. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg 1 2 N 1 2 N Partition Partition Partition Partition Don’t Do This! You end up with this
  • 52. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg 1 2 N 1 2 N Partition Partition Partition Partition Don’t Do This! You end up with this
  • 53. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg 1 2 N 1 2 N Partition Partition Partition Partition Don’t Do This! You end up with this
  • 54. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg 1 2 N 1 2 N Partition Partition Partition Partition If you want a bucket capable of routinely exceeding 100 TPS Don’t Do This! You end up with this
  • 55. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg 1 2 N 1 2 N Partition Partition Partition Partition If you want a bucket capable of routinely exceeding 100 TPS Note: 100 TPS is A LOT! Don’t Do This! You end up with this
  • 56. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg <my_bucket>/521335461-2013_11_13.jpg <my_bucket>/465330151-2013_11_13.jpg <my_bucket>/987331160-2013_11_13.jpg <my_bucket>/465765461-2013_11_13.jpg <my_bucket>/125631151-2013_11_13.jpg <my_bucket>/934563160-2013_11_13.jpg <my_bucket>/532132341-2013_11_13.jpg <my_bucket>/565437681-2013_11_13.jpg <my_bucket>/234567460-2013_11_13.jpg 1 2 N 1 2 N Partition Partition Partition Partition If you want a bucket capable of routinely exceeding 100 TPS Note: 100 TPS is A LOT! Don’t Do This! You end up with this
  • 57. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg <my_bucket>/521335461-2013_11_13.jpg <my_bucket>/465330151-2013_11_13.jpg <my_bucket>/987331160-2013_11_13.jpg <my_bucket>/465765461-2013_11_13.jpg <my_bucket>/125631151-2013_11_13.jpg <my_bucket>/934563160-2013_11_13.jpg <my_bucket>/532132341-2013_11_13.jpg <my_bucket>/565437681-2013_11_13.jpg <my_bucket>/234567460-2013_11_13.jpg 1 2 N 1 2 N Partition Partition Partition Partition If you want a bucket capable of routinely exceeding 100 TPS Note: 100 TPS is A LOT! Don’t Do This! You end up with this
  • 58. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg <my_bucket>/521335461-2013_11_13.jpg <my_bucket>/465330151-2013_11_13.jpg <my_bucket>/987331160-2013_11_13.jpg <my_bucket>/465765461-2013_11_13.jpg <my_bucket>/125631151-2013_11_13.jpg <my_bucket>/934563160-2013_11_13.jpg <my_bucket>/532132341-2013_11_13.jpg <my_bucket>/565437681-2013_11_13.jpg <my_bucket>/234567460-2013_11_13.jpg 1 2 N 1 2 N Partition Partition Partition Partition If you want a bucket capable of routinely exceeding 100 TPS Note: 100 TPS is A LOT! Don’t Do This! You end up with this Do this…
  • 59. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg <my_bucket>/521335461-2013_11_13.jpg <my_bucket>/465330151-2013_11_13.jpg <my_bucket>/987331160-2013_11_13.jpg <my_bucket>/465765461-2013_11_13.jpg <my_bucket>/125631151-2013_11_13.jpg <my_bucket>/934563160-2013_11_13.jpg <my_bucket>/532132341-2013_11_13.jpg <my_bucket>/565437681-2013_11_13.jpg <my_bucket>/234567460-2013_11_13.jpg 1 2 N 1 2 N Partition Partition Partition Partition 1 2 N 1 2 N Partition Partition Partition Partition If you want a bucket capable of routinely exceeding 100 TPS Note: 100 TPS is A LOT! Don’t Do This! You end up with this Do this… You end up with this
  • 60. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg <my_bucket>/521335461-2013_11_13.jpg <my_bucket>/465330151-2013_11_13.jpg <my_bucket>/987331160-2013_11_13.jpg <my_bucket>/465765461-2013_11_13.jpg <my_bucket>/125631151-2013_11_13.jpg <my_bucket>/934563160-2013_11_13.jpg <my_bucket>/532132341-2013_11_13.jpg <my_bucket>/565437681-2013_11_13.jpg <my_bucket>/234567460-2013_11_13.jpg 1 2 N 1 2 N Partition Partition Partition Partition 1 2 N 1 2 N Partition Partition Partition Partition If you want a bucket capable of routinely exceeding 100 TPS Note: 100 TPS is A LOT! Don’t Do This! You end up with this Do this… You end up with this
  • 61. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg 1 2 N 1 2 N Partition Partition Partition Partition 1 2 N 1 2 N Partition Partition Partition Partition If you want a bucket capable of routinely exceeding 100 TPS Note: 100 TPS is A LOT! Don’t Do This! You end up with this Do this… You end up with this
  • 62. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg 1 2 N 1 2 N Partition Partition Partition Partition 1 2 N 1 2 N Partition Partition Partition Partition If you want a bucket capable of routinely exceeding 100 TPS Note: 100 TPS is A LOT! Don’t Do This! You end up with this Do this… You end up with this <my_bucket>/images/521335461-2013_11_13.jpg <my_bucket>/images/465330151-2013_11_13.jpg <my_bucket>/images/987331160-2013_11_13.jpg <my_bucket>/movies/465765461-2013_11_13.jpg <my_bucket>/movies/125631151-2013_11_13.jpg <my_bucket>/thumbs-small/934563160-2013_11_13.jpg <my_bucket>/thumbs-small/532132341-2013_11_13.jpg <my_bucket>/thumbs-small/565437681-2013_11_13.jpg <my_bucket>/thumbs-small/234567460-2013_11_13.jpg
  • 63. Amazon S3 – Distributing Key Names <my_bucket>/2013_11_13-164533125.jpg <my_bucket>/2013_11_13-164533126.jpg <my_bucket>/2013_11_13-164533127.jpg <my_bucket>/2013_11_13-164533128.jpg <my_bucket>/2013_11_12-164533129.jpg <my_bucket>/2013_11_12-164533130.jpg <my_bucket>/2013_11_12-164533131.jpg <my_bucket>/2013_11_12-164533132.jpg <my_bucket>/2013_11_11-164533133.jpg 1 2 N 1 2 N Partition Partition Partition Partition 1 2 N 1 2 N Partition Partition Partition Partition If you want a bucket capable of routinely exceeding 100 TPS Note: 100 TPS is A LOT! Don’t Do This! You end up with this Do this… You end up with this <my_bucket>/images/521335461-2013_11_13.jpg <my_bucket>/images/465330151-2013_11_13.jpg <my_bucket>/images/987331160-2013_11_13.jpg <my_bucket>/movies/465765461-2013_11_13.jpg <my_bucket>/movies/125631151-2013_11_13.jpg <my_bucket>/thumbs-small/934563160-2013_11_13.jpg <my_bucket>/thumbs-small/532132341-2013_11_13.jpg <my_bucket>/thumbs-small/565437681-2013_11_13.jpg <my_bucket>/thumbs-small/234567460-2013_11_13.jpg This is also ok
  • 64. Amazon S3 – Secondary Lists
 Restrict Use of S3 LIST DynamoDB RDS CloudSearch EC2 S3 ObjectCreated Notification Lambda SQS Workers
  • 65. Amazon S3 – Secondary Lists
 Restrict Use of S3 LIST DynamoDB RDS CloudSearch EC2 S3 ObjectCreated Notification Lambda SQS Workers
  • 66. Amazon S3 – Secondary Lists
 Restrict Use of S3 LIST DynamoDB RDS CloudSearch EC2 S3 ObjectCreated Notification Lambda SQS Workers
  • 68. How can I simplify encryption for data in transit and data at rest?
  • 69. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS
  • 70. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS Elastic Load Balancer with SSL Termination (Announced 2010)
  • 71. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS Elastic Load Balancer with SSL Termination (Announced 2010) CloudFront with HTTPS Access With Custom Domain Names (Announced 2013)
  • 72. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS Elastic Load Balancer with SSL Termination (Announced 2010) CloudFront with HTTPS Access With Custom Domain Names (Announced 2013) RDS with SSL (MySQL - 2010) (SQL Server – 2012) (Oracle/NNE – 2013) (PostgreSQL – 2013)
  • 73. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS Elastic Load Balancer with SSL Termination (Announced 2010) CloudFront with HTTPS Access With Custom Domain Names (Announced 2013) RDS with SSL (MySQL - 2010) (SQL Server – 2012) (Oracle/NNE – 2013) (PostgreSQL – 2013)
  • 74. Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS Store Data with Envelope Encryption Client Application Announced 2014
  • 75. Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS 1) User creates Customer Master Keys (CMK) Store Data with Envelope Encryption Client Application Announced 2014
  • 76. Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS 2) User associates resource with CMK Store Data with Envelope Encryption Client Application Announced 2014
  • 77. Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS Obj 3) Request to store data & context for encryption Data Data Data Requests Store Data with Envelope Encryption Client Application Announced 2014
  • 78. Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS Obj Data Data Data 4) Service requests encryption key with context Store Data with Envelope Encryption Client Application Announced 2014
  • 79. Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS Obj Data Data Data 5) AWS KMS returns an encryption (data) key + an encrypted version of the key + + + +Store Data with Envelope Encryption Client Application Announced 2014
  • 80. Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS 6) Service encrypts the data with the encryption key then deletes the key from memory Store Data with Envelope Encryption Client Application Announced 2014
  • 81. Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS 7) Service stores the data along with the encrypted key Store Data with Envelope Encryption Client Application Announced 2014
  • 82. Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS Client Application Retrieve Data with Envelope Encryption Announced 2014
  • 83. Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS Client Application Request Request Request Request 1) Request to retrieve data Retrieve Data with Envelope Encryption Announced 2014
  • 84. Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS Client Application Request Request Request Request 2) Service retrieves the encrypted data & encrypted key. Retrieve Data with Envelope Encryption Announced 2014
  • 85. Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS Client Application 3) Service sends the encrypted key and the UserID to KMS. Retrieve Data with Envelope Encryption Announced 2014
  • 86. Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS Client Application 4) AWS KMS unencrypts the encryption key and returns the key to the service Retrieve Data with Envelope Encryption Announced 2014
  • 87. Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS Client Application 5) Service decrypts the data with the encryption key, then deletes the key from memory Data Data DataObj Retrieve Data with Envelope Encryption Announced 2014
  • 88. 6) Service returns the data to the user Simplifying encryption in AWS – Today Amazon S3 Object Amazon EBS Volume Amazon RDS
 or Redshift Custom
 Application AWS KMS Client Application Data Data Data Obj Retrieve Data with Envelope Encryption Announced 2014
  • 90. I’ve hit some obstacles with my VPC in terms of integration and performance, what are some of my options
  • 91. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS
  • 92. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS This is a bottleneck & SPOF!
  • 93. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS This is a bottleneck & SPOF! These are bandwidth- intensive for Internet egress
  • 94. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS This is a bottleneck & SPOF! These are bandwidth- intensive for Internet egress Applications with legacy network reqs
  • 101. 10.1.0.0/16 10.0.0.0/16 10.0.0.0/16 ✔ Taking VPC Peering to the next Level Overlapping IP is not a dead end
  • 102. 10.0.0.0/16 10.0.0.0/16 10.1.0.0/16 A B C Taking VPC Peering to the next Level PCX-1 PCX-2
  • 103. 10.0.0.0/16 10.0.0.0/16 Subnet 1 10.1.1.0/24 Subnet 2 10.1.2.0/24 10.1.0.0/16 A B C Taking VPC Peering to the next Level PCX-1 PCX-2
  • 104. 10.0.0.0/16 10.0.0.0/16 Subnet 1 10.1.1.0/24 Subnet 2 10.1.2.0/24 10.1.0.0/16Route Table Subnet 1 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-1 A B C Taking VPC Peering to the next Level PCX-1 PCX-2
  • 105. 10.0.0.0/16 10.0.0.0/16 Subnet 1 10.1.1.0/24 Subnet 2 10.1.2.0/24 10.1.0.0/16Route Table Subnet 1 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-1 Route Table Subnet 2 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-2 A B C Taking VPC Peering to the next Level PCX-1 PCX-2
  • 106. 10.0.0.0/16 10.0.0.0/16 Subnet 1 10.1.1.0/24 Subnet 2 10.1.2.0/24 10.1.0.0/16Route Table Subnet 1 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-1 Route Table Subnet 2 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-2 A B C Taking VPC Peering to the next Level PCX-1 PCX-2 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.1.0/24 PCX-1 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.2.0/24 PCX-1
  • 107. 10.0.0.0/16 10.0.0.0/16 Subnet 1 10.1.1.0/24 Subnet 2 10.1.2.0/24 10.1.0.0/16Route Table Subnet 1 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-1 Route Table Subnet 2 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-2 A B C Taking VPC Peering to the next Level Floating NAT Network PCX-1 PCX-2 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.1.0/24 PCX-1 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.2.0/24 PCX-1
  • 108. 10.0.0.0/16 10.0.0.0/16 Subnet 1 10.1.1.0/24 Subnet 2 10.1.2.0/24 10.1.0.0/16Route Table Subnet 1 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-1 Route Table Subnet 2 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-2 A B C Taking VPC Peering to the next Level Floating NAT Network 10.0.0.58 PCX-1 PCX-2 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.1.0/24 PCX-1 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.2.0/24 PCX-1
  • 109. 10.0.0.0/16 10.0.0.0/16 Subnet 1 10.1.1.0/24 Subnet 2 10.1.2.0/24 10.1.0.0/16Route Table Subnet 1 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-1 Route Table Subnet 2 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-2 A B C Taking VPC Peering to the next Level Floating NAT Network 10.0.0.58 10.0.0.105 PCX-1 PCX-2 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.1.0/24 PCX-1 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.2.0/24 PCX-1
  • 110. 10.0.0.0/16 10.0.0.0/16 Subnet 1 10.1.1.0/24 Subnet 2 10.1.2.0/24 10.1.0.0/16Route Table Subnet 1 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-1 Route Table Subnet 2 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-2 A B C Taking VPC Peering to the next Level Floating NAT Network 10.0.0.58 10.0.0.105 PCX-1 PCX-210.1.1.105 10.1.2.105 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.1.0/24 PCX-1 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.2.0/24 PCX-1
  • 111. 10.0.0.0/16 10.0.0.0/16 Subnet 1 10.1.1.0/24 Subnet 2 10.1.2.0/24 10.1.0.0/16Route Table Subnet 1 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-1 Route Table Subnet 2 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-2 A B C Taking VPC Peering to the next Level Floating NAT Network SRC: 10.0.0.58 DST: 10.1.1.105 SRC: 10.1.2.105 DST: 10.0.0.105 10.0.0.58 10.0.0.105 PCX-1 PCX-210.1.1.105 10.1.2.105 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.1.0/24 PCX-1 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.2.0/24 PCX-1
  • 112. 10.0.0.0/16 10.0.0.0/16 Subnet 1 10.1.1.0/24 Subnet 2 10.1.2.0/24 10.1.0.0/16Route Table Subnet 1 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-1 Route Table Subnet 2 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-2 A B C Taking VPC Peering to the next Level Floating NAT Network SRC: 10.0.0.58 DST: 10.1.1.105 SRC: 10.1.2.105 DST: 10.0.0.105 10.0.0.58 10.0.0.105 PCX-1 PCX-210.1.1.105 10.1.2.105 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.1.0/24 PCX-1 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.2.0/24 PCX-1
  • 113. 10.0.0.0/16 10.0.0.0/16 Subnet 1 10.1.1.0/24 Subnet 2 10.1.2.0/24 10.1.0.0/16Route Table Subnet 1 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-1 Route Table Subnet 2 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-2 A B C Taking VPC Peering to the next Level Floating NAT Network SRC: 10.0.0.58 DST: 10.1.1.105 SRC: 10.1.2.105 DST: 10.0.0.105 10.0.0.58 10.0.0.105 PCX-1 PCX-210.1.1.105 10.1.2.105 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.1.0/24 PCX-1 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.2.0/24 PCX-1
  • 114. 10.0.0.0/16 10.0.0.0/16 Subnet 1 10.1.1.0/24 Subnet 2 10.1.2.0/24 10.1.0.0/16Route Table Subnet 1 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-1 Route Table Subnet 2 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-2 A B C Taking VPC Peering to the next Level Floating NAT Network SRC: 10.0.0.58 DST: 10.1.1.105 SRC: 10.1.2.105 DST: 10.0.0.105 10.0.0.58 10.0.0.105 PCX-1 PCX-210.1.1.105 10.1.2.105 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.1.0/24 PCX-1 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.2.0/24 PCX-1
  • 115. 10.0.0.0/16 10.0.0.0/16 Subnet 1 10.1.1.0/24 Subnet 2 10.1.2.0/24 10.1.0.0/16Route Table Subnet 1 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-1 Route Table Subnet 2 Destination Target 10.1.0.0/16 local 10.0.0.0/16 PCX-2 A B C Taking VPC Peering to the next Level Floating NAT Network SRC: 10.0.0.58 DST: 10.1.1.105 SRC: 10.1.2.105 DST: 10.0.0.105 10.0.0.58 10.0.0.105 PCX-1 PCX-210.1.1.105 10.1.2.105 Route53 Private Hosted Zone Route53 Private Hosted Zone Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.1.0/24 PCX-1 Route Table Subnet # Destination Target 10.0.0.0/16 local 10.1.2.0/24 PCX-1
  • 116. Demo
 VPC to VPC Communication
  • 117. Availability Zone A Private Subnet Availability Zone B Private Subnet Internet AWS region Public Subnet Public Subnet NAT • Use Auto Scaling for NAT availability • Create 1 NAT per Availability Zone • All private subnet route tables to point to same zone NAT • 1 Auto Scaling group per NAT with min and max size set to 1 • Let Auto Scaling monitor the health and availability of your NATs • NAT bootstrap script updates route tables programmatically • Latest version of script – uses tags: https://github.com/ralex-aws/vpc Auto scale HA NAT Dynamo DB Scaling Internet egress capacity NAT ASG min=1 max=1 ASG min=1 max=1 SQS SNS
  • 118. Availability Zone A Private Subnet Availability Zone B Private Subnet Internet AWS region Public Subnet Public Subnet NAT • Use Auto Scaling for NAT availability • Create 1 NAT per Availability Zone • All private subnet route tables to point to same zone NAT • 1 Auto Scaling group per NAT with min and max size set to 1 • Let Auto Scaling monitor the health and availability of your NATs • NAT bootstrap script updates route tables programmatically • Latest version of script – uses tags: https://github.com/ralex-aws/vpc Auto scale HA NAT Dynamo DB Scaling Internet egress capacity NAT ASG min=1 max=1 ASG min=1 max=1 SQS SNS
  • 119. Availability Zone A Private Subnet Availability Zone B Private Subnet Internet AWS region Public Subnet Public Subnet NAT • Use Auto Scaling for NAT availability • Create 1 NAT per Availability Zone • All private subnet route tables to point to same zone NAT • 1 Auto Scaling group per NAT with min and max size set to 1 • Let Auto Scaling monitor the health and availability of your NATs • NAT bootstrap script updates route tables programmatically • Latest version of script – uses tags: https://github.com/ralex-aws/vpc Auto scale HA NAT Dynamo DB Scaling Internet egress capacity NAT ASG min=1 max=1 ASG min=1 max=1 SQS SNS
  • 120. Availability Zone A Private Subnet(s) Private Subnet(s) AWS region VPN connection Customer data center Intranet AppsIntranet Apps Availability Zone B Internal customers Controlling the border Internal Load balancer Elastic Load Balancing Private Subnet Elastic Load Balancing Private Subnet S3 Scaling Internet egress capacity Direct Connect DynamoDBSQS
  • 121. Availability Zone A Private Subnet(s) Private Subnet(s) AWS region VPN connection Customer data center Intranet AppsIntranet Apps Availability Zone B Internal customers Controlling the border Internal Load balancer Elastic Load Balancing Private Subnet Elastic Load Balancing Private Subnet S3 Scaling Internet egress capacity Direct Connect DynamoDBSQS
  • 122. Availability Zone A Private Subnet(s) Private Subnet(s) AWS region VPN connection Customer data center Intranet AppsIntranet Apps Availability Zone B Internal customers Controlling the border Internal Load balancer Elastic Load Balancing Private Subnet Elastic Load Balancing Private Subnet • Squid Proxy layer deployed between internal load balancer and the IGW border. Public Subnet Public Subnet S3 Scaling Internet egress capacity Direct Connect DynamoDBSQS
  • 123. Availability Zone A Private Subnet(s) Private Subnet(s) AWS region VPN connection Customer data center Intranet AppsIntranet Apps Availability Zone B Internal customers Controlling the border Internal Load balancer Elastic Load Balancing Private Subnet Elastic Load Balancing Private Subnet • Squid Proxy layer deployed between internal load balancer and the IGW border. Public Subnet Public Subnet S3 • Only proxy subnets have route to IGW. Scaling Internet egress capacity # CIDR AND Destination Domain based Allow # CIDR Subnet blocks for Internal ELBs acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24 # Destination domain for target S3 bucket acl aws_v2_endpoints dstdomain .amazonaws.com # Squid does AND on both ACLs for allow match http_access allow int_elb_cidrs aws_v2_endpoints # Deny everything else http_access deny all Direct Connect DynamoDBSQS
  • 124. Availability Zone A Private Subnet(s) Private Subnet(s) AWS region VPN connection Customer data center Intranet AppsIntranet Apps Availability Zone B Internal customers Controlling the border Internal Load balancer Elastic Load Balancing Private Subnet Elastic Load Balancing Private Subnet • Squid Proxy layer deployed between internal load balancer and the IGW border. Public Subnet Public Subnet S3 • Only proxy subnets have route to IGW. Scaling Internet egress capacity # CIDR AND Destination Domain based Allow # CIDR Subnet blocks for Internal ELBs acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24 # Destination domain for target S3 bucket acl aws_v2_endpoints dstdomain .amazonaws.com # Squid does AND on both ACLs for allow match http_access allow int_elb_cidrs aws_v2_endpoints # Deny everything else http_access deny all Direct Connect DynamoDBSQS
  • 125. Availability Zone A Private Subnet(s) Private Subnet(s) AWS region VPN connection Customer data center Intranet AppsIntranet Apps Availability Zone B Internal customers Controlling the border Internal Load balancer Elastic Load Balancing Private Subnet Elastic Load Balancing Private Subnet • Squid Proxy layer deployed between internal load balancer and the IGW border. Public Subnet Public Subnet S3 • Only proxy subnets have route to IGW. • Proxy security group allows inbound only from Elastic Load Balancing security group. Scaling Internet egress capacity # CIDR AND Destination Domain based Allow # CIDR Subnet blocks for Internal ELBs acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24 # Destination domain for target S3 bucket acl aws_v2_endpoints dstdomain .amazonaws.com # Squid does AND on both ACLs for allow match http_access allow int_elb_cidrs aws_v2_endpoints # Deny everything else http_access deny all Direct Connect DynamoDBSQS
  • 126. Availability Zone A Private Subnet(s) Private Subnet(s) AWS region VPN connection Customer data center Intranet AppsIntranet Apps Availability Zone B Internal customers Controlling the border Internal Load balancer Elastic Load Balancing Private Subnet Elastic Load Balancing Private Subnet • Squid Proxy layer deployed between internal load balancer and the IGW border. Public Subnet Public Subnet S3 HTTP/S • Only proxy subnets have route to IGW. • Proxy security group allows inbound only from Elastic Load Balancing security group. • Proxy restricts which URLs may pass. In this example, *.amazonaws.com is allowed. Scaling Internet egress capacity # CIDR AND Destination Domain based Allow # CIDR Subnet blocks for Internal ELBs acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24 # Destination domain for target S3 bucket acl aws_v2_endpoints dstdomain .amazonaws.com # Squid does AND on both ACLs for allow match http_access allow int_elb_cidrs aws_v2_endpoints # Deny everything else http_access deny all Direct Connect DynamoDBSQS
  • 127. Availability Zone A Private Subnet(s) Private Subnet(s) AWS region VPN connection Customer data center Intranet AppsIntranet Apps Availability Zone B Internal customers Controlling the border Internal Load balancer Elastic Load Balancing Private Subnet Elastic Load Balancing Private Subnet • Squid Proxy layer deployed between internal load balancer and the IGW border. Public Subnet Public Subnet S3 HTTP/S • Only proxy subnets have route to IGW. • Proxy security group allows inbound only from Elastic Load Balancing security group. • Proxy restricts which URLs may pass. In this example, *.amazonaws.com is allowed. • Egress NACLs on proxy subnets enforce HTTP/S only. Scaling Internet egress capacity # CIDR AND Destination Domain based Allow # CIDR Subnet blocks for Internal ELBs acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24 # Destination domain for target S3 bucket acl aws_v2_endpoints dstdomain .amazonaws.com # Squid does AND on both ACLs for allow match http_access allow int_elb_cidrs aws_v2_endpoints # Deny everything else http_access deny all Direct Connect DynamoDBSQS
  • 128. Availability Zone A Private Subnet(s) Private Subnet(s) AWS region VPN connection Customer data center Intranet AppsIntranet Apps Availability Zone B Internal customers Controlling the border Internal Load balancer Elastic Load Balancing Private Subnet Elastic Load Balancing Private Subnet • Squid Proxy layer deployed between internal load balancer and the IGW border. Public Subnet Public Subnet S3 HTTP/S • Only proxy subnets have route to IGW. • Proxy security group allows inbound only from Elastic Load Balancing security group. • Proxy restricts which URLs may pass. In this example, *.amazonaws.com is allowed. • Egress NACLs on proxy subnets enforce HTTP/S only. Scaling Internet egress capacity # CIDR AND Destination Domain based Allow # CIDR Subnet blocks for Internal ELBs acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24 # Destination domain for target S3 bucket acl aws_v2_endpoints dstdomain .amazonaws.com # Squid does AND on both ACLs for allow match http_access allow int_elb_cidrs aws_v2_endpoints # Deny everything else http_access deny all Direct Connect DynamoDBSQS
  • 129. Availability Zone A Private Subnet(s) Private Subnet(s) AWS region VPN connection Customer data center Intranet AppsIntranet Apps Availability Zone B Internal customers Controlling the border Internal Load balancer Elastic Load Balancing Private Subnet Elastic Load Balancing Private Subnet • Squid Proxy layer deployed between internal load balancer and the IGW border. Public Subnet Public Subnet S3 HTTP/S • Only proxy subnets have route to IGW. • Proxy security group allows inbound only from Elastic Load Balancing security group. • Proxy restricts which URLs may pass. In this example, *.amazonaws.com is allowed. • Egress NACLs on proxy subnets enforce HTTP/S only. Scaling Internet egress capacity # CIDR AND Destination Domain based Allow # CIDR Subnet blocks for Internal ELBs acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24 # Destination domain for target S3 bucket acl aws_v2_endpoints dstdomain .amazonaws.com # Squid does AND on both ACLs for allow match http_access allow int_elb_cidrs aws_v2_endpoints # Deny everything else http_access deny all Direct Connect DynamoDBSQS
  • 130. Availability Zone A Private Subnet(s) Private Subnet(s) AWS region VPN connection Customer data center Intranet AppsIntranet Apps Availability Zone B Internal customers Controlling the border Internal Load balancer Elastic Load Balancing Private Subnet Elastic Load Balancing Private Subnet • Squid Proxy layer deployed between internal load balancer and the IGW border. Public Subnet Public Subnet S3 HTTP/S • Only proxy subnets have route to IGW. • Proxy security group allows inbound only from Elastic Load Balancing security group. • Proxy restricts which URLs may pass. In this example, *.amazonaws.com is allowed. • Egress NACLs on proxy subnets enforce HTTP/S only. Scaling Internet egress capacity # CIDR AND Destination Domain based Allow # CIDR Subnet blocks for Internal ELBs acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24 # Destination domain for target S3 bucket acl aws_v2_endpoints dstdomain .amazonaws.com # Squid does AND on both ACLs for allow match http_access allow int_elb_cidrs aws_v2_endpoints # Deny everything else http_access deny all Direct Connect DynamoDBSQS • Could also have HA NATs NATNAT
  • 131. Availability Zone A Private Subnet(s) Private Subnet(s) AWS region VPN connection Customer data center Intranet AppsIntranet Apps Availability Zone B Internal customers Controlling the border Internal Load balancer Elastic Load Balancing Private Subnet Elastic Load Balancing Private Subnet • Squid Proxy layer deployed between internal load balancer and the IGW border. Public Subnet Public Subnet S3 HTTP/S • Only proxy subnets have route to IGW. • Proxy security group allows inbound only from Elastic Load Balancing security group. • Proxy restricts which URLs may pass. In this example, *.amazonaws.com is allowed. • Egress NACLs on proxy subnets enforce HTTP/S only. Scaling Internet egress capacity # CIDR AND Destination Domain based Allow # CIDR Subnet blocks for Internal ELBs acl int_elb_cidrs src 10.1.3.0/24 10.1.4.0/24 # Destination domain for target S3 bucket acl aws_v2_endpoints dstdomain .amazonaws.com # Squid does AND on both ACLs for allow match http_access allow int_elb_cidrs aws_v2_endpoints # Deny everything else http_access deny all Direct Connect DynamoDBSQS • Could also have HA NATs NATNAT
  • 133. Multicast on AWS • Not directly supported
  • 134. Multicast on AWS • Not directly supported 10.0.0.54 10.0.0.79 10.0.1.132 Subnet 10.0.0.0/24 Subnet 10.0.1.0/24 10.0.1.18310.0.0.41
  • 135. Multicast on AWS • Not directly supported • Can be implemented with an overlay network – GRE or L2TP tunnels, Ntop’s N2N 10.0.0.54 10.0.0.79 10.0.1.132 Subnet 10.0.0.0/24 Subnet 10.0.1.0/24 10.0.1.18310.0.0.41
  • 136. Multicast on AWS • Not directly supported • Can be implemented with an overlay network – GRE or L2TP tunnels, Ntop’s N2N 10.0.0.54 10.0.0.79 10.0.1.132 Subnet 10.0.0.0/24 Subnet 10.0.1.0/24 Tunnel 10.0.1.18310.0.0.41
  • 137. Multicast on AWS • Not directly supported • Can be implemented with an overlay network – GRE or L2TP tunnels, Ntop’s N2N 10.0.0.54 10.0.0.79 10.0.1.132192.16.0.10 192.168.0.13 Subnet 10.0.0.0/24 Subnet 10.0.1.0/24 Tunnel 10.0.1.18310.0.0.41
  • 138. Multicast on AWS • Not directly supported • Can be implemented with an overlay network – GRE or L2TP tunnels, Ntop’s N2N • GRE configuration can be automated – Multicast configuration stored in tags 10.0.0.54 10.0.0.79 10.0.1.132192.16.0.10 192.168.0.12 192.168.0.13 Subnet 10.0.0.0/24 Subnet 10.0.1.0/24 Tunnel 10.0.1.18310.0.0.41 192.168.0.12 192.168.0.0/24 Overlay
  • 139. Multicast on AWS • Not directly supported • Can be implemented with an overlay network – GRE or L2TP tunnels, Ntop’s N2N • GRE configuration can be automated – Multicast configuration stored in tags 10.0.0.54 10.0.0.79 10.0.1.132192.16.0.10 192.168.0.12 192.168.0.13 Subnet 10.0.0.0/24 Subnet 10.0.1.0/24 Tunnel 10.0.1.18310.0.0.41 192.168.0.12 192.168.0.0/24 Overlay TAG: multicast App1,192.168.0.13/24 TAG: multicast App1,192.168.0.12/24 TAG: multicast App1,192.168.0.10/24
  • 140. Multicast on AWS • Not directly supported • Can be implemented with an overlay network – GRE or L2TP tunnels, Ntop’s N2N • GRE configuration can be automated – Multicast configuration stored in tags 10.0.0.54 10.0.0.79 10.0.1.132192.16.0.10 192.168.0.12 192.168.0.13 Subnet 10.0.0.0/24 Subnet 10.0.1.0/24 Tunnel 10.0.1.18310.0.0.41 192.168.0.12 192.168.0.0/24 Overlay TAG: multicast App1,192.168.0.13/24 TAG: multicast App1,192.168.0.12/24 TAG: multicast App1,192.168.0.10/24 Setup Guide: http://bit.ly/aws-multi
  • 141. Multicast on AWS • Not directly supported • Can be implemented with an overlay network – GRE or L2TP tunnels, Ntop’s N2N • GRE configuration can be automated – Multicast configuration stored in tags • Periodically check for new members (60 seconds) 10.0.0.54 10.0.0.79 10.0.1.132192.16.0.10 192.168.0.12 192.168.0.13 Subnet 10.0.0.0/24 Subnet 10.0.1.0/24 Tunnel 10.0.1.18310.0.0.41 192.168.0.12 192.168.0.0/24 Overlay TAG: multicast App1,192.168.0.13/24 TAG: multicast App1,192.168.0.12/24 TAG: multicast App1,192.168.0.10/24 Setup Guide: http://bit.ly/aws-multi
  • 142. Demo
 Scalable & HA Internet Egress
  • 143. I’ve automated my deployments but what about responding to events?
  • 144. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS
  • 145. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS What about services with no native CloudWatch integration
  • 146. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS What about services with no native CloudWatch integration Managing non- CloudFormation supported resources/events
  • 147. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS What about services with no native CloudWatch integration Collecting and analysing non-EC2 logs Managing non- CloudFormation supported resources/events
  • 148. Your Application Stacks Availability Zone A Availability Zone B Private subnetPrivate subnet Public subnetPublic subnet Private subnetPrivate subnet CloudFront Glacier S3 DynamoDB Route 53 CloudWatch CloudFormation NAT Stacks for: VPC Edge Services Datastores Applications Presentation Amazon SQS Auto Scaling groups AWS Region SNS What about services with no native CloudWatch integration Collecting and analysing non-EC2 logs Managing non- CloudFormation supported resources/events
  • 149. Advanced uses of CloudWatch – Custom Metrics #!/usr/bin/python import boto.ec2.cloudwatch import boto.vpc AWS_Regions=["us-east-1","us-west-2","us-west-1","eu-west-1"] CloudWatch_Region="us-east-1" cw = boto.ec2.cloudwatch.connect_to_region(CloudWatch_Region) for region in AWS_Regions: vpcconn = boto.vpc.connect_to_region(region) vpns = vpcconn.get_all_vpn_connections() for vpn in vpns: if vpn.state == "available": active_tunnels = 0 if vpn.tunnels[0].status == "UP": active_tunnels+=1 if vpn.tunnels[1].status == "UP": active_tunnels+=1 print vpn.id+" has "+str(active_tunnels)+" active tunnels!” cw.put_metric_data("VPNStatus", vpn.id, value=active_tunnels, dimensions={'VGW':vpn.vpn_gateway_id, 'CGW':vpn.customer_gateway_id})
  • 150. Advanced uses of CloudWatch – Custom Metrics #!/usr/bin/python import boto.ec2.cloudwatch import boto.vpc AWS_Regions=["us-east-1","us-west-2","us-west-1","eu-west-1"] CloudWatch_Region="us-east-1" cw = boto.ec2.cloudwatch.connect_to_region(CloudWatch_Region) for region in AWS_Regions: vpcconn = boto.vpc.connect_to_region(region) vpns = vpcconn.get_all_vpn_connections() for vpn in vpns: if vpn.state == "available": active_tunnels = 0 if vpn.tunnels[0].status == "UP": active_tunnels+=1 if vpn.tunnels[1].status == "UP": active_tunnels+=1 print vpn.id+" has "+str(active_tunnels)+" active tunnels!” cw.put_metric_data("VPNStatus", vpn.id, value=active_tunnels, dimensions={'VGW':vpn.vpn_gateway_id, 'CGW':vpn.customer_gateway_id})
  • 151. Advanced uses of CloudWatch – Custom Metrics #!/usr/bin/python import boto.ec2.cloudwatch import boto.vpc AWS_Regions=["us-east-1","us-west-2","us-west-1","eu-west-1"] CloudWatch_Region="us-east-1" cw = boto.ec2.cloudwatch.connect_to_region(CloudWatch_Region) for region in AWS_Regions: vpcconn = boto.vpc.connect_to_region(region) vpns = vpcconn.get_all_vpn_connections() for vpn in vpns: if vpn.state == "available": active_tunnels = 0 if vpn.tunnels[0].status == "UP": active_tunnels+=1 if vpn.tunnels[1].status == "UP": active_tunnels+=1 print vpn.id+" has "+str(active_tunnels)+" active tunnels!” cw.put_metric_data("VPNStatus", vpn.id, value=active_tunnels, dimensions={'VGW':vpn.vpn_gateway_id, 'CGW':vpn.customer_gateway_id})
  • 152. Advanced uses of CloudWatch – Custom Metrics #!/usr/bin/python import boto.ec2.cloudwatch import boto.vpc AWS_Regions=["us-east-1","us-west-2","us-west-1","eu-west-1"] CloudWatch_Region="us-east-1" cw = boto.ec2.cloudwatch.connect_to_region(CloudWatch_Region) for region in AWS_Regions: vpcconn = boto.vpc.connect_to_region(region) vpns = vpcconn.get_all_vpn_connections() for vpn in vpns: if vpn.state == "available": active_tunnels = 0 if vpn.tunnels[0].status == "UP": active_tunnels+=1 if vpn.tunnels[1].status == "UP": active_tunnels+=1 print vpn.id+" has "+str(active_tunnels)+" active tunnels!” cw.put_metric_data("VPNStatus", vpn.id, value=active_tunnels, dimensions={'VGW':vpn.vpn_gateway_id, 'CGW':vpn.customer_gateway_id}) And Not Just For AWS Resources!
  • 153. Advanced uses of CloudWatch – Logs CloudWatch Logs
  • 154. Advanced uses of CloudWatch – Logs EC2 CloudWatch Logs OS Agent-based
  • 155. Advanced uses of CloudWatch – Logs EC2 Traditional Server CloudWatch Logs OS Agent-based OS Agent-based
  • 156. Advanced uses of CloudWatch – Logs CloudTrail EC2 Traditional Server CloudWatch Logs OS Agent-based OS Agent-based Native
  • 157. Advanced uses of CloudWatch – Logs CloudTrail S3 EC2 Traditional Server CloudWatch Logs OS Agent-based OS Agent-based Native Pull/Push Lambda??
  • 158. Advanced uses of CloudWatch – Logs CloudTrail S3 EC2 Traditional Server CloudWatch Logs CloudFront OS Agent-based OS Agent-based Native Pull/Push Lambda?? Pull/Push Lam bda??
  • 159. Advanced uses of CloudWatch – Logs CloudTrail S3 EC2 Traditional Server CloudWatch Logs CloudFront OS Agent-based OS Agent-based Native Pull/Push Lambda?? Pull/Push Lam bda?? Metrics filters:
  • 160. Advanced uses of CloudWatch – Logs CloudTrail S3 EC2 Traditional Server CloudWatch Logs CloudFront OS Agent-based OS Agent-based Native Pull/Push Lambda?? Pull/Push Lam bda?? Metrics filters: • Literal Terms
  • 161. Advanced uses of CloudWatch – Logs CloudTrail S3 EC2 Traditional Server CloudWatch Logs CloudFront OS Agent-based OS Agent-based Native Pull/Push Lambda?? Pull/Push Lam bda?? Metrics filters: • Literal Terms
  • 162. Advanced uses of CloudWatch – Logs CloudTrail S3 EC2 Traditional Server CloudWatch Logs CloudFront OS Agent-based OS Agent-based Native Pull/Push Lambda?? Pull/Push Lam bda?? Metrics filters: • Literal Terms • Common Log Format
  • 163. Advanced uses of CloudWatch – Logs CloudTrail S3 EC2 Traditional Server CloudWatch Logs CloudFront OS Agent-based OS Agent-based Native Pull/Push Lambda?? Pull/Push Lam bda?? Metrics filters: • Literal Terms • Common Log Format
  • 164. Advanced uses of CloudWatch – Logs CloudTrail S3 EC2 Traditional Server CloudWatch Logs CloudFront OS Agent-based OS Agent-based Native Pull/Push Lambda?? Pull/Push Lam bda?? Metrics filters: • Literal Terms • Common Log Format • JSON
  • 165. Lambda-powered custom resources EC2 instance Software pkgs, config, & dataCloudWatch alarms Your AWS CloudFormation stack // Implement custom logic here Look up an AMI ID Your AWS Lambda functions Look up VPC ID and Subnet ID Reverse an IP address Lambda-powered custom resources
  • 166. Lambda-powered custom resources security group Auto Scaling group EC2 instance Elastic Load Balancing ElastiCache memcached cluster Software pkgs, config, & dataCloudWatch alarms Your AWS CloudFormation stack // Implement custom logic here Look up an AMI ID Your AWS Lambda functions Look up VPC ID and Subnet ID Reverse an IP address Lambda-powered custom resources
  • 168. Recent announcements of interest • AWS Lambda GA • Amazon EC2 Container Service GA • Amazon Machine Learning • Amazon Workspaces Application Manager • Amazon Elastic File System