Amazon EC2上的持久性存储和其他问题

我来自VPS的土地,所有这些炒作混淆了我。

我已经阅读了过去2天的亚马逊EC2指南,但是我还是有一些我不了解的粗略的观点。

如果我使用EBS支持的Ubuntu AMI,EBS卷的确切位置在哪里? 这是根设备,对吧?

它有多持久? 我有终止保护function,所以我应该担心任何数据丢失? 我可以停止/启动(或发出一个关于SSH的重启/关机命令)的实例,而不用担心数据丢失?

现在我仍然在传统的VPS上运行我的邮件和Web服务器,但是想逐渐迁移到云端。 如果我使用EBS支持的实例,它的function就像VPS一样吗? 如果没有,有什么区别(显然,除了弹性,可扩展性等,只是在function上是我想知道的)

还有一个问题,我注意到了安全组,如果我为一个实例configuration一个安全组,是否意味着我不必担心iptables了?

提前感谢您的耐心。

实例可以有两种types的存储 – EBS和S3支持。 具有S3支持的根设备的实例称为“实例存储”。

S3支持的卷是短暂的 – 他们可以拥有数据,可以写入数据并从数据中读取 – 但是没有任何数据会持续存在 – 只要实例终止,数据就会丢失(原始数据将被重新加载从S3下次启动这样的实例)。

EBS是一个块设备 – 您可以附加多个不同大小的EBS卷。 通常情况下,一个是根卷(除非你用S3支持的实例),其他的将被设置为你想要的任何目的。 您必须提前提供EBS卷 – 所以如果您拥有10GB的卷,并且只使用了1GB,那么您仍然需要支付所有10GB的“预置存储量”。

EBS卷将显示为/ dev下的设备(通常为/ dev / xvda1,/ dev / xvdf等)(并且也被链接到/ dev / sd *)。

您可以在实例之间传送EBS卷(甚至是根EBS卷),但是不能将单个EBS卷一次附加到多个实例。 请记住,EBS卷的性能部分受到实例所具有的networking带宽的限制 – 因此,较小的实例types将在EBS性能方面出现更大的变化

您还可以在RAIDconfiguration中设置多个EBS卷,以提高性能或冗余等。通常,使用EBS快照是保持EBS卷的时间点备份的好方法。

EBS根卷在默认情况下被设置为在终止时被删除(您可以更改) – 当一个实例终止时,卷将被销毁。 您创build并手动添加的EBS卷在终止时不会被删除(默认情况下,您可以更改此设置)。

具有EBS根卷的实例除了被终止外,还可以被停止。 停止状态非常有用 – 例如,它允许您删除根EBS卷,并将其附加到另一个实例(例如,修复防止引导的问题)。

请记住,实例可能会失败 – 终止保护只能防止您意外终止您的实例(实质上,如果您想终止您的实例,它会增加一个额外的步骤)。 如果使用S3支持的实例,当实例失败时,数据将会丢失。

S3支持的实例不能停止(只能终止)。 停止(EBS根)实例,不要失去他们的数据(尽pipeIP地址等可能会改变)。 重启(例如通过SSH)不会影响任何实例(S3或EBS)上的数据。

关于持久性,EBS卷在可用区内复制 – 但是随着大小和自上次快照以来数据量的变化,持久性会下降。 自从上一次EBS快照以来,AWS对于20GB或更less数据修改的年度失败率为0.1-0.5%

一个EBS支持的实例将像VPS一样运行,但是你有一些额外的灵活性(和一些额外的成本 )。

安全组不提供有状态规则 – 只是端口和数据包types。 如果你想要更复杂或dynamic的规则(比如将IP列入黑名单,使用最近的或限制模块等),你仍然需要iptables。 特别是对于像SSH / Email这样的东西,往往会得到大量的不需要的入侵尝试,某种有状态的防火墙可能是明智的。 安全组的优势在于它在实例外部 – 阻塞的数据包不会到达您的实例(与iptables不同) – 这是一个很大的优势 – 您还可以通过组,IP或实例指定权限, ID。

如果我使用EBS支持的Ubuntu AMI,EBS卷的确切位置在哪里? 这是根设备,对吧?

对,您的EBS卷是根设备,通常位于debian / ubuntu服务器中的/ dev / sda1。

它有多持久? 我有终止保护function,所以我应该担心任何数据丢失? 我可以停止/启动(或发出一个关于SSH的重启/关机命令)的实例,而不用担心数据丢失?

这是多余的,你可以“快照”它来备份音量。 终止保护是一个不允许你错误closures实例的设置。 您可以随时启动/停止它,并且您的数据将在那里,只有临时存储的实例在closures时会丢失数据。

现在我仍然在传统的VPS上运行我的邮件和Web服务器,但是想逐渐迁移到云端。 如果我使用EBS支持的实例,它的function就像VPS一样吗? 如果没有,有什么区别(显然,除了弹性,可扩展性等,只是在function上是我想知道的)

您不会注意到任何差异,但您可以使用AWS服务做更多的事情。

还有一个问题,我注意到了安全组,如果我为一个实例configuration一个安全组,是否意味着我不必担心iptables了?

对于基本的使用和实验,我会说只使用安全组是安全的。