我写这篇文章是因为我对负责拍摄 EBS 快照的机制感到非常困惑。
首先,据我了解“备份”和“快照”之间的区别 - 备份是卷块一对一的完整副本,其中快照是“增量”方法,其中仅复制更改的块,对吧?
如果这个定义是正确的,那么我可以假设拍摄 EBS 快照应该称为备份 - 因为我们通常会完整复制特定 EBS 所构建的所有块。
在AWS网站上的几乎每个文档中,我都可以读到EBS快照是增量拍摄的(第一个快照已满,然后仅与之前的“状态”之间存在差异)。但在我在 AWS 控制台上进行了小练习之后,我无法看到它的实际效果。
我对我的 EBS 卷 (50GB) 做了快照,快照的大小正好是 50GB。我又做了一个快照——大小同样是 50GB。这让我难以置信的困惑:///
在使用 Route 53 恢复应用程序控制器创建资源集时,我需要 EBS 卷 ARN 来指定它。但EBS卷没有这个属性。
以下是 EBS 卷的示例描述:
在:
aws ec2 describe-volumes --volume-ids vol-03303bf453f8d7ee5
Run Code Online (Sandbox Code Playgroud)
出去:
{
"Volumes": [
{
"Attachments": [],
"AvailabilityZone": "ap-southeast-1a",
"CreateTime": "2021-11-03T15:43:40.087000+00:00",
"Encrypted": false,
"Size": 1,
"SnapshotId": "",
"State": "available",
"VolumeId": "vol-03303bf453f8d7ee5",
"Iops": 100,
"VolumeType": "gp2",
"MultiAttachEnabled": false
}
]
}
Run Code Online (Sandbox Code Playgroud) 如果您使用 EC2 并启动实例,则可以添加 EBS 卷。所以一个存储选项。然而,我仍然不明白到底是为什么。为什么 EC2 需要 EBS 或实例存储这样的存储选项?EC2到底存储了什么?为什么 EBS 有意义?
我知道EBS卷是持久性块存储,与实例存储不同,退出后数据不会丢失。我只是不太明白EBS有什么用。EBS 用于哪些案例和应用?或者,使用 EBS 是否与创建快照有更多关系,您可以创建快照来缓存数据,然后将其保存到 S3?
我已经读了很多书并试图以某种方式使其易于理解,但不知何故我无法在这里进一步了解。如果有人能为我阐明这一点,我会非常高兴。已经谢谢你了!
我将 Auto Scaling 与负载均衡器结合使用,并附加了 2 个 EBS 卷。
现在,每当实例终止时,它都会存储 EBS 卷的快照。
我浏览了多个链接,但找不到在启动配置启动新实例时如何检索/挂载 EBS 卷。
我可以获取任何参考或 PowerShell 脚本来通过卷列表中的标签名称识别卷并在实例启动时挂载它吗?
我有一个现有的 EC2 实例,附加了两个 EBS 卷。我想使用 boto3 将第三个 EBS 卷添加到此 EC2 实例。
这是我的想法:
或者有更简单的方法吗?boto3 中是否有一个函数可用于将新的 EBS 卷添加到现有的 EC2 实例?
我对 AWS 有一些疑问 - MYAMI
我使用 t2 micro 创建了一个 ec2 实例,该实例具有 1GB RAM 英特尔服务器和根卷
然后我从该 ec2 实例创建了一个 Ami 镜像
现在,当尝试从 Ami 启动实例时,它允许从 t2 更改为 t3。
问题:
我的 Ami 已经安装了 t2 操作系统和 1GB 内存,并安装了英特尔服务器。为什么在启动实例时再次要求家族(例如 t3、m4 等)?
如果我升级到 t3,就好像我再次在现有计算机中安装新版本的操作系统。这样我现有机器中的数据就会被删除。
AMI 和 EBS 快照有什么区别?如果上述 1 和 2 条件正确,则看起来相似
我将EBS安装到AWS中支持ecs的实例.
为了使Docker可以看到EBS,必须重新启动docker守护程序.我在用户数据中添加了适当的命令.但我无法从用户数据重新启动ecs-agent docker容器.
以下是我的用户数据:
#!/bin/bash
echo ECS_CLUSTER=MYCLUSTER>> /etc/ecs/ecs.config
mkfs -t ext4 /dev/sdb
mkdir /db/
mount /dev/sdb /db/
service docker stop
service docker start
docker start ecs-agent
Run Code Online (Sandbox Code Playgroud)
在SSH上,我可以看到ecs-agent容器已创建,但它没有运行.当我手动启动容器时,它正在工作.在实例启动期间启动它的正确方法是什么?我的用户数据脚本中缺少什么?
我需要创建一个启动配置,以便在我的自动缩放组中使用.实例应启用EBS并且对Docker可见.
我一直在寻找但没有找到这个简单问题的答案: 一般来说,AWS EBS 比 S3 快多少?
我正在寻找“X 倍快”、“Y 个数量级快”或“某处# 到# 倍,具体取决于特定用例”的范围的一般答案。只要有与它们相关的实际相对性能数字,我什至会接受给出不同用例的答案。
并且请,我不希望这个线程成为我可能尝试的各种其他解决方案(例如,DynamoDB、ElastiCache、RDS 等)或我选择的任何计算解决方案(例如 EC2、Lambda、ECS)强加的限制的架构讨论, 等等)。我也没有发现“你为什么要那样做?” 反问有帮助,无论它们在 StackOverflow 上出现的频率如何。
我只是在寻找“EBS 比 S3 快多少?” 因为我现在对此一无所知,也没有找到可以提供我正在寻找的答案类型的资源。
是的,是的,我知道真正的答案必须是“视情况而定”,因为确定答案比我的问题要微妙得多。
我知道通常 EBS 更快,而快多少取决于各种因素,例如驱动器类型、PIOP、网络速度等,所有这些都与特定用例相关。但在评估系统的设计成本/收益权衡时,肯定有一个通用的经验法则可以帮助在两者之间进行选择。(“不,没有,别再叫我雪莉了。”)
如果您需要知道我为什么要问,假设我只是好奇一般的速度差异是什么,以防万一我想在使用简单数据的廉价网站时在它们之间做出决定存储在 EBS 或 S3 上。(同样,我不是在寻找设计选项)。
谢谢
我尝试使用 cloudformation 将多个 EBS 卷安装到我的 EC2 实例,但由于某种原因,仅安装了我指定的最后一个 EBS 卷。
EG:
NewEC2Instance:
Type: AWS::EC2::Instance
DependsOn: OldSecurityGroup
Properties:
ImageId: !Ref pImageId
InstanceType: !Ref pInstanceType
BlockDeviceMappings:
-
DeviceName: /dev/sda1
Ebs:
VolumeSize: 10
DeviceName: /dev/sdf
Ebs:
VolumeSize: 11
Encrypted: true
DeviceName: /dev/sdg
Ebs:
VolumeSize: 12
Encrypted: true
DeviceName: /dev/sdh
Ebs:
VolumeSize: 100
Encrypted: true
Run Code Online (Sandbox Code Playgroud)
对于上面的代码,仅创建 100Gb /dev/sdh。
我认为 Cloudformation 正在覆盖 EBS 卷。
有人知道为什么吗?请帮忙!
amazon-ec2 amazon-ebs amazon-web-services aws-cloudformation
我正在使用亚马逊aws.我使用默认密钥创建了一个带加密的ebs卷.然后我将它附加到ec2实例并将ebs卷安装在ec2实例文件夹中.现在我在mount文件夹中创建了一个文件(即加密的ebs卷),这个文件会被加密吗?我在文件中输入了一些文本并将其关闭.现在,如果我打开同一个文件,它会显示内容还是会被加密?如果我从其他用户访问此文件该怎么办?
我正在准备 AWS SAA 考试,在回顾各种服务时,我陷入了弹性块存储的概念、它到底存储什么以及它与 AWS RDS 有何不同。让我详细说明一下。
所以根据我的理解,EBS是一种将数据保存在EC2实例上的存储服务。这很简单,但是当我使用 RDS 时,我对块存储上存储的数据类型以及究竟正在快照和备份什么数据感到困惑。这是一个例子。
我是一名 Ruby on Rails 开发人员。我购买了一个 EC2 实例并安装 ruby on Rails、各种 gem、mysql 数据库等。基本上,我需要启动和运行创建社交媒体博客应用程序的一切。所以我认为 EBS 所做的是将用户信息、博客、帖子、评论等保存在 EBS 中作为数据库(无论是带有实例的临时数据库还是带有 ebs 的块)。这对我来说很有意义。用户及其博客、帖子、评论等需要存储在某个地方,如果我以某种方式丢失了我的 ec2 实例,我不应该担心,因为我有包含所有这些信息的 EBS。
现在,我在某个时候切换到 AWS RDS,现在我想知道为什么我还需要 EBS?例如,我的 mySQL rds 数据库有自己的备份和快照,与存储用户数据、博客等的 ec2 实例分开。为什么我现在需要 EBS?我现在还需要它吗?如果我确实需要它,既然我已将用户信息保存在 RDS 中,那么它存储在其中的什么内容是有价值的?如果有人能帮助我理解其中的区别,我将不胜感激。
另外,作为一个额外的问题,我知道 EC2 实例位于 VPC 的公共子网中。此外,我知道根据 AWS,数据库应该位于私有子网上。因此,如果我有一个 linux ec2,然后运行sudo apt-get mysql使用 ruby on Rails 安装数据库,那么该 mysql 数据库不是在我的 ec2 机器上的公共子网中吗?
amazon-ebs ×11
amazon-ec2 ×7
amazon-ecs ×1
amazon-rds ×1
amazon-s3 ×1
boto3 ×1
docker ×1
encryption ×1
performance ×1
powershell ×1
python ×1
snapshot ×1