SlideShare ist ein Scribd-Unternehmen logo
1 von 117
Downloaden Sie, um offline zu lesen
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Marc Olson, Principal Software Engineer, AWS
July 27, 2017
Deep Dive on Elastic Block Store
(Amazon EBS)
SRV413
The AWS Storage Portfolio
Cloud Data Migration
AWS Direct
Connect
AWS Snow*
data transport
family
3rd Party
Connectors
Transfer
Acceleration
AWS
Storage
Gateway
Amazon Kinesis
Firehose
Object
Amazon GlacierAmazon S3
Block
Amazon EBS
(persistent)
Amazon EC2
Instance Store
(ephemeral)
File
Amazon EFS
AWS block storage offerings
AWS
block storage
offerings
EC2
instance
store
HDDSSD
What is Amazon EC2 instance store?
EC2 instances • Local to instance
• Non-persistent data store
• Data not replicated (by default)
• No snapshot support
• SSD or HDD
Physical Host
Instance Store
or
AWS
block storage
offerings
EC2
instance
store
sc1st1
io1gp2
EBS
SSD-backed
volumes
EBS
HDD-backed
volumes
HDDSSD
What is EBS?
EBS
volume
EC2
instance
• Block storage as a service
• Create, attach volumes through an API
• Service accessed over the network
What is EBS?
EC2
instance
!=
EBS
volume
What is EBS?
EC2
instance
EBS
volume
What is EBS?
EC2
instance
EC2
instance
• Volumes persist independent of
EC2
• Select storage and compute
based on your workload
• Detach and attach between
instances within the same
Availability Zone
Availability Zone
AWS Region
EBS
volume
What is EBS?
EC2
instance
• Volumes attach to one
instance at a time
• Many volumes can attach to
an instance
• Separate boot volume from
data volumes
EBS
volume
(boot)
EBS
volume
(data)
EBS
volume
(data)
Availability Zone
AWS Region
What is EBS?
EBS
volume
Availability Zone
AWS Region
Replica
EBS volume types
EBS volume types
Hard disk drives (HDD)Solid-state drives (SSD)
EBS volume types
HDDSSD
Provisioned IOPS
SSD
io1
General Purpose
SSD
gp2
Throughput Optimized HDD
st1 sc1
Cold HDD
or
Choosing an EBS volume type
What is more important to your workload?
IOPS Throughput?
i3
gp2
Choosing an EBS volume type
Latency?
< 1 ms Single-digit ms
Which is more important?
Cost Performance
IOPS
≤ 75,000> 75,000
is more important
EBS volume types: General Purpose SSD
gp2
Throughput: 160 MiB/s
Latency: Single-digit ms
Capacity: 1 GiB to 16 TiB
Baseline: 100 - 10,000 IOPS; 3 IOPS per GiB
Burst: 3,000 IOPS (for volumes up to 1,000 GiB)
Great for boot volumes, low-latency applications, and bursty databases
General Purpose SSD
Burst & baseline: General Purpose SSD (gp2)IOPS
0 1 16
1,000
2,000
3,000
8,000
10,000
BASELINE IOPS
(Baseline Linearly Scales at 3 IOPS/GiB)
Burstable to
3,000 IOPS
3 90.5
Volume size (TiB)
3,334 GiB
100 IOPS
Minimum
300 GiB volume
Burst bucket: General Purpose SSD (gp2)
Max I/O credit per bucket is 5.4M
You can spend up to
3000 credits per second
Baseline performance = 3 IOPS per GiB or 100 IOPS
Always accumulating
3 IOPS per GiB per second
gp2
How long can I burst on gp2?
0
150
300
450
600
750
1 8 30 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950
MinutesofBurst
Volume size in GB
43 min
300 GiB
1 hour
500 GiB
10 hours
950 GiB
i3
gp2 io1
Choosing an EBS volume type
Latency?
< 1 ms Single-digit ms
Which is more important?
Cost Performance
IOPS
≤ 75,000> 75,000
is more important
EBS volume types: I/O Provisioned
Provisioned IOPS SSD
io1
Baseline: 100 to 20,000 IOPS
Throughput: 320 MiB/s
Latency: Single-digit ms
Capacity: 4 GiB to 16 TiB
Ideal for critical applications and databases with sustained IOPS
Scaling Provisioned IOPS SSD (io1)IOPS
0 2 16
1,000
5,000
10,000
15,000
20,000
6 90.4
MAX PROVISIONED IOPS
(Maximum IOPS:GB ratio of 50:1)
Available Provisioned IOPS
Volume Size (TiB)
~ 400 GiB
gp2 io1
Choosing an EBS volume type
Latency?
< 1 ms Single-digit ms
Which is more important?
PerformanceCost
IOPS
≤ 75,000> 75,000
is more important
Throughput?
i3
Throughput
is more important
Small, random I/O Large, sequential I/O
gp2 io1 st1
d2
Choosing an EBS volume type
Latency?
< 1 ms Single-digit ms ≤ 1,750 MiB/s
Aggregate throughput?
> 1,750 MiB/s
Which is more important?
Cost Performance
IOPS
≤ 75,000> 75,000
is more important
Which is more important?
Cost Performance
i3
EBS volume types: Throughput Provisioned
st1
Baseline: 40 MiB/s per TiB up to 500 MiB/s
Capacity: 500 GiB to 16 TiB
Burst: 250 MiB/s per TiB up to 500 MiB/s
Ideal for large-block, high-throughput sequential workloads
Throughput Optimized HDD – burst and base
0
125
250
375
500
625
0.5 1 2 4 6 8 10 12 14 16
ThroughputinMiB/s
Volume Size in TiB
Burst Base
320
ST1
Burst bucket: Throughput Optimized HDD (st1)
Max I/O bucket credit is 1 TiB of
credit per TiB in volume
You can spend up to 500
MiB/s per TiB
Baseline performance = 40 MiB/s per TiB
Always accumulating 40 MiB/s per TiB
st1
Up to 8 TiB in I/O credit
Always accumulating 320 MiB/s
You can spend up
to 500 MiB/s
Burst bucket: example 8 TiB st1 volume
Baseline performance = 320 MiB/s
st1
Throughput
is more important
Small, random I/O Large, sequential I/O
Which is more important?
Latency?
i2
gp2 io1 sc1 st1
d2
Choosing an EBS volume type
IOPS
≤ 75,000> 75,000
< 1 ms Single-digit ms ≤ 1,750 MiB/s
Aggregate throughput?
> 1,750 MiB/s
is more important
Cost Performance
Which is more important?
Cost Performance
sc1
EBS volume types: Throughput Provisioned
Baseline: 12 MiB/s per TB up to 192 MiB/s
Capacity: 500 GiB to 16 TiB
Burst: 80 MiB/s per TB up to 250 MiB/s
Ideal for sequential throughput workloads, such as logging and backup
Cold HDD
Cold HDD – burst and base
0
75
150
225
300
0.5 1 2 4 6 8 10 12 14 16
ThroughputinMiB/s
Volume size in TiB
Burst Base
192
SC1
Burst bucket: Cold HDD (sc1)
Max I/O bucket credit is 1 TiB of
credit per TiB in volume
You can spend up to 250
MiB/s per TiB
Baseline performance = 12 MiB/s per TiB
Always accumulating 12 MiB/s per TiB
sc1
Throughput
is more important
Small, random I/O Large, sequential I/O
Which is more important?
Latency?
i3
gp2 io1 sc1 st1
d2
Choosing an EBS volume type
IOPS
≤ 75,000> 75,000
< 1 ms Single-digit ms ≤ 1,250 MiB/s
Aggregate throughput?
> 1,250 MiB/s
is more important
Cost Performance
Which is more important?
Cost Performance
Don’t know
Choosing an EBS volume type
your workload
yet?
Baseline: 100 - 10,000 IOPS; 3 IOPS per GiB
EBS volume types: General Purpose SSD
gp2
Throughput: 160MiB/s
Latency: Single-digit ms
Capacity: 1 GiB to 16 TiB
Burst: 3,000 IOPS (for volumes up to 1 TiB)
Great for boot volumes, low-latency applications, and bursty databases
General Purpose SSD
I/O Provisioned Volumes Throughput Provisioned Volumes
sc1st1io1gp2
$0.10 per GiB $0.125 per GiB
$0.065 per PIOPS
* All prices are per month, prorated to the hour and from the us-west-2 Region as of April 2017
$0.045 per GiB $0.025 per GiB
Snapshot storage for all volume types is $0.05 per GiB per month
Hybrid volume use cases
c4
gp2
st1
Case Study:
Librato’s Experience Running Cassandra
Using Amazon EBS
Data files
Commit log
i2
EBS Elastic Volumes
Elastic Volumes – Features
Increase volume size
Change volume type
Increase / decrease provisioned IOPS
Elastic Volumes – Overview
Elastic Volumes – supported volume types
Provisioned IOPS
SSD
Throughput Optimized
HDD
Cold
HDD
io1 st1 sc1
General Purpose
SSD
gp2
Increase/decrease Provisioned IOPS
io1
increase decrease
Increase Volume Size?
gp2
gp2
io1
io1
st1
st1
sc1
sc1
Decrease Volume Size?
gp2
gp2
sc1
sc1
io1
io1
st1
st1
Change Volume Type AND Increase Size?
gp2 sc1io1 st1
gp2 sc1io1 st1
Elastic Volumes - Considerations
Volume modifications must be valid for the target
volume type
1 GiB – 16 TiB
4 GiB – 16 TiB
<50 IOPS / GiB
500 GiB – 16 TiB
500 GiB – 16 TiB
st1
sc1gp2
io1
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/considerations.html
Considerations
Volume modifications must be
valid for the target volume type
example
400 GiB
st1
?
400 GiB
gp2
EBS volume types: Throughput Provisioned
Throughput Optimized
HDD
st1
Baseline: 40 MiB/s per TiB up to 500 MiB/s
Capacity: 500 GiB to 16 TiB
Burst: 250 MiB/s per TiB up to 500 MiB/s
Ideal for large-block, high-throughput sequential workloads
Considerations
Volume modifications must be
valid for the target volume
type
example
400 GiB
500 GiB
st1
gp2
Elastic Volumes - Automation Ideas
Amazon CloudWatchElastic Volumes
Elastic Volumes - Automation Ideas
• Use a CloudWatch alarm to
watch for a volume that is
running at or near its IOPS limit.
Amazon CloudWatch
Right-sizing:
• Initiate workflow and approval
process to provision additional
IOPS
• Publish a “free space” metric to
CloudWatch and use a similar
approval process to resize the
volume and the filesystem.
Elastic Volumes - Automation Ideas
• Use metrics or schedules to
reduce IOPS or to change the
type of a volume
Amazon CloudWatch
Cost Reduction:
https://github.com/awslabs/aws-elastic-volumes
Hybrid volume use cases
gp2 st1
Case Study:
How Videology and Zendesk Modernized
Their Big Data Platforms on Amazon EBS
Hot data
0–7 Days
Warm data
8–30 days
sc1
Cold data
31–60 days
Tiered Elasticsearch data:
EBS deep dive
EBS best practices
Security
What is EBS encryption?
Encryption
• Attach both encrypted and unencrypted
• No volume performance impact
• Any current generation instance
• Supported by all EBS volume types
• Snapshots also encrypted
• No extra cost
• Boot and data volumes can be encrypted
Best practice: Encryption
EBS encryption:
data volumes
Best practice: Encryption
Create a new AWS KMS master key for EBS
• Define key rotation policy
• Enable AWS CloudTrail auditing
• Control who can use key
• Control who can administer key
Best practice: Encryption
EBS encryption:
data volumes
EBS best practices
Security
Reliability
EBS is designed for:
What is EBS?
99.999% service availability
0.1% to 0.2% annual failure rate (AFR)
What is an EBS snapshot?
EBS
volume
Availability Zone
AWS Region
Amazon
S3
Availability Zone
Replica
EBS snapshot
How does an EBS snapshot work?
• Point-in-time backup of modified volume blocks
• Stored in S3, accessed via EBS APIs
• Subsequent snapshots are incremental
• Deleting snapshot will only remove data exclusive
to that snapshot
EBS
volume
EBS
snapshot
Creating an EBS snapshot
{
"Description": "Summit Snapshot",
"Encrypted": true,
"VolumeId": "vol-0f8e54c9346aca182",
"State": "pending",
"VolumeSize": 8,
"Progress": "",
"StartTime": "2017-04-08T03:47:05.000Z",
"SnapshotId": "snap-039cc569ea4cb40f6",
"OwnerId": "...."
}
[ec2-user@summit ~]$
[ec2-user@summit ~]$ aws ec2 create-snapshot --volume-id vol-0f8e54c9346aca182
--description "Summit Snapshot"
Best practice: taking snapshots from Linux
Quiesce I/O
1. Database: FLUSH and LOCK tables
2. Filesystem: sync and fsfreeze
3. EBS: snapshot all volumes
4. When CreateSnapshot API returns
success, it is safe to resume
Best practice: taking snapshots from Windows
1. sync equivalent available
2. Use Volume Shadow Copy Service (VSS) -
aware utilities for backups
3. EBS: backups on dedicated volume for
snapshots
EBS
boot
volume
Windows
EC2
instance
EBS
backup
volume
Windows Server Backup
EBS snapshot
Best practice: taking snapshots from Windows
EBS
data
volume
Hybrid volume use cases
st1
Case study:
https://aws.amazon.com/solutions/case-studies/infor-ebs/
Transaction logs
“We’ve seen much stronger performance for our database backup
workloads with the Amazon EBS ST1 volumes, and we’re also
saving 75 percent on our monthly backup costs.”
Randy Young, Director of Cloud Operations, Infor
i2
st1
Full backups
st1
Partial backups
SQL Server
Database
EBS
snapshots
Tracking snapshots and costs (tagging)
• Custom tags provide the ability to assign key / value pairs to AWS
resources
• EBS snapshots supports custom tags for identification and
management
• Tags assigned to EBS snapshots can be activated as “cost
allocation” tags. Allows for greater visibility into snapshot storage
costs
EBS
snapshots
Development
EBS volume
Key = usage
Value = dev
Key = usage
Value = dev
EBS
snapshots
Production
EBS volume
Key = usage
Value = backup
Key = usage
Value = backup
Tracking snapshots and costs (tagging)
• Tags can be added to an existing snapshot using:
• AWS console
• API call:
• CLI command: aws ec2 create-tags --resources
snap-06d43f58bce0f49d9 --tags
Key=usage,Value=dev
CreateTags
Key = usage Value = dev
Tracking snapshots and costs (Cost Explorer)
• First, activate customer tag for cost allocation
• Generate reports with …..
• View usage and costs broken down by “usage” tag value
(example : metrics, dev, backup)
What can you do with a snapshot?
EBS
volume
Availability Zone
AWS Region
Amazon
S3
EBS snapshot
Availability Zone
EBS
volume
Replica Replica
What can you do with a snapshot?
EBS
volume
Availability Zone
AWS Region
Amazon
S3
EBS snapshot
EBS
volume
Availability Zone
AWS Region
EBS snapshot
Replica Replica
What can you do with a snapshot?
AWS Region
Public datasets on
AWS available as
EBS snapshots:
https://aws.amazon.com/public-data-sets/
• Genomic
• Census
• Global weather
• Transportation
Best practice: Automate snapshots
Key ingredients:
AWS Lambda Amazon EC2
Run Command
Tagging
https://aws.amazon.com/ec2/run-command/
Best practice: Automate snapshots
Lambda
scheduled event:
daily snapshots
EC2
Backup
Retention
30 days
Search for instances
tagged “Backup”
Use EC2 Run Command to
quiesce file system
Snapshot attached
volumes
Tag snapshots with
expire date
1. 2. 3. 4.
instances
Best practice: Automate snapshot expiration
Lambda
scheduled event:
daily expire
Search for snapshots
tagged to “Expire On”
today
Delete expired snapshots
1. 2.
EBS
snapshots
Backup
ExpireOn
Date
https://github.com/dR0ski/lambda-ebs-snapshot-custodian
Prototype for EBS Snapshot Custodian:
What about EC2 instance failure?
AWS Region
EBS
volume
EC2
instance
Replica
Availability Zone
What about EC2 instance failure?
AWS Region
EBS
volume
New
EC2
instance
Replica
Availability Zone
EBS enables EC2 auto recovery
RECOVER Instance
Instance ID
Instance metadata
Private IP addresses
Elastic IP addresses
EBS volume attachments
Instance retains:
* Supported on C3, C4, M3, M4, P2, R3, R4, T2, and X1 instance types with EBS-only storage
StatusCheckFailed_System
Amazon CloudWatch
per-instance metric alarm:
When alarm triggers?
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html
What about EC2 instance termination?
Availability Zone
EC2
instance
AWS Region
EBS
volume
Replica
DeleteOnTermination = False
What about EC2 instance termination?
Availability Zone
EC2
instance
AWS Region
EBS
volume
Replica
DeleteOnTermination = True
EBS best practices
Security
Reliability
Performance
How do we count I/Os for GP2 and IO1?
When possible, we logically merge sequential I/Os (up to
256 KiB in size)
...To minimize I/O charges on IO1
and maximize burst on GP2
How do we count I/Os for GP2 and IO1?
Example 1: Random I/Os
• 4 random I/Os (i.e., non sequential I/Os)
• Each I/O 64 KiB
Up to 256 KiB
EC2
instance
EBS
Counted as 4 I/Os
How do we count I/Os for GP2 and IO1?
Example 2: Sequential I/O
• 4 sequential I/Os
• Each I/O 64 KiB
Up to 256 KiB
EC2
instance
EBS
Counted as 1 I/O
How do we count I/Os for GP2 and IO1?
Example 3: Large I/O
• 1 I/O
• 1024 KiB
Up to 256 KiB
EC2
instance
EBS
Counted as 4 I/Os
How do we count I/Os for ST1 and SC1?
• When possible, we merge sequential I/Os (up to 1 MiB in size)
• Workloads with primarily large, sequential I/Os perform best on ST1
and SC1
• Examples: Big Data/EMR, Hadoop, Kafka, log processing, data
warehouses
How do we count I/Os for ST1 and SC1?
Example 1: Random I/Os
• 4 random I/Os
• Each I/O 64 KiB
Up to 1024 KiB
EC2
instance
EBS
Counted as 4 I/Os or 4 MiB/s of burst
How do we count I/Os for ST1 and SC1?
Example 2: Sequential I/O
• 4 sequential I/Os
• Each I/O 1024 KiB
Up to 1024 KiB
EC2
instance
EBS
Counted as 4 I/Os or 4 MiB/s of burst
How do we count I/Os for ST1 and SC1?
Example 3: Mixed I/O
• 2 * 512 KB sequential I/Os
• 2 * 64 KB random I/Os
• 2 * 128 KB sequential I/Os
Up to 1024 KiB
EC2
instance
EBS
Counted as 4 I/Os or 4 MiB/s of burst (but only ~ 1.4 MiB of data transferred)
Burst balance for ST1 and SC1 - Sequential
0
25
50
75
100
125
0 1 2 3 4 5 6 7 8 9 10
BurstBalance%
Time in Hours
1 MB Sequential
4 TiB ST1 volume
1 MB Sequential:
500 MB/s for 3 hours
Burst balance for ST1 and SC1 - Random
0
25
50
75
100
125
0 1 2 3 4 5 6 7 8 9 10
BurstBalance%
Time in Hours
16 KB Random
4 TiB ST1 volume
1 MiB Sequential:
500 MB/s for 3 hours
16 KiB Random:
8 MB/s for 3 hours
Burst balance for ST1 and SC1
4 TiB ST1 Volume5,400 GiB
87 GiB
0
1500
3000
4500
6000
Data Transferred in GiB
Data Transfer Comparison: Sequential vs. Random
1 MiB Sequential 16 KiB Random
1 MiB Sequential:
5.4 TiB transferred
16 KiB Random:
87 GiB transferred
2046 sectors x 512 bytes/sector = ~1024 KiB
$ iostat –xm
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
xvdf 0.00 0.20 0.00 523.40 0.00 523.00 2046.44 3.99 7.62 1.61 100.00
Verify workload I/O patterns
iostat for Linux
perfmon for Windows
128 KiB
Verify ST1 & SC1 workloads
Amazon
CloudWatch
console
Under 64
KiB?
Verify ST1 & SC1 workloads
Small or
random IOPS
likely
Amazon
CloudWatch
console
Stuck
around 44
KiB?
Verify ST1 & SC1 workloads
Amazon
CloudWatch
console
ST1 & SC1: Linux performance tuning
Increase read-ahead buffer:
• Recommended for high-throughput read workloads
• Per volume configuration
• Default is 128 KiB (256 sectors) for Amazon Linux
• Smaller or random I/O will degrade performance
For example:
$ sudo blockdev –setra 2048 /dev/xvdf
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSPerformance.html
ST1 & SC1: Linux performance tuning
Increase maximum I/O size:
• Recommended for high-throughput read workloads
• Per instance configuration for all volumes
• Default is 128 KiB (32 pages) for Amazon Linux
• Increased memory consumption per volume
3.10 – 4.5:
kernel /boot/vmlinuz-4.4.5-15.26.amzn1.x86_64 root=LABEL=/ console=ttyS0 xen_blkfront.max=256
4.6+:
kernel /boot/vmlinuz-4.9.20-11.31.amzn1.x86_64 root=LABEL=/ console=ttyS0
xen_blkfront.max_indirect_segments=256
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSPerformance.html
How do I monitor my burst balance?
VolumeWriteOpsBurstBalance
900,000
write IOs
over 5 min =
3000 IOPS
450,000
write IOs
over 5 min =
1500 IOPS
One Hour
What is an EBS-optimized instance?
EBS
volume
Availability Zone
AWS Region
EBS-optimized
EC2 instance
What is an EBS-optimized instance?
EC2 instances
InternetDatabases
c3.2xlarge
~ 125 MiB/s
Shared
S3
EBS
What is an EBS-optimized instance?
c3.2xlarge
~ 125 MiB/s
Shared
~ 125 MiB/s
Dedicated
EBS
EC2 instances
InternetDatabases
S3
What is an EBS-optimized instance?
More details:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html
• Dedicated network bandwidth for EBS I/O
• Enabled by default on c4, d2, m4, r4, p2, and x1 instances
• Can be enabled at instance launch or on a running instance
• Not an option on some 10 Gbps instance types
• (c3.8xlarge, r3.8xlarge, i2.8xlarge)
Performance: EBS-optimized
c4.large
Dedicated to EBS
500 Mbps ~ 62.5 MiB/s
2 TiB GP2 volume:
6,000 IOPS
160 MiB/s max throughput
4,000 16K IOPS
c4.2xlarge
Dedicated to EBS
1 Gbps ~ 125 MiB/s
8,000 16K IOPS
2 TiB GP2 volume:
6,000 IOPS
160 MiB/s max throughput
Performance: throughput workload
m4.16xlarge
10Gbps ~ 125MiB/sec
Shared
Dedicated
EBS
EC2 instances
InternetDatabases
S3
EBS-optimized
10 Gbps
~1,250 MiB/s
65,000 16K IOPS
8 TiB ST1
320 MiB/s base
500 MiB/s burst
Performance: throughput workload
m4.16xlarge
10Gbps ~ 125MiB/sec
Shared
Dedicated
EBS
EC2 instances
InternetDatabases
S3
EBS-optimized
10 Gbps
~1,250 MiB/s
65,000 16K IOPS
3 x 8 TiB ST1
960 MiB/s base
1,250 MiB/s burst
EBS EBS
Best practice: RAID
When to RAID?
• Storage requirement > 16 TiB
• Throughput requirement > 500 MiB/s
• IOPS requirement > 20,000 @ 16K
EBS EBS EBS
Best practice: RAID
Avoid RAID for redundancy
• EBS data is already replicated
• RAID1 halves available EBS bandwidth
• RAID5/6 loses 20 – 30% of usable I/O to parity
EBS EBS EBS
EBS volume initialization
New EBS volume? New EBS volume from snapshot?
• Attach and it’s ready to go • Initialize for best performance
• Random read across volume
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-initialize.html
Best practice: EBS volume initialization
$ sudo yum install –y fio
$ sudo fio --filename=/dev/xvdf --rw=randread --bs=128k --iodepth=32 -
-ioengine=libaio --direct=1 --name=volume-initialize
Fio-based example:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-initialize.html
Summary
Use encryption if you
need it
Take snapshots,
tag snapshots
Select the right
instance for your
workload
Select the right
volume for your
workload
Thank You!

