Dan*_*bio -1 amazon-ebs amazon-web-services amazon-rds
我正在准备 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 机器上的公共子网中吗?
您是否曾经走过百思买之路并购买过USB 外置硬盘?您知道...用于备份或加载电影并发送给朋友的类型。
\n\n好吧,将 Amazon EBS 卷视为该磁盘。它是一个外部磁盘,因此它不在计算机“内部”。您可以将其从一台计算机上拔下,然后插入另一台计算机上。您可以将任何类型的文件加载到其中(Word 文档、PDF、图像、视频)。磁盘本身是哑\xe2\x80\x94,它只是将信息存储在磁盘“块”上。操作系统(Windows、Mac、Linux)知道如何解释信息,以便您可以列出目录、创建文件和读取内容。
\n\n这种类型的存储通常称为块存储,因为磁盘被划分为多个块,并且它只是被告知“将此数据存储在块#433中”。
\n\nAmazon EC2 实例需要磁盘,因为 Windows、Linux 和 Mac 都需要磁盘。操作系统本身存储在磁盘上。当您打开并保存文件时,它们会存储到磁盘中。您无法在没有磁盘的情况下启动 EC2 实例,因为磁盘包含操作系统。
\n\n然而......虽然您可以将数据存储在附加到 EC2 实例的 Amazon EBS 卷上,但这不一定是一个好主意。如果在 EC2 上运行的应用程序将其重要数据存储在实例外部,那就更好了,因为:
\n\n因此,应用程序应将其数据存储在数据库(Amazon RDS、Amazon DynamoDB 等)或对象存储(Amazon S3)等服务中。
\n\n然而,Amazon RDS是一个程序。你与程序通信,它就会做一些事情。在本例中,该程序是一个关系数据库。关系数据库使用SQL来存储和查询数据。数据存储在看起来有点像电子表格 \xe2\x80\x94 的表中,它有行和列,您可以对数据运行查询(例如,给我 Sales 列的总计,其中 Country = New Zealand)。
\n\n但是数据库程序本身在哪里存储数据呢?在磁盘上!事实上,Amazon RDS 将其数据存储在 Amazon EBS 磁盘卷上。数据库程序的工作就是告诉磁盘在哪里存储数据以及在哪里读取数据。数据库程序完成所有智能工作。
\n\n因此,即使您的 EC2 实例将数据存储在 Amazon RDS 而不是本地磁盘中,数据最终还是会存储在 Amazon EBS 磁盘卷上!不同之处在于该磁盘的内容由数据库管理。您无权直接访问该磁盘。
\n\n至于您的子网问题,是的...如果您在公共子网中的 Amazon EC2 实例上安装数据库,则该数据库也在公共子网中。
\n\n公共子网和私有子网是旧时代物理网络的遗留物。路由器用于保护网络 \xe2\x80\x94 的部分内容,它们将安装在“子网”之间,控制哪些流量可以进出子网。这个概念也被延续到了云中。
\n\n然而,云甚至比这种类型的网络更好。AWS 有安全组的概念,它就像每个 EC2 实例上的防火墙,而不仅仅是子网之间的防火墙。安全组允许您控制进出 EC2 实例的流量类型。因此,您实际上可以抛弃公有子网和私有子网的概念,只使用安全组来控制网络流量。然而,网络人士喜欢旧概念及其提供的额外安全级别。因此,他们使用安全组和公共/私有子网来添加额外的安全层。
\n\n所以,是的,您可以将数据库放在公共子网中。您可以使用安全组保护它,它将非常安全。但将其放在私有子网中会增加另一个级别的安全性,当您谈论保护重要数据时,这通常是一个好主意。就像人们在房子前面安装防盗门 \xe2\x80\x94 一样,这是一个额外的安全层,让他们感觉更安全。
\n| 归档时间: |
|
| 查看次数: |
771 次 |
| 最近记录: |