对于Amazon EC2上的实例,我不清楚从EBS和实例商店获得了哪些好处。如果有什么区别的话,似乎EBS更有用(停止,启动,坚持+更好的速度),成本差异相对较小…?另外,考虑到EBS仍然相对较新,是否有任何指标可以衡量现在使用EBS的人更多?
当前回答
大多数人选择使用EBS支持的实例,因为它是有状态的。这是更安全的,因为您在其中运行和安装的所有内容都将在停止/停止或任何实例故障中幸存下来。
实例存储是无状态的,在任何实例失败的情况下,您将丢失其中的所有数据。但是,由于实例卷绑定到虚拟机运行的物理服务器上,因此它是免费的,而且速度更快。
其他回答
我在上一份工作中有和埃里克完全一样的经历。现在在我的新工作中,我正在经历我在上一份工作中经历过的同样的过程……为EBS支持的实例重新构建所有AMI——可能是32位机器(更便宜——但不能在32和64机器上使用相同的AMI)。
EBS支持的实例启动足够快,您可以开始使用Amazon AutoScaling API,该API允许您使用CloudWatch指标来触发其他实例的启动,并将它们注册到ELB(弹性负载均衡器),还可以在不再需要时关闭它们。
这种动态自动伸缩就是AWS的意义所在——IT基础设施的真正节省可以发挥作用。用旧的s3“instanceore”支持的实例来实现自动伸缩几乎是不可能的。
EBS就像虚拟机的虚拟磁盘:
持久,由EBS支持的实例可以自由启动和停止(节省资金) 可以在任何时间点进行快照,以获得时间点备份吗 可以从EBS快照创建ami,因此EBS卷成为新系统的模板
实例存储为:
本地的,所以通常比较快 非联网,在正常情况下,EBS I/O是以网络带宽为代价的(EBS优化实例除外,它们具有独立的EBS带宽) 每秒I/O IOPS有限。即使配置的I/O最大IOPS也只有几千 脆弱的。一旦实例停止,就会丢失实例存储中的所有内容。
以下是使用它们的地方:
Use EBS for the backing OS partition and permanent storage (DB data, critical logs, application config) Use instance storage for in-process data, noncritical logs, and transient application state. Example: external sort storage, tempfiles, etc. Instance storage can also be used for performance-critical data, when there's replication between instances (NoSQL DBs, distributed queue/message systems, and DBs with replication) Use S3 for data shared between systems: input dataset and processed results, or for static data used by each system when lauched. Use AMIs for prebaked, launchable servers
大多数人选择使用EBS支持的实例,因为它是有状态的。这是更安全的,因为您在其中运行和安装的所有内容都将在停止/停止或任何实例故障中幸存下来。
实例存储是无状态的,在任何实例失败的情况下,您将丢失其中的所有数据。但是,由于实例卷绑定到虚拟机运行的物理服务器上,因此它是免费的,而且速度更快。
如果您运行多个实例,并将AWS实例的预定服务分配为避免意外收费的优先级之一,我建议不要使用实例存储。
正如EBS文档中解释的那样 卷 j2d3和Siddharth Sharma的答案 实例存储可以运行多长时间就可以运行多长时间,但它不能 停止了。表示服务不能由自动调度程序调度 启动/停止或实例 复苏。
Moreover, for this kind of scheme there is also no benefit to use EBS Backed on Elastic Beanstalk as it is designed to ensure that all the resources you need are keep running. It will always do an automatically relaunches any services that you stop. Reviewing all the rest, out of the total charges on using the VPC, EBS and ELB that added to EC2-Classic, the EC2-VPC with ELB is mostly the best choice where unlike on EC2-Classic, a stopped instance retains its associated Elastic IP addresses and the EBS volume is stored automatically.
作为结论,以你问题的主要部分为例:
似乎EBS更有用(停止,启动,坚持+更好 速度)成本差异相对较小…?
答案是肯定的,但如果您的实例是基于ebs的,则可以停止它。这笔钱会留在您的账户上,不收取任何费用。您将只收取容量,但EBS是按小时收费的。您还可以考虑,在所有可用类型中,您可以灵活地调整EBS卷的大小。
除了Eric已经列出的好处之外,还应该意识到,就成本而言,S3可能比EBS便宜,也可能不便宜。我同意,如果你一直在同一个平台和应用程序的架构中运行这两种类型的实例,成本上的差异相对较小。
然而,如果在一个低成本的服务上运行应用程序,在短时间内(比如每天1小时以内)通过管道或lambda将所有未处理的任务和角色拉到VPC/EBS中,这在使用实例存储时是不可能做到的,那么情况就不同了。
我们喜欢实例存储。它迫使我们使实例完全可回收,并且我们可以轻松地在给定AMI上从头构建服务器的过程自动化。这也意味着我们可以很容易地交换ami。此外,EBS仍然时不时地存在性能问题。
推荐文章
- 如何搜索亚马逊s3桶?
- 拒绝访问;您需要(至少一个)SUPER特权来执行此操作
- 我如何使用通配符“cp”一组文件与AWS CLI
- 我如何获得亚马逊的AWS_ACCESS_KEY_ID ?
- 如何使所有对象在AWS S3桶公共默认?
- 为什么我应该使用亚马逊Kinesis而不是SNS-SQS?
- 如何重命名AWS S3 Bucket
- AWS ECS中的任务和服务之间有什么区别?
- 亚马逊SimpleDB vs亚马逊DynamoDB
- 亚马逊ECS和亚马逊EC2有什么区别?
- 我如何知道我在S3桶中存储了多少对象?
- S3 Bucket操作不应用于任何资源
- 将AWS凭证传递给Docker容器的最佳方法是什么?
- 当权限为S3时,AccessDenied for ListObjects for S3 bucket:*
- 电子邮件地址未验证(AWS SES)