Weitere ähnliche Inhalte

Was ist angesagt?

AWS Summit Milan - Opening Keynote
AWS Summit Milan - Opening KeynoteAWS Summit Milan - Opening Keynote
AWS Summit Milan - Opening Keynote
Amazon Web Services
 

Was ist angesagt? (20)

Getting Started with Amazon EC2 and AWS Compute Services
Getting Started with Amazon EC2 and AWS Compute ServicesGetting Started with Amazon EC2 and AWS Compute Services
Getting Started with Amazon EC2 and AWS Compute Services
 
Media Content Ingest, Storage, and Archiving with AWS (MED301) | AWS re:Inven...
Media Content Ingest, Storage, and Archiving with AWS (MED301) | AWS re:Inven...Media Content Ingest, Storage, and Archiving with AWS (MED301) | AWS re:Inven...
Media Content Ingest, Storage, and Archiving with AWS (MED301) | AWS re:Inven...
 
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 ...
 
(STG402) Amazon EBS Deep Dive
(STG402) Amazon EBS Deep Dive(STG402) Amazon EBS Deep Dive
(STG402) Amazon EBS Deep Dive
 
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)
 
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)
 
AWS Summit Milan - Opening Keynote
AWS Summit Milan - Opening KeynoteAWS Summit Milan - Opening Keynote
AWS Summit Milan - Opening Keynote
 
How to Scale to Millions of Users with AWS
How to Scale to Millions of Users with AWSHow to Scale to Millions of Users with AWS
How to Scale to Millions of Users with AWS
 
Backing up Amazon EC2 with Amazon EBS Snapshots - June 2017 AWS Online Tech T...
Backing up Amazon EC2 with Amazon EBS Snapshots - June 2017 AWS Online Tech T...Backing up Amazon EC2 with Amazon EBS Snapshots - June 2017 AWS Online Tech T...
Backing up Amazon EC2 with Amazon EBS Snapshots - June 2017 AWS Online Tech T...
 
Deploying a Disaster Recovery Site on AWS: Minimal Cost with Maximum Efficiency
Deploying a Disaster Recovery Site on AWS: Minimal Cost with Maximum EfficiencyDeploying a Disaster Recovery Site on AWS: Minimal Cost with Maximum Efficiency
Deploying a Disaster Recovery Site on AWS: Minimal Cost with Maximum Efficiency
 
Tech Summit & AWS introduction
Tech Summit & AWS introductionTech Summit & AWS introduction
Tech Summit & AWS introduction
 
Getting started with amazon aurora - Toronto
Getting started with amazon aurora - TorontoGetting started with amazon aurora - Toronto
Getting started with amazon aurora - Toronto
 
