Amazon EBS Volume#
Keywords: AWS, EBS, Elastic Block Storage, Volume
What is EBS Volume#
数据卷灵活配置的虚拟移动硬盘, 可以将任何容量的硬盘, 挂载到任何机器上, 只需要几分钟时间. EBS 通常和 EC2 一起使用.
Volume Type#
SSD (固态硬盘):
EBS General Purpose SSD (gp2): 普通电脑的硬盘
EBS Provisioned IOPS SSD (io1): IO 密集型, 例如数据库应用
HDD (磁碟机硬盘):
Cold HDD (sc1): for large data that is infrequently accessed
Throughput Optimized HDD (st1): IO 密集型, streaming workload,
Reference:
EBS Volume Encryption#
EBS 使用 KMS 进行 Encryption at rest.
只有在创建 Volume 的时候可以启动 Encryption, 创建后无法启动.
只有部分 EC2 Instance Type 可以支持 Encryption (通常是那些高性能的).
由于 RDS 实际上运行在 EC2 上, 也挂载了 EBS, 所以对数据库数据加密的原理, 和对 EBS 加密的原理实际上是一样的.
Following types of data are encrypted:
Data at rest inside the volume
All data moving between the volume and the instance
All snapshots created from the volume
All volumes created from those snapshots
Reference:
Amazon EBS Encryption: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html
Launch EC2 with EBS Volume#
EC2 必定有一个 Root Device. 而 EC2 的启动方式有两种:
instance store-backed instance: 虚拟机启动时跟虚拟机的 image 所在的盘一起启动作为磁盘. 启动了就不能 stop, 只能 terminate. 一旦 terminate 或者崩溃, 磁盘上的所有数据丢失. 常用于临时扩容, 无状态的机器, 比如 web 服务器.
amazon ebs-backed instance: 虚拟机启动时, 挂载 EBS 作为磁盘. 启动之后可以 stop. 并且机器本身和数据相互独立, 机器挂掉了数据可以还在. 并且可以挂掉机器, 用另一个机器 + 原来的 ebs 重新启动. 常用于有状态, 长期存在的机器, 比如 cicd 服务器.
如果你用 CloudFormation 启动 EC2, BlockDeviceMapping 这一属性可以控制用哪种方式启动. 具体请参考: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html
EBS-backed 由于更加常用, 并且更加复杂, 我们详细介绍下使用 EBS-backed 的启动方式时, 如何配置 EBS.
Device name 是 EBS 卷在操作系统内的标识符, 这个目录在机器上会被 Linux 系统通过链接的方式拼接到主磁盘. 这与 Linux 的文件系统有关.