Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

STG306_Deep Dive on Amazon EBS

1,288 views

Published on

In this popular session, discover how Amazon EBS can take your application deployments on Amazon EC2 to the next level. Learn about Amazon EBS features and benefits, how to identify applications that are appropriate for use with Amazon EBS, best practices, and details about its performance and volume types. The target audience is storage administrators, application developers, applications owners, and anyone who wants to understand how to optimize performance for Amazon EC2 using the power of Amazon EBS.

STG306_Deep Dive on Amazon EBS

  1. 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Deep Dive on Amazon EBS J o d y G i b n e y , S r . M a n a g e r , P r o d u c t M a n a g e m e n t M a r c O l s o n , P r i n c i p a l S o f t w a r e E n g i n e e r N o v e m b e r 2 8 , 2 0 1 7 STG306
  2. 2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Data movement OnlineOffline Data security and management Complete set of data building blocks Amazon EFS Amazon EBS AWS Snow family AWS Storage Gateway Family AWS Direct Connect Amazon EFS File Sync Amazon S3 Transfer Acceleration Storage Partners Amazon Kinesis Data Streams Amazon Kinesis Video Streams Amazon S3 Amazon Glacier AWS KMS AWS IAM AWS CloudWatch AWS CloudTrail AWS CloudFormation AWS Lambda Amazon Macie AWS QuickSight
  3. 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS block storage offerings EC2 instance store sc1st1 io1gp2 EBS SSD-backed volumes EBS HDD-backed volumes HDDSSD
  4. 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Local to instance • Non-persistent data store • Data not replicated (by default) • No snapshot support • SSD or HDD What is Amazon EC2 instance store? EC2 instances Physical Host Instance Store or
  5. 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Block storage as a service • Create, attach volumes through an API • Service accessed over the network What is EBS? EBS volume EC2 instance
  6. 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Block storage as a service • Create, attach volumes through an API • Service accessed over the network What is EBS? EC2 instance != EBS volume
  7. 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What is EBS? EC2 instance EBS volume
  8. 8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Volumes persist independent of EC2 • Select storage and compute based on your workload • Detach and attach between instances within the same Availability Zone What is EBS? EC2 instance EC2 instance Availability Zone AWS Region EBS volume
  9. 9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Volumes attach to one instance • Many volumes can attach to an instance • Separate boot and data volumes What is EBS? EC2 instance EBS volume (boot) EBS volume (data) EBS volume (data) Availability Zone AWS Region
  10. 10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EBS volume types
  11. 11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EBS volume types Hard disk drives (HDD)Solid-state drives (SSD)
  12. 12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EBS volume types HDDSSD Provisioned IOPS SSD io1 General Purpose SSD gp2 Throughput Optimized HDD st1 sc1 Cold HDD
  13. 13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. or Choosing an EBS volume type What is more important to your workload? IOPS Throughput?
  14. 14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. i3 gp2 Choosing an EBS volume type Latency? < 1 ms Single-digit ms Which is more important? Cost Performance IOPS ≤ 80,000> 80,000 is more important
  15. 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EBS volume types: General Purpose SSD gp2 Throughput: Up to 160 MiB/s Latency: Single-digit ms Capacity: 1 GiB to 16 TiB Baseline: 100 to 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
  16. 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. i3 gp2 io1 Choosing an EBS volume type Latency? < 1 ms Single-digit ms Which is more important? Cost Performance IOPS ≤ 80,000> 80,000 is more important
  17. 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EBS volume types: Provisioned IOPS io1 Baseline: 100 to 20,000 IOPS Throughput: Up to 320 MiB/s Latency: Single-digit ms Capacity: 4 GiB to 16 TiB Ideal for critical applications and databases with sustained IOPS Provisioned IOPS
  18. 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. IOPS 0 2 16 1,000 5,000 10,000 15,000 20,000 6 90.4 Volume Size (TiB) Scaling Provisioned IOPS SSD (io1) MAX PROVISIONED IOPS (Maximum IOPS:GB ratio of 50:1) Available Provisioned IOPS ~ 400 GiB
  19. 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. i3 gp2 io1 Choosing an EBS volume type Latency? < 1 ms Single-digit ms Which is more important? Cost Performance IOPS ≤ 80,000> 80,000 is more important Throughput?
  20. 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Throughput is more important Small, random I/O Large, sequential I/O i3 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 ≤ 80,000> 80,000 is more important Which is more important? Cost Performance
  21. 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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
  22. 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Throughput is more important Small, random I/O Large, sequential I/O i3 gp2 io1 sc1 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 ≤ 80,000> 80,000 is more important Which is more important? Cost Performance
  23. 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. sc1 EBS volume types: Throughput Provisioned Cold HDD 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
  24. 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Throughput is more important Small, random I/O Large, sequential I/O i3 gp2 io1 sc1 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 ≤ 80,000> 80,000 is more important Which is more important? Cost Performance
  25. 25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Don’t know Choosing an EBS volume type your workload yet?
  26. 26. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EBS volume types: General Purpose SSD gp2 Throughput: Up to 160 MiB/s Latency: Single-digit ms Capacity: 1 GiB to 16 TiB Baseline: 100 to 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
  27. 27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Hybrid volume use cases Case study: Running Cassandra on Amazon EBS c4 gp2 st1 Data files Commit log i2
  28. 28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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 second, and from the us-west-2 Region as of November 2017 $0.045 per GiB $0.025 per GiB Snapshot storage for all volume types is $0.05 per GiB per month
  29. 29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EBS Elastic Volumes
  30. 30. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Elastic Volumes: Features Increase volume size Increase/decrease provisioned IOPS Change volume type st1 gp2
  31. 31. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Elastic Volumes: Overview Production database instance Network link IO IO IO IO IO IO IO IOIO EBS volume
  32. 32. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How to modify 1. Snapshot volume 2. Modify volume 3. Monitor modification 4. Extend filesystem (if necessary)
  33. 33. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. aws ec2 modify-volume --volume-id vol-05c33eec9820afc20 --size 5000 --volume-type io1 --iops 20000 Step 1: Modify volume Type: gp2 IOPS: 3000 Size: 1 TiB Original volume: Type: io1 IOPS: 20000 Size: 5 TiB Modified volume:
  34. 34. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. aws ec2 describe-volumes-modifications --volume-id vol-05c33eec9820afc20 Step 2: Monitor volume { "VolumesModifications": [ { "TargetSize": 5000, "TargetVolumeType": "io1", "ModificationState": "optimizing", "VolumeId": "vol-05c33eec9820afc20", "TargetIops": 20000, "StartTime": "2017-03-25T20:32:31.717Z", "Progress": 99, "OriginalVolumeType": "gp2", "OriginalIops": 3000, "OriginalSize": 1000 } ] } Type: gp2 IOPS: 3000 Size: 1 TiB Original volume: Type: io1 IOPS: 20000 Size: 5 TiB Modified volume:
  35. 35. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Step 2: Monitor volume (EC2 console)
  36. 36. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Step 2: Monitor volume (EC2 console)
  37. 37. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Determine your file system • Compare block device size to file system disk usage • Extend the file system (if needed) Note: if the drive is partitioned, first grow the partitions [ec2-user ~]$ sudo file –s /dev/xvd* /dev/xvda1: Linux rev 1.0 ext4 filesystem data ... /dev/xvdf: SGI XFS filesystem data ... [ec2-user ~]$ lsblk [ec2-user ~]$ df –h EXT: [ec2-user ~]$ sudo resize2fs device_name XFS: [ec2-user ~]$ sudo xfs_growfs –d mount_point Step 3: Extending the filesystem (Linux)
  38. 38. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Step 3: Extending the filesystem (Windows)
  39. 39. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Step 3: Extending the filesystem (Windows)
  40. 40. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Resize partition with Powershell: Step 3: Extending the filesystem (Windows) https://docs.microsoft.com/en-us/powershell/module/storage/resize-partition?view=win10-ps
  41. 41. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Volume modification tips • Modification must fit within volume specs (1 GiB gp2 != 1 GiB st1) • Can modify volumes once every 6 hours • Current generation instances do not need a stop/start or attach/detach • Volumes created before 11/1/2016 require a stop/start or attach/detach
  42. 42. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Elastic Volumes: Automation ideas Amazon CloudWatchElastic Volumes AWS Lambda
  43. 43. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Elastic Volumes: Automation Ideas • Publish a “free space” metric to CloudWatch and use Lambda + EC2 Systems Manager to resize the volume and the filesystem • Use a CloudWatch alarm to watch for a volume that is running at or near its IOPS limit or exhausting burst balance • Initiate workflow to provision additional IOPS Amazon CloudWatch Right-sizing: https://github.com/awslabs/aws-elastic-volumes
  44. 44. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EBS deep dive
  45. 45. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How do volumes attach?
  46. 46. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EBS volume attachment API AttachVolume CLI aws ec2 attach-volume --instance-id i-0cda3bbe40c6ba495 --volume-id vol-01324f611e2463981 --device /dev/xvdf Console
  47. 47. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. [ec2-user@ip-10-0-69-96 ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 1G 0 disk EBS volume attachment: Xen
  48. 48. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. A day in the life of an I/O: Xen Responses Requests Instance I/O domain READ 8KB @ 1024 Hypervisor EBS volume
  49. 49. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. [ec2-user@ip-10-0-12-183 ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:1 0 1G 0 disk nvme0n1 259:0 0 8G 0 disk ├─nvme0n1p1 259:2 0 8G 0 part / └─nvme0n1p128 259:3 0 1M 0 part [ec2-user@ip-10-0-12-183 ~]$ sudo nvme id-ctrl -v /dev/nvme1n1 | egrep "mn|sn|^00[01]0" sn : vol01324f611e2463981 mn : Amazon Elastic Block Store 0000: 2f 64 65 76 2f 78 76 64 66 20 20 20 20 20 20 20 "/dev/xvdf......." 0010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "................" EBS volume attachment: EC2 Hypervisor
  50. 50. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. [ec2-user@ip-10-0-12-183 ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:1 0 1G 0 disk nvme0n1 259:0 0 8G 0 disk ├─nvme0n1p1 259:2 0 8G 0 part / └─nvme0n1p128 259:3 0 1M 0 part With ec2-utils: [ec2-user@ip-10-0-12-183 ~]$ sudo /sbin/ebsnvme-id /dev/nvme1n1 EBS Volume ID: vol-01324f611e2463981 Block device : /dev/xvdf [ec2-user@ip-10-0-12-183 ~]$ ls -la /dev/xvdf lrwxrwxrwx 1 root root 7 Oct 12 02:55 /dev/xvdf -> nvme1n1 [ec2-user@ip-10-0-12-183 ~]$ ls -la /dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_vol01324f611e2463981-ns-1 lrwxrwxrwx 1 root root 13 Oct 12 02:55 /dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_vol01324f611e2463981-ns-1 -> ../../nvme1n1 EBS volume attachment: EC2 Hypervisor
  51. 51. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. A day in the life of an I/O: EC2 Hypervisor Instance EBS Storage Accelerator READ 8KB @ 1024 Hypervisor EBS volume
  52. 52. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EBS best practices Security
  53. 53. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What is EBS encryption? Encryption • Attach both encrypted and unencrypted • No volume performance impact • Most instance families • Supported by all EBS volume types • Snapshots also encrypted • No extra cost • Boot and data volumes can be encrypted
  54. 54. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Best practice: Encryption EBS encryption: data volumes
  55. 55. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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
  56. 56. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Best practice: Encryption EBS encryption: data volumes
  57. 57. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EBS best practices Security Reliability
  58. 58. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EBS is designed for… 99.999% service availability 0.1% to 0.2% annual failure rate (AFR)
  59. 59. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What is an EBS snapshot? EBS volume Availability Zone AWS Region Amazon S3 Availability Zone EBS snapshot EC2 instance
  60. 60. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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 • Crash consistent EBS volume EBS snapshot
  61. 61. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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
  62. 62. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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
  63. 63. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. New: VSS support via EC2 SSM • Use Policy Generator to create IAM policy for AWS Service “Amazon Simple Service Manager” • Actions: DescribeInstances, CreateTags, and CreateSnapshot • Create Amazon EC2 type IAM role and attach to Windows instances
  64. 64. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. New: VSS support via EC2 SSM • Call the Run Command AWSEC2- CreateVssSnapshot
  65. 65. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. New: VSS support via EC2 SSM • Select the instance • Add description, tags • Can exclude boot volume • Run Command makes the VSS agent flush I/O, freeze • Select the instance • Add description, tags • Can exclude boot volume • Run Command makes the VSS agent flush I/O, freeze • SSM VSS included in Microsoft Windows Server AMI version 2017.11.21 & up
  66. 66. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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
  67. 67. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Tracking snapshots and costs (tagging) • Custom tags provide the ability to assign key/value pairs to AWS resources • EBS snapshots support custom tags for identification and management • EBS snapshot tags can be activated as “cost allocation” tags allowing 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
  68. 68. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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)
  69. 69. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What can you do with a snapshot? EBS volume Availability Zone AWS Region Amazon S3 EBS snapshot Availability Zone EBS volume EC2 instance EC2 instance
  70. 70. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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 EC2 instance EC2 instance
  71. 71. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Best practice: Automate snapshots Key ingredients: AWS Lambda Amazon EC2 Run Command Tagging https://aws.amazon.com/answers/infrastructure-management/ops-automator/
  72. 72. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What about EC2 instance failure? AWS Region EBS volume EC2 instance Availability Zone
  73. 73. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What about EC2 instance failure? AWS Region EBS volume New EC2 instance Availability Zone
  74. 74. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. RECOVER instance Instance ID Instance metadata Private IP addresses Elastic IP addresses EBS volume attachments Instance retains: * Supported on C3, C4, C5, M3, M4, R3, R4, T2, and X1 instance types with EBS-only storage StatusCheckFailed_System Amazon CloudWatch per-instance metric alarm: When alarm triggers? EBS enables EC2 auto recovery
  75. 75. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What about EC2 instance termination? DeleteOnTermination = False AWS Region EBS volume EC2 instance Availability Zone
  76. 76. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What about EC2 instance termination? DeleteOnTermination = True AWS Region EBS volume EC2 instance Availability Zone
  77. 77. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EBS best practices Security Reliability Performance
  78. 78. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How do we count I/O? When possible, we logically merge sequential I/Os ...To minimize I/O charges on io1, and maximize burst on gp2, sc1, and st1 io1 and gp2: up to 256KiB st1 and sc1: up to 1MiB
  79. 79. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How do we count I/O? Example 1: Random I/Os • 4 random I/Os (i.e., non sequential I/Os) • Each I/O 64 KiB EC2 instance EBS Counted as 4 I/Os
  80. 80. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How do we count I/O? Example 2: Sequential I/O • 4 sequential I/Os • Each I/O 64 KiB Up to 256 KiB (SSD) EC2 instance EBS Counted as 1 I/O
  81. 81. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How do we count I/O? Example 2: Sequential I/O • 4 sequential I/Os • Each I/O 64 KiB Up to 1024 KiB (HDD) EC2 instance EBS Counted as 1 I/O
  82. 82. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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
  83. 83. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EC2 instance EBS How do we count I/Os for ST1 and SC1? Example 4: 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 Counted as 4 I/Os or 4 MiB/s of burst(but only ~ 1.4 MiB of data transferred)
  84. 84. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Burst bucket: gp2 Max I/O credit per bucket is 5.4M Burst performance: You can spend up to 3,000 credits per second Baseline performance: Always accumulating 3 IOPS per GiB per second gp2
  85. 85. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Burst and baseline: gp2 BASELINE IOPS (Baseline Linearly Scales at 3 IOPS/GiB) Burstable to 3,000 IOPS IOPS 0 1 16 1,000 2,000 3,000 8,000 10,000 3 90.5 Volume size (TiB) 3,334 GiB 100 IOPS Minimum 300 GiB volume
  86. 86. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 0 150 300 450 600 750 0 100 200 300 400 500 600 700 800 900 MinutesofBurst Volume size in GB How long can I burst on gp2? 43 min 300 GiB 1 hour 500 GiB 10 hours 950 GiB
  87. 87. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Burst bucket: Throughput Max I/O bucket credit is 1 TiB of credit per TiB in volume Burst performance: Spend up to st1: 500 MiB/s sc1: 250 MiB/s Baseline performance: Always accumulating st1: 40MiB/s per TiB sc1: 12MiB/s per TiB st1/sc1
  88. 88. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Burst & baseline: st1 0 125 250 375 500 0 2 4 6 8 10 12 14 16 ThroughputinMiB/s Volume Size in TiB Burst Base 320 st1
  89. 89. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Burst & baseline: sc1 0 75 150 225 300 0 2 4 6 8 10 12 14 16 ThroughputinMiB/s Volume size in TiB Burst Base 192 sc1
  90. 90. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Burst balance for ST1 and SC1 4 TiB ST1 Volume 5,400 GiB 87 GiB 0 1500 3000 4500 6000 Data Transferred in GiB 3 Hour Data Transfer: Sequential vs. Random 1 MiB Sequential 16 KiB Random 1 MiB Sequential: 5.4 TiB transferred 16 KiB Random: 87 GiB transferred
  91. 91. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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
  92. 92. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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
  93. 93. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 128 KiB Verify ST1 & SC1 workloads Amazon CloudWatch console
  94. 94. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Under 64 KiB? Verify ST1 & SC1 workloads Small or random IOPS likely Amazon CloudWatch console
  95. 95. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Stuck around 44 KiB? Verify ST1 & SC1 workloads Amazon CloudWatch console
  96. 96. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Linux performance tuning: st1 & sc1 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
  97. 97. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Linux performance tuning: Xen Increase maximum I/O size: • Recommended for all high-throughput 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
  98. 98. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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 most current generation 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)
  99. 99. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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
  100. 100. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Performance: EBS-optimized burst c5.large Dedicated to EBS 525 Mbps ~ 64 MiB/s 8,000 16K IOPS 2 TiB GP2 volume: 6,000 IOPS 160 MiB/s max throughput c5.large Dedicated to EBS 2250 Mbps ~ 275 MiB/s 2 TiB GP2 volume: 6,000 IOPS 160 MiB/s max throughput 16,000 16K IOPS 30 minutes
  101. 101. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Best practice: RAID When to RAID? • Storage requirement > 16 TiB • Throughput requirement > 500 MiB/s • IOPS requirement > 20,000 @ 16K EBS EBS EBS
  102. 102. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Best practice: RAID Avoid RAID for redundancy • EBS data is already replicated • RAID1 halves available EBS bandwidth • RAID5/6 loses 20% to 30% of usable I/O to parity EBS EBS EBS
  103. 103. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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
  104. 104. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. $ sudo yum install –y fio $ sudo fio --filename=/dev/xvdf --rw=randread --bs=128k --iodepth=32 --ioengine=libaio --direct=1 --name=volume-initialize Best practice: EBS volume initialization Fio-based example: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-initialize.html
  105. 105. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 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
  106. 106. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. For Enterprise Storage Engineers • Learn how to architect and manage highly available solutions on AWS storage services • Advance toward AWS certifications • Help your organization migrate to the cloud faster Online at www.aws.training • Access 100+ new digital training courses including advanced training on storage • Deep Dives on S3, EFS, and EBS • Migrating and Tiering Storage to AWS (Hybrid Solutions) At re:Invent • Visit Hands-on Labs at the Venetian • Attend a proctored “Introduction to EFS” Spotlight Lab on Thursday at 3pm at the Venetian • Meet Storage experts at the Ask the Experts in Hands-on Labs room at the Venetian New Storage Training
  107. 107. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank you!
  108. 108. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. re:Invent EBS Sessions Tuesday, 8:30AM STG316: Learn how to Choose and Optimize Storage for Big Data Analytics Workloads with Special Guest ViaSat Tuesday, 10:45AM CMP310: Deep Dive on Amazon Elastic Block Store Tuesday, 11:30AM DAT333: Chalk Talk: Learn How to Tune and Optimize S3 and EBS for Your Solr and Cassandra Workflows Tuesday, 12:15PM STG330: Case Study: How Experian Leverages Amazon EC2, EBS, and S3 with Cloudera Hadoop for Big Data Tuesday, 1:45PM CMP304: Deep Dive: Backing Up Amazon EC2 with Amazon EBS Snapshots Tuesday, 2:30PM STG329: Case Study: ProtectWise optimizes performance of Cassandra and Kafka workloads with Amazon EBS Tuesday, 7:00PM STG306: Deep Dive on Amazon Elastic Block Store (Amazon EBS) Thursday, 1:45PM DAT330: Case Study: Sprinklr Uses Amazon EBS to Maximize Its NoSQL Deployment Thursday, 4:45PM CMP310-R: [REPEAT] Deep Dive on Amazon Elastic Block Storage (Amazon EBS) Thursday, 4:45PM DAT329: Case Study: Ola Cabs Uses Amazon EBS and Elastic Volumes to Maximize MySQL Deployment Friday, 9:15AM STG318: Case Study: Learn how to Optimize Storage for M&E Workloads, with Special Guest Theory Studios

×