AWS re:Invent 2016: How to Scale and Operate Elasticsearch on AWS (DEV307)
AWS re:Invent 2016: How to Scale and Operate Elasticsearch on AWS (DEV307)AWS re:Invent 2016: How to Scale and Operate Elasticsearch on AWS (DEV307)
AWS re:Invent 2016: How to Scale and Operate Elasticsearch on AWS (DEV307)
 
Deep Dive on Amazon EBS Elastic Volumes - March 2017 AWS Online Tech Talks
Deep Dive on Amazon EBS Elastic Volumes - March 2017 AWS Online Tech TalksDeep Dive on Amazon EBS Elastic Volumes - March 2017 AWS Online Tech Talks
Deep Dive on Amazon EBS Elastic Volumes - March 2017 AWS Online Tech Talks
 
AWS Webcast - Introduction to EBS
AWS Webcast - Introduction to EBS AWS Webcast - Introduction to EBS
AWS Webcast - Introduction to EBS
 
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
 
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 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
 
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
 
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
 

Ähnlich wie SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)

Ähnlich wie SRV413 Deep Dive on Elastic Block Storage (Amazon EBS) (20)

AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법
AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법
AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법
 
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
 
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
 
Maximizing Amazon EC2 and Amazon EBS performance
Maximizing Amazon EC2 and Amazon EBS performanceMaximizing Amazon EC2 and Amazon EBS performance
Maximizing Amazon EC2 and Amazon EBS performance
 
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
 
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...
 
