我来自 VPS 之乡,所有这些云计算的炒作让我感到困惑。
过去两天我一直在阅读亚马逊 EC2 指南,但我仍然有几个不理解的地方。
如果我使用 EBS 支持的 ubuntu AMI,那么 EBS 卷到底在哪里?它是根设备,对吗?
它有多持久?我启用了终止保护,所以我应该担心数据丢失吗?我可以停止/启动(或在 ssh 上发出重启/关闭命令)实例而不用担心数据丢失吗?
我现在仍在传统 VPS 上运行我的邮件和 Web 服务器,但想逐渐迁移到云端。如果我使用 EBS 支持的实例,它是否可以像 VPS 一样运行?如果不是,有什么区别(显然,除了弹性、可扩展性等。我只是想知道功能方面)
还有一个问题,我注意到了安全组,如果我为实例配置一个安全组,是否意味着我不再需要担心 iptables?
提前感谢您的耐心。
答案1
实例可以有两种类型的存储 - EBS 和 S3 支持。具有 S3 支持的根设备的实例称为“实例存储”。
S3 支持的卷是短暂的 - 它们可以包含数据,您可以向其中写入数据或从中读取数据 - 但不会保留任何数据 - 一旦实例终止,数据就会丢失(并且原始数据将在下次启动这样的实例时从 S3 重新加载)。
EBS 是一种块设备 - 您可以连接多个不同大小的 EBS 卷。通常,一个是根卷(除非您使用 S3 支持的实例),其他卷将根据您的需要进行设置。您必须提前配置 EBS 卷 - 因此,如果您有一个 10GB 的卷,并且只使用了其中的 1GB,您仍然需要为所有 10GB 的“配置存储”付费。
EBS 卷将显示为 /dev 下的设备 - 通常是 /dev/xvda1、/dev/xvdf 等(并且也符号链接到 /dev/sd*)。
您可以在实例之间传输 EBS 卷(甚至是根 EBS 卷),但您不能一次将单个 EBS 卷附加到多个实例。请记住,EBS 卷的性能部分受实例的网络带宽限制 - 因此较小的实例类型将看到 EBS 性能的更大变化
您还可以在 RAID 配置中设置多个 EBS 卷,以提高性能或实现冗余等。但通常情况下,使用 EBS 快照是保留 EBS 卷的时间点备份的好方法。
默认情况下,EBS 根卷设置为在终止时删除(您可以更改此设置)- 当实例终止时,卷将被销毁。默认情况下,您手动创建和附加的 EBS 卷不会在终止时被删除(同样,您可以更改此设置)。
除了终止之外,具有 EBS 根卷的实例还可以停止。停止状态非常有用 - 例如,它允许您删除根 EBS 卷,并将其附加到另一个实例(例如,修复阻止启动的问题)。
请记住,实例可能会失败 - 终止保护只能防止您意外终止实例(本质上,如果您想终止实例,它会增加一个额外的步骤)。如果您使用 S3 支持的实例,当实例失败时,您的数据将会丢失。
S3 支持的实例无法停止(只能终止)。已停止的(EBS 根)实例不会丢失其数据(尽管 IP 地址等可能会更改)。重新启动(例如通过 SSH)不会影响任何实例(S3 或 EBS)上的数据。
关于持久性,EBS 卷在可用区域内复制 - 但持久性会随着大小和自上次快照以来更改的数据量而降低。AWS 引用“自上次 EBS 快照以来修改的 20GB 或更少数据的年故障率为 0.1-0.5%”
EBS 支持的实例将像 VPS 一样运行,但你有一些额外的灵活性(和一些额外费用)。
安全组不提供状态规则 - 仅提供端口和数据包类型。如果您想要任何更复杂或动态的规则(例如,将 IP 列入黑名单、使用最近或限制模块等),您仍然需要 iptables。特别是对于 SSH/Email 等容易受到大量不必要入侵尝试的东西,某种状态防火墙可能是明智的。安全组的优势在于它位于实例外部 - 被阻止的数据包不会到达您的实例(与 iptables 不同) - 这是一个很大的优势 - 此外,您还可以通过组、IP 或实例 ID 指定权限。
答案2
如果我使用 EBS 支持的 ubuntu AMI,那么 EBS 卷到底在哪里?它是根设备,对吗?
没错,您的 EBS 卷是根设备,通常位于 debian/ubuntu 服务器中的 /dev/sda1。
它有多持久?我启用了终止保护,所以我应该担心数据丢失吗?我可以停止/启动(或在 ssh 上发出重启/关闭命令)实例而不用担心数据丢失吗?
它是冗余的,您可以“快照”它以备份卷。终止保护是一种设置,不允许您错误地关闭实例。您可以随时启动/停止它,您的数据将保留在那里,只有使用临时存储的实例会在您关闭它们时丢失其数据。
我现在仍在传统 VPS 上运行我的邮件和 Web 服务器,但想逐渐迁移到云端。如果我使用 EBS 支持的实例,它是否可以像 VPS 一样运行?如果不是,有什么区别(显然,除了弹性、可扩展性等。我只是想知道功能方面)
您可能不会注意到任何差异,但您可以使用 AWS 服务做更多的事情。
还有一个问题,我注意到了安全组,如果我为实例配置一个安全组,是否意味着我不再需要担心 iptables?
对于基本使用和实验,我认为使用安全组是安全的。