Tech Talks On Site- Edição de Agosto- Armazenamento em AWS
Tech Talks On Site- Edição de Agosto- Armazenamento em AWSTech Talks On Site- Edição de Agosto- Armazenamento em AWS
Tech Talks On Site- Edição de Agosto- Armazenamento em AWS
 
(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
 
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
 
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
 
(STG403) Amazon EBS: Designing for Performance
(STG403) Amazon EBS: Designing for Performance(STG403) Amazon EBS: Designing for Performance
(STG403) Amazon EBS: Designing for Performance
 
Deep Dive - Maximising EC2 & EBS Performance
Deep Dive - Maximising EC2 & EBS PerformanceDeep Dive - Maximising EC2 & EBS Performance
Deep Dive - Maximising EC2 & EBS Performance
 
AWS - an introduction to bursting (GP2 - T2)
AWS - an introduction to bursting (GP2 - T2)AWS - an introduction to bursting (GP2 - T2)
AWS - an introduction to bursting (GP2 - T2)
 
STG306_Deep Dive on Amazon EBS
STG306_Deep Dive on Amazon EBSSTG306_Deep Dive on Amazon EBS
STG306_Deep Dive on Amazon EBS
 
CMP310_Deep Dive on Amazon EBS
CMP310_Deep Dive on Amazon EBSCMP310_Deep Dive on Amazon EBS
CMP310_Deep Dive on Amazon EBS
 
Amazon EBS: Deep Dive
Amazon EBS: Deep DiveAmazon EBS: Deep Dive
Amazon EBS: Deep Dive
 
Maximizing EC2 and Elastic Block Store Disk Performance (STG302) | AWS re:Inv...
Maximizing EC2 and Elastic Block Store Disk Performance (STG302) | AWS re:Inv...Maximizing EC2 and Elastic Block Store Disk Performance (STG302) | AWS re:Inv...
Maximizing EC2 and Elastic Block Store Disk Performance (STG302) | AWS re:Inv...
 
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)
 

Mehr von 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 AWS
Amazon 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 Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon 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
 

Mehr von 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
 

Kürzlich hochgeladen

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Marc Olson, Principal Software Engineer, AWS July 27, 2017 Deep Dive on Elastic Block Store (Amazon EBS) SRV413
  • 2. The AWS Storage Portfolio Cloud Data Migration AWS Direct Connect AWS Snow* data transport family 3rd Party Connectors Transfer Acceleration AWS Storage Gateway Amazon Kinesis Firehose Object Amazon GlacierAmazon S3 Block Amazon EBS (persistent) Amazon EC2 Instance Store (ephemeral) File Amazon EFS
  • 3. AWS block storage offerings
  • 5. What is Amazon EC2 instance store? EC2 instances • Local to instance • Non-persistent data store • Data not replicated (by default) • No snapshot support • SSD or HDD Physical Host Instance Store or
  • 7. What is EBS? EBS volume EC2 instance • Block storage as a service • Create, attach volumes through an API • Service accessed over the network
  • 10. What is EBS? EC2 instance EC2 instance • Volumes persist independent of EC2 • Select storage and compute based on your workload • Detach and attach between instances within the same Availability Zone Availability Zone AWS Region EBS volume
  • 11. What is EBS? EC2 instance • Volumes attach to one instance at a time • Many volumes can attach to an instance • Separate boot volume from data volumes EBS volume (boot) EBS volume (data) EBS volume (data) Availability Zone AWS Region
  • 12. What is EBS? EBS volume Availability Zone AWS Region Replica
  • 14. EBS volume types Hard disk drives (HDD)Solid-state drives (SSD)
  • 15. EBS volume types HDDSSD Provisioned IOPS SSD io1 General Purpose SSD gp2 Throughput Optimized HDD st1 sc1 Cold HDD
  • 16. or Choosing an EBS volume type What is more important to your workload? IOPS Throughput?
  • 17. i3 gp2 Choosing an EBS volume type Latency? < 1 ms Single-digit ms Which is more important? Cost Performance IOPS ≤ 75,000> 75,000 is more important
  • 18. EBS volume types: General Purpose SSD gp2 Throughput: 160 MiB/s Latency: Single-digit ms Capacity: 1 GiB to 16 TiB Baseline: 100 - 10,000 IOPS; 3 IOPS per GiB Burst: 3,000 IOPS (for volumes up to 1,000 GiB) Great for boot volumes, low-latency applications, and bursty databases General Purpose SSD
  • 19. Burst & baseline: General Purpose SSD (gp2)IOPS 0 1 16 1,000 2,000 3,000 8,000 10,000 BASELINE IOPS (Baseline Linearly Scales at 3 IOPS/GiB) Burstable to 3,000 IOPS 3 90.5 Volume size (TiB) 3,334 GiB 100 IOPS Minimum 300 GiB volume
  • 20. Burst bucket: General Purpose SSD (gp2) Max I/O credit per bucket is 5.4M You can spend up to 3000 credits per second Baseline performance = 3 IOPS per GiB or 100 IOPS Always accumulating 3 IOPS per GiB per second gp2
  • 21. How long can I burst on gp2? 0 150 300 450 600 750 1 8 30 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 MinutesofBurst Volume size in GB 43 min 300 GiB 1 hour 500 GiB 10 hours 950 GiB
  • 22. i3 gp2 io1 Choosing an EBS volume type Latency? < 1 ms Single-digit ms Which is more important? Cost Performance IOPS ≤ 75,000> 75,000 is more important
  • 23. EBS volume types: I/O Provisioned Provisioned IOPS SSD io1 Baseline: 100 to 20,000 IOPS Throughput: 320 MiB/s Latency: Single-digit ms Capacity: 4 GiB to 16 TiB Ideal for critical applications and databases with sustained IOPS
  • 24. Scaling Provisioned IOPS SSD (io1)IOPS 0 2 16 1,000 5,000 10,000 15,000 20,000 6 90.4 MAX PROVISIONED IOPS (Maximum IOPS:GB ratio of 50:1) Available Provisioned IOPS Volume Size (TiB) ~ 400 GiB
  • 25. gp2 io1 Choosing an EBS volume type Latency? < 1 ms Single-digit ms Which is more important? PerformanceCost IOPS ≤ 75,000> 75,000 is more important Throughput? i3
  • 26. Throughput is more important Small, random I/O Large, sequential I/O gp2 io1 st1 d2 Choosing an EBS volume type Latency? < 1 ms Single-digit ms ≤ 1,750 MiB/s Aggregate throughput? > 1,750 MiB/s Which is more important? Cost Performance IOPS ≤ 75,000> 75,000 is more important Which is more important? Cost Performance i3
  • 27. EBS volume types: Throughput Provisioned st1 Baseline: 40 MiB/s per TiB up to 500 MiB/s Capacity: 500 GiB to 16 TiB Burst: 250 MiB/s per TiB up to 500 MiB/s Ideal for large-block, high-throughput sequential workloads
  • 28. Throughput Optimized HDD – burst and base 0 125 250 375 500 625 0.5 1 2 4 6 8 10 12 14 16 ThroughputinMiB/s Volume Size in TiB Burst Base 320 ST1
  • 29. Burst bucket: Throughput Optimized HDD (st1) Max I/O bucket credit is 1 TiB of credit per TiB in volume You can spend up to 500 MiB/s per TiB Baseline performance = 40 MiB/s per TiB Always accumulating 40 MiB/s per TiB st1
  • 30. Up to 8 TiB in I/O credit Always accumulating 320 MiB/s You can spend up to 500 MiB/s Burst bucket: example 8 TiB st1 volume Baseline performance = 320 MiB/s st1
  • 31. Throughput is more important Small, random I/O Large, sequential I/O Which is more important? Latency? i2 gp2 io1 sc1 st1 d2 Choosing an EBS volume type IOPS ≤ 75,000> 75,000 < 1 ms Single-digit ms ≤ 1,750 MiB/s Aggregate throughput? > 1,750 MiB/s is more important Cost Performance Which is more important? Cost Performance
  • 32. sc1 EBS volume types: Throughput Provisioned Baseline: 12 MiB/s per TB up to 192 MiB/s Capacity: 500 GiB to 16 TiB Burst: 80 MiB/s per TB up to 250 MiB/s Ideal for sequential throughput workloads, such as logging and backup Cold HDD
  • 33. Cold HDD – burst and base 0 75 150 225 300 0.5 1 2 4 6 8 10 12 14 16 ThroughputinMiB/s Volume size in TiB Burst Base 192 SC1
  • 34. Burst bucket: Cold HDD (sc1) Max I/O bucket credit is 1 TiB of credit per TiB in volume You can spend up to 250 MiB/s per TiB Baseline performance = 12 MiB/s per TiB Always accumulating 12 MiB/s per TiB sc1
  • 35. Throughput is more important Small, random I/O Large, sequential I/O Which is more important? Latency? i3 gp2 io1 sc1 st1 d2 Choosing an EBS volume type IOPS ≤ 75,000> 75,000 < 1 ms Single-digit ms ≤ 1,250 MiB/s Aggregate throughput? > 1,250 MiB/s is more important Cost Performance Which is more important? Cost Performance
  • 36. Don’t know Choosing an EBS volume type your workload yet?
  • 37. Baseline: 100 - 10,000 IOPS; 3 IOPS per GiB EBS volume types: General Purpose SSD gp2 Throughput: 160MiB/s Latency: Single-digit ms Capacity: 1 GiB to 16 TiB Burst: 3,000 IOPS (for volumes up to 1 TiB) Great for boot volumes, low-latency applications, and bursty databases General Purpose SSD
  • 38. I/O Provisioned Volumes Throughput Provisioned Volumes sc1st1io1gp2 $0.10 per GiB $0.125 per GiB $0.065 per PIOPS * All prices are per month, prorated to the hour and from the us-west-2 Region as of April 2017 $0.045 per GiB $0.025 per GiB Snapshot storage for all volume types is $0.05 per GiB per month
  • 39. Hybrid volume use cases c4 gp2 st1 Case Study: Librato’s Experience Running Cassandra Using Amazon EBS Data files Commit log i2
  • 41. Elastic Volumes – Features Increase volume size Change volume type Increase / decrease provisioned IOPS
  • 43. Elastic Volumes – supported volume types Provisioned IOPS SSD Throughput Optimized HDD Cold HDD io1 st1 sc1 General Purpose SSD gp2
  • 47. Change Volume Type AND Increase Size? gp2 sc1io1 st1 gp2 sc1io1 st1
  • 48. Elastic Volumes - Considerations Volume modifications must be valid for the target volume type 1 GiB – 16 TiB 4 GiB – 16 TiB <50 IOPS / GiB 500 GiB – 16 TiB 500 GiB – 16 TiB st1 sc1gp2 io1 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/considerations.html
  • 49. Considerations Volume modifications must be valid for the target volume type example 400 GiB st1 ? 400 GiB gp2
  • 50. EBS volume types: Throughput Provisioned Throughput Optimized HDD st1 Baseline: 40 MiB/s per TiB up to 500 MiB/s Capacity: 500 GiB to 16 TiB Burst: 250 MiB/s per TiB up to 500 MiB/s Ideal for large-block, high-throughput sequential workloads
  • 51. Considerations Volume modifications must be valid for the target volume type example 400 GiB 500 GiB st1 gp2
  • 52. Elastic Volumes - Automation Ideas Amazon CloudWatchElastic Volumes
  • 53. Elastic Volumes - Automation Ideas • Use a CloudWatch alarm to watch for a volume that is running at or near its IOPS limit. Amazon CloudWatch Right-sizing: • Initiate workflow and approval process to provision additional IOPS • Publish a “free space” metric to CloudWatch and use a similar approval process to resize the volume and the filesystem.
  • 54. Elastic Volumes - Automation Ideas • Use metrics or schedules to reduce IOPS or to change the type of a volume Amazon CloudWatch Cost Reduction: https://github.com/awslabs/aws-elastic-volumes
  • 55. Hybrid volume use cases gp2 st1 Case Study: How Videology and Zendesk Modernized Their Big Data Platforms on Amazon EBS Hot data 0–7 Days Warm data 8–30 days sc1 Cold data 31–60 days Tiered Elasticsearch data:
  • 58. What is EBS encryption? Encryption • Attach both encrypted and unencrypted • No volume performance impact • Any current generation instance • Supported by all EBS volume types • Snapshots also encrypted • No extra cost • Boot and data volumes can be encrypted
  • 59. Best practice: Encryption EBS encryption: data volumes
  • 60. Best practice: Encryption Create a new AWS KMS master key for EBS • Define key rotation policy • Enable AWS CloudTrail auditing • Control who can use key • Control who can administer key
  • 61. Best practice: Encryption EBS encryption: data volumes
  • 63. EBS is designed for: What is EBS? 99.999% service availability 0.1% to 0.2% annual failure rate (AFR)
  • 64. What is an EBS snapshot? EBS volume Availability Zone AWS Region Amazon S3 Availability Zone Replica EBS snapshot
  • 65. How does an EBS snapshot work? • Point-in-time backup of modified volume blocks • Stored in S3, accessed via EBS APIs • Subsequent snapshots are incremental • Deleting snapshot will only remove data exclusive to that snapshot EBS volume EBS snapshot
  • 66. Creating an EBS snapshot { "Description": "Summit Snapshot", "Encrypted": true, "VolumeId": "vol-0f8e54c9346aca182", "State": "pending", "VolumeSize": 8, "Progress": "", "StartTime": "2017-04-08T03:47:05.000Z", "SnapshotId": "snap-039cc569ea4cb40f6", "OwnerId": "...." } [ec2-user@summit ~]$ [ec2-user@summit ~]$ aws ec2 create-snapshot --volume-id vol-0f8e54c9346aca182 --description "Summit Snapshot"
  • 67. Best practice: taking snapshots from Linux Quiesce I/O 1. Database: FLUSH and LOCK tables 2. Filesystem: sync and fsfreeze 3. EBS: snapshot all volumes 4. When CreateSnapshot API returns success, it is safe to resume
  • 68. Best practice: taking snapshots from Windows 1. sync equivalent available 2. Use Volume Shadow Copy Service (VSS) - aware utilities for backups 3. EBS: backups on dedicated volume for snapshots
  • 69. EBS boot volume Windows EC2 instance EBS backup volume Windows Server Backup EBS snapshot Best practice: taking snapshots from Windows EBS data volume
  • 70. Hybrid volume use cases st1 Case study: https://aws.amazon.com/solutions/case-studies/infor-ebs/ Transaction logs “We’ve seen much stronger performance for our database backup workloads with the Amazon EBS ST1 volumes, and we’re also saving 75 percent on our monthly backup costs.” Randy Young, Director of Cloud Operations, Infor i2 st1 Full backups st1 Partial backups SQL Server Database EBS snapshots
  • 71. Tracking snapshots and costs (tagging) • Custom tags provide the ability to assign key / value pairs to AWS resources • EBS snapshots supports custom tags for identification and management • Tags assigned to EBS snapshots can be activated as “cost allocation” tags. Allows for greater visibility into snapshot storage costs EBS snapshots Development EBS volume Key = usage Value = dev Key = usage Value = dev EBS snapshots Production EBS volume Key = usage Value = backup Key = usage Value = backup
  • 72. Tracking snapshots and costs (tagging) • Tags can be added to an existing snapshot using: • AWS console • API call: • CLI command: aws ec2 create-tags --resources snap-06d43f58bce0f49d9 --tags Key=usage,Value=dev CreateTags Key = usage Value = dev
  • 73. Tracking snapshots and costs (Cost Explorer) • First, activate customer tag for cost allocation • Generate reports with ….. • View usage and costs broken down by “usage” tag value (example : metrics, dev, backup)
  • 74. What can you do with a snapshot? EBS volume Availability Zone AWS Region Amazon S3 EBS snapshot Availability Zone EBS volume Replica Replica
  • 75. What can you do with a snapshot? EBS volume Availability Zone AWS Region Amazon S3 EBS snapshot EBS volume Availability Zone AWS Region EBS snapshot Replica Replica
  • 76. What can you do with a snapshot? AWS Region Public datasets on AWS available as EBS snapshots: https://aws.amazon.com/public-data-sets/ • Genomic • Census • Global weather • Transportation
  • 77. Best practice: Automate snapshots Key ingredients: AWS Lambda Amazon EC2 Run Command Tagging https://aws.amazon.com/ec2/run-command/
  • 78. Best practice: Automate snapshots Lambda scheduled event: daily snapshots EC2 Backup Retention 30 days Search for instances tagged “Backup” Use EC2 Run Command to quiesce file system Snapshot attached volumes Tag snapshots with expire date 1. 2. 3. 4. instances
  • 79. Best practice: Automate snapshot expiration Lambda scheduled event: daily expire Search for snapshots tagged to “Expire On” today Delete expired snapshots 1. 2. EBS snapshots Backup ExpireOn Date
  • 81. What about EC2 instance failure? AWS Region EBS volume EC2 instance Replica Availability Zone
  • 82. What about EC2 instance failure? AWS Region EBS volume New EC2 instance Replica Availability Zone
  • 83. EBS enables EC2 auto recovery RECOVER Instance Instance ID Instance metadata Private IP addresses Elastic IP addresses EBS volume attachments Instance retains: * Supported on C3, C4, M3, M4, P2, R3, R4, T2, and X1 instance types with EBS-only storage StatusCheckFailed_System Amazon CloudWatch per-instance metric alarm: When alarm triggers? https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html
  • 84. What about EC2 instance termination? Availability Zone EC2 instance AWS Region EBS volume Replica DeleteOnTermination = False
  • 85. What about EC2 instance termination? Availability Zone EC2 instance AWS Region EBS volume Replica DeleteOnTermination = True
  • 87. How do we count I/Os for GP2 and IO1? When possible, we logically merge sequential I/Os (up to 256 KiB in size) ...To minimize I/O charges on IO1 and maximize burst on GP2
  • 88. How do we count I/Os for GP2 and IO1? Example 1: Random I/Os • 4 random I/Os (i.e., non sequential I/Os) • Each I/O 64 KiB Up to 256 KiB EC2 instance EBS Counted as 4 I/Os
  • 89. How do we count I/Os for GP2 and IO1? Example 2: Sequential I/O • 4 sequential I/Os • Each I/O 64 KiB Up to 256 KiB EC2 instance EBS Counted as 1 I/O
  • 90. How do we count I/Os for GP2 and IO1? Example 3: Large I/O • 1 I/O • 1024 KiB Up to 256 KiB EC2 instance EBS Counted as 4 I/Os
  • 91. How do we count I/Os for ST1 and SC1? • When possible, we merge sequential I/Os (up to 1 MiB in size) • Workloads with primarily large, sequential I/Os perform best on ST1 and SC1 • Examples: Big Data/EMR, Hadoop, Kafka, log processing, data warehouses
  • 92. How do we count I/Os for ST1 and SC1? Example 1: Random I/Os • 4 random I/Os • Each I/O 64 KiB Up to 1024 KiB EC2 instance EBS Counted as 4 I/Os or 4 MiB/s of burst
  • 93. How do we count I/Os for ST1 and SC1? Example 2: Sequential I/O • 4 sequential I/Os • Each I/O 1024 KiB Up to 1024 KiB EC2 instance EBS Counted as 4 I/Os or 4 MiB/s of burst
  • 94. How do we count I/Os for ST1 and SC1? Example 3: Mixed I/O • 2 * 512 KB sequential I/Os • 2 * 64 KB random I/Os • 2 * 128 KB sequential I/Os Up to 1024 KiB EC2 instance EBS Counted as 4 I/Os or 4 MiB/s of burst (but only ~ 1.4 MiB of data transferred)
  • 95. Burst balance for ST1 and SC1 - Sequential 0 25 50 75 100 125 0 1 2 3 4 5 6 7 8 9 10 BurstBalance% Time in Hours 1 MB Sequential 4 TiB ST1 volume 1 MB Sequential: 500 MB/s for 3 hours
  • 96. Burst balance for ST1 and SC1 - Random 0 25 50 75 100 125 0 1 2 3 4 5 6 7 8 9 10 BurstBalance% Time in Hours 16 KB Random 4 TiB ST1 volume 1 MiB Sequential: 500 MB/s for 3 hours 16 KiB Random: 8 MB/s for 3 hours
  • 97. Burst balance for ST1 and SC1 4 TiB ST1 Volume5,400 GiB 87 GiB 0 1500 3000 4500 6000 Data Transferred in GiB Data Transfer Comparison: Sequential vs. Random 1 MiB Sequential 16 KiB Random 1 MiB Sequential: 5.4 TiB transferred 16 KiB Random: 87 GiB transferred
  • 98. 2046 sectors x 512 bytes/sector = ~1024 KiB $ iostat –xm Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util xvdf 0.00 0.20 0.00 523.40 0.00 523.00 2046.44 3.99 7.62 1.61 100.00 Verify workload I/O patterns iostat for Linux perfmon for Windows
  • 99. 128 KiB Verify ST1 & SC1 workloads Amazon CloudWatch console
  • 100. Under 64 KiB? Verify ST1 & SC1 workloads Small or random IOPS likely Amazon CloudWatch console
  • 101. Stuck around 44 KiB? Verify ST1 & SC1 workloads Amazon CloudWatch console
  • 102. ST1 & SC1: Linux performance tuning Increase read-ahead buffer: • Recommended for high-throughput read workloads • Per volume configuration • Default is 128 KiB (256 sectors) for Amazon Linux • Smaller or random I/O will degrade performance For example: $ sudo blockdev –setra 2048 /dev/xvdf https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSPerformance.html
  • 103. ST1 & SC1: Linux performance tuning Increase maximum I/O size: • Recommended for high-throughput read workloads • Per instance configuration for all volumes • Default is 128 KiB (32 pages) for Amazon Linux • Increased memory consumption per volume 3.10 – 4.5: kernel /boot/vmlinuz-4.4.5-15.26.amzn1.x86_64 root=LABEL=/ console=ttyS0 xen_blkfront.max=256 4.6+: kernel /boot/vmlinuz-4.9.20-11.31.amzn1.x86_64 root=LABEL=/ console=ttyS0 xen_blkfront.max_indirect_segments=256 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSPerformance.html
  • 104. How do I monitor my burst balance? VolumeWriteOpsBurstBalance 900,000 write IOs over 5 min = 3000 IOPS 450,000 write IOs over 5 min = 1500 IOPS One Hour
  • 105. What is an EBS-optimized instance? EBS volume Availability Zone AWS Region EBS-optimized EC2 instance
  • 106. What is an EBS-optimized instance? EC2 instances InternetDatabases c3.2xlarge ~ 125 MiB/s Shared S3 EBS
  • 107. What is an EBS-optimized instance? c3.2xlarge ~ 125 MiB/s Shared ~ 125 MiB/s Dedicated EBS EC2 instances InternetDatabases S3
  • 108. What is an EBS-optimized instance? More details: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html • Dedicated network bandwidth for EBS I/O • Enabled by default on c4, d2, m4, r4, p2, and x1 instances • Can be enabled at instance launch or on a running instance • Not an option on some 10 Gbps instance types • (c3.8xlarge, r3.8xlarge, i2.8xlarge)
  • 109. Performance: EBS-optimized c4.large Dedicated to EBS 500 Mbps ~ 62.5 MiB/s 2 TiB GP2 volume: 6,000 IOPS 160 MiB/s max throughput 4,000 16K IOPS c4.2xlarge Dedicated to EBS 1 Gbps ~ 125 MiB/s 8,000 16K IOPS 2 TiB GP2 volume: 6,000 IOPS 160 MiB/s max throughput
  • 110. Performance: throughput workload m4.16xlarge 10Gbps ~ 125MiB/sec Shared Dedicated EBS EC2 instances InternetDatabases S3 EBS-optimized 10 Gbps ~1,250 MiB/s 65,000 16K IOPS 8 TiB ST1 320 MiB/s base 500 MiB/s burst
  • 111. Performance: throughput workload m4.16xlarge 10Gbps ~ 125MiB/sec Shared Dedicated EBS EC2 instances InternetDatabases S3 EBS-optimized 10 Gbps ~1,250 MiB/s 65,000 16K IOPS 3 x 8 TiB ST1 960 MiB/s base 1,250 MiB/s burst EBS EBS
  • 112. Best practice: RAID When to RAID? • Storage requirement > 16 TiB • Throughput requirement > 500 MiB/s • IOPS requirement > 20,000 @ 16K EBS EBS EBS
  • 113. Best practice: RAID Avoid RAID for redundancy • EBS data is already replicated • RAID1 halves available EBS bandwidth • RAID5/6 loses 20 – 30% of usable I/O to parity EBS EBS EBS
  • 114. EBS volume initialization New EBS volume? New EBS volume from snapshot? • Attach and it’s ready to go • Initialize for best performance • Random read across volume https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-initialize.html
  • 115. Best practice: EBS volume initialization $ sudo yum install –y fio $ sudo fio --filename=/dev/xvdf --rw=randread --bs=128k --iodepth=32 - -ioengine=libaio --direct=1 --name=volume-initialize Fio-based example: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-initialize.html
  • 116. Summary Use encryption if you need it Take snapshots, tag snapshots Select the right instance for your workload Select the right volume for your workload