如何将Linux设备备份到Amazon S3

代码42,CrashPlan背后的公司已决定完全放弃家庭用户。他们极具竞争力的价格使他们的备份解决方案成为具有大量备份需求的人们的诱惑。尽管他们未能履行承诺可能会播下不信任的种子,但还有其他云提供商。但是,您对模因档案库信任哪个提供商?

当前在云计算领域处于世界领先地位的是Amazon Web Services(AWS)。 AWS的学习曲线看似陡峭,但实际上很简单。让我们了解一下如何利用世界领先的云平台。

简单存储解决方案

简单存储解决方案(通常称为S3)是亚马逊存储解决方案的庞然大物。一些使用S3的著名公司包括Tumblr,Netflix,SmugMug,当然还有Amazon.com。如果您的下巴仍贴在脸上,则AWS为其标准选项提供99.99999999999%的持久性,并且最大文件大小(任何单个文件)为5 TB(5 TB)。 S3是一个对象存储,这意味着它不是为在其上安装和运行操作系统而设计的,而是非常适合备份的。

层级和定价

是S3最复杂的部分。定价因地区而异,我们的示例使用的是美国(北弗吉尼亚州)地区的当前定价。看看这张表:

S3由四个存储类组成。 标准显然是标准选项。 “不经常访问" 总体上来说,存储数据的价格较低,但是用于进出数据的成本却更高。 减少冗余通常用于丢失时可以重新生成的数据,例如图像缩略图。 冰川用于存储文件,因为它最便宜。但是,您可能需要三到五个小时才能从Glacier检索文件。使用冰川或冷存储器,每千兆字节的成本降低了,但使用成本却增加了。这使得冷库更适合归档和灾难恢复。企业通常利用所有类别的组合来进一步降低成本。

每个类别中最好的部分用蓝色标记。 耐久性是您丢失文件的可能性很小。除了减少冗余之外,在丢失数据之前,亚马逊将不得不在两个数据中心遭受灾难性的损失。基本上,AWS将把您的数据存储在除简化冗余类之外的所有类的所有设施中。 可用性是停机的可能性。其余的将通过示例更容易地演示。

示例用法

我们的用例如下。

我想在S3 Standard上存储十个文件总大小为1 GB(1 GB)。上载文件或放置会导致请求,总费用为0.005美元和0.039美元。这意味着在第一个月内,您总共需要支付大约4.5美分(0.044美元)的费用,而之后要为存放数据而支付的费用不到4美分(0.039美元)。

为什么会有如此复杂的定价结构?这是因为它是按使用量付费的。您永远不会为不用的东西付钱。如果您考虑一家大型公司,这将提供拥有世界一流的存储解决方案的所有优势,同时将成本降至最低。亚马逊还提供了一个简单每月计算器,您可以在这里找到它,以便您可以计划您的每月支出。幸运的是,他们还提供免费套餐,您可以在这里注册,以便您最多可以试用12个月。与任何新事物一样,一旦开始使用它,它就会变得更加舒适和易于理解。

控制台

AWS的免费层允许您试用其所有服务,以一整年。在免费层中,S3为您提供5 GB的存储,20,000个获取和2,000个放置。这应该有足够的呼吸空间来试用AWS并确定其是否符合您的要求。注册AWS可以指导您完成几个步骤。您将需要有效的信用卡或借记卡以及一部电话进行验证。启动管理控制台后,将欢迎您进入AWS仪表板。

快速浏览一下,可能感觉需要接受很多东西,这仅仅是因为有。屏幕快照中注释了您将要访问的主要项目:

  • 服务:令人惊讶的是,您将在这里找到所有的AWS服务。
  • 帐户:以访问您的个人资料和账单。
  • 区域:。这是您正在其中使用的AWS区域。
  • 因为您希望计算机和AWS之间的延迟最小,请选择一个最接近您的区域。有些地区没有所有的AWS服务,但确实会不断推出。对我们来说幸运的是,S3在所有地区都可用!

    S3安全性

    在继续之前,第一件事就是保护您的帐户安全。点击服务>安全性,身份和合规性> IAM 。在此过程中,我们还将向您的计算机授予必要的权限,以便您可以安全地备份和还原。

    这是一个简单的五步过程。您会从屏幕截图中注意到,可以在您的帐户上激活MFA。尽管不需要多因素身份验证(MFA),也称为两因素身份验证(2FA),但强烈建议您这样做。简而言之,它需要您的用户名和密码以及移动设备上的代码的组合。您可以使用兼容的MFA物理设备,也可以使用Google Authenticator之类的应用。前往App Store或Play商店下载Google Authenticator应用。

    使用可选的多重身份验证

    展开在您的根帐户中激活MFA ,然后点击管理MFA 。确保选择了虚拟MFA设备,然后单击下一步

    在设备上打开Goog​​le Authenticator并扫描屏幕上的条形码。在授权代码1 框中输入授权代码,然后等待代码在Google Authenticator中刷新。显示下一个代码大约需要30秒。在Google Authenticator的授权代码2 框中输入新代码。现在,点击激活虚拟MFA 按钮。刷新屏幕后,“激活MFA"将带有绿色的勾。

    您现在应该已经在您的帐户上激活了MFA,并将Google Authenticator链接到了AWS。下次登录AWS控制台时,将照常键入用户名和密码。然后,AWS将提示您输入MFA代码。就像您在上一步中一样,这将从Google Authenticator应用程序中获取。

    组和权限

    是时候确定计算机必须具有的访问级别了AWS。最简单,最安全的方法是为要备份的计算机创建一个 group 和一个 user 。然后授予访问权限或为该组添加权限以仅访问S3。这种方法有很多优点。授予该组的凭证仅限于S3,不能用于访问任何其他AWS服务。此外,不幸的是,如果您的凭证被泄露,您只需要删除该组的访问权限,您的AWS账户就可以安全使用。

    首先创建该组实际上更有意义。为此,请展开创建单个IAM用户,然后点击管理用户。点击左侧面板中的网上论坛,然后点击创建新网上论坛。为您的群组选择一个名称,然后点击下一步。现在,我们将为该组添加权限或政策。您只希望该组有权访问S3,因此通过在过滤器中键入 S3 来过滤列表。确保选择 AmazonS3FullAccess ,然后单击下一步,最后单击创建组

    创建用户

    您现在要做的就是创建一个用户并将其添加到您创建的组中。从左侧面板中选择用户,然后单击添加用户。选择所需的任何用户名,在访问类型下,确保已选择 Programmatic Access ,然后单击下一步:权限。在下一页上,选择您创建的组,然后点击下一步:查看。 AWS将确认您正在将该用户添加到所选组中,并确认已授予权限。单击创建用户进入下一页。

    您现在将看到访问密钥ID 秘密访问密钥。这些是自生成的,仅显示一次。您可以将它们复制并粘贴到安全的位置,或单击下载.csv ,这将下载包含这些详细信息的电子表格。这与您的计算机用来访问S3的用户名和密码等效。

    值得注意的是,您应该以最高的安全级别来对待它们。如果您丢失了秘密访问密钥,则无法取回它。您将需要返回到AWS控制台并生成一个新控制台。

    您的第一个存储桶

    是时候为您的数据创建一个位置了。 S3具有称为存储桶的存储。每个存储桶名称必须是全局唯一的,这意味着创建存储桶时,您将是地球上唯一具有该存储桶名称的存储桶。每个存储桶都可以针对它设置自己的一组配置规则。您可以在存储分区上启用 versioning ,这样它将保留您更新的文件的副本,以便您可以还原到以前的文件版本。还有跨区域复制选项,以便您可以将数据进一步备份到另一个国家的另一个区域。

    您可以通过导航到 Services>进入S3。存储> S3 。创建存储桶就像单击创建存储桶按钮一样简单。选择全球唯一的名称(仅小写)后,选择一个您希望存储桶存在的区域。单击创建按钮将最终给您第一个存储桶。

    命令行是生命

    如果您选择命令行,则可以使用 s3cmd 访问新创建的S3存储桶,您可以从此处下载。选择最新版本后,将zip存档下载到您选择的文件夹中。当前的最新版本是2.0.0,您将在我们的示例中使用该版本。要解压缩并安装s3cmd,请打开一个终端窗口,然后键入:

    sudo apt install python-setuptoolsunzip s3cmd-2.0.0cd s3cmd-2.0.0sudo python setup.py install

    s3cmd is now installed on your system, and is ready to be configured and linked to your AWS account. Be sure to have your Access key ID and Secret access key to hand from when you created your user. Start by typing:

    s3cmd --configure

    现在将提示您输入一些详细信息。首先,将提示您输入访问密钥ID,然后输入您的秘密访问密钥。只需按下Enter键,即可将所有其他设置保留为默认设置,但加密设置除外。您可以在此处选择一个密码,以便对进出S3的数据进行加密。这样可以防止中间人攻击或拦截您的Internet流量。

    在配置过程结束时,s3cmd将进行测试以确保所有设置都有效,并且您可以成功连接到AWS账户。完成此操作后,您将能够输入一些命令,例如:

    s3cmd ls

    这将列出S3帐户内的所有存储桶。如下面的屏幕快照所示,您创建的存储桶是可见的!

    使用命令行同步

    s3cmd的sync命令用途广泛。它与您通常在Linux中复制文件的方式非常相似,并且看起来有点像这样:

    s3cmd sync [LOCAL PATH] [REMOTE PATH] [PARAMETERS]

    通过简单的同步测试其用法。首先,使用 touch 命令创建两个文本文件,然后使用 sync 命令将刚刚创建的文件发送到之前创建的存储桶中。刷新S3存储桶;您会注意到文件确实已经发送到S3!确保将本地路径替换为计算机上的本地路径,并将远程路径更改为存储桶名称。要实现这种类型:

    touch file-1.txttouch file-2.txts3cmd sync ~/Backup s3://PCPC.me-backup

    如前所述, sync 命令首先检查并比较两个目录。如果S3中不存在文件,它将上传该文件。更重要的是,如果文件确实存在,它将在复制到S3之前检查它是否已更新。如果希望它也删除在本地删除的文件,则可以使用 –delete-removed 参数运行命令。要进行此测试,请先删除我们创建的一个文本文件,然后删除带有附加参数的sync命令。如果您随后刷新S3存储桶,则已删除的文件现在已从S3中删除!要尝试此操作,请键入:

    rm file-1.txts3cmd sync ~/Backup s3://PCPC.me-backup --delete-removed

    一目了然,您可以看到此方法的吸引力。如果要将某些内容备份到您的AWS账户,则可以将sync命令添加到cron作业中,然后将计算机自动备份到S3。

    GUI替代

    如果该命令行不是你的事,有一个图形用户界面(GUI)替代s3cmd:Cloud Explorer。尽管它没有非常现代的界面,但确实具有一些有趣的功能。具有讽刺意味的是,获得最新版本的最简单方法是通过命令行。打开带有要安装文件夹的终端窗口后,键入:

    sudo apt -y install           openjdk-8-headless ant gitgit clone https://github.com/rusher81572/cloudExplorer.gitcd cloudExplorerantcd distjava -jar CloudExplorer.jar

    界面启动后,某些必填字段似乎已经很熟悉。要加载您的AWS账户,请输入访问密钥,秘密密钥,并为您的账户提供名称,然后单击保存

    您现在可以单击保存的配置文件,然后

    浏览资源管理器

    快速浏览界面,您将看到以下内容:

  • 注销
  • 浏览和搜索
  • 上传文件
  • 同步
  • 文本编辑器
  • 用于存储分区列表的面板
  • 用于导航选定存储桶的面板
  • 设置Cloud Explorer的同步功能类似于s3cmd。首先,创建S3存储桶中不存在的文件。然后,单击Cloud Explorer中的 Sync 按钮,然后浏览到要与S3同步的文件夹。单击 To S3 将检查本地计算机上的文件夹与带有S3的文件夹之间的差异,并上传找到的所有差异。

    在浏览器中刷新S3存储桶时,您会注意到新文件已发送到S3。不幸的是,Cloud Explorer的同步功能无法满足您在本地计算机上删除的任何文件的需要。因此,如果您在本地删除文件,该文件仍将保留在S3中。

    家庭用户可以使用以企业为中心的云存储

    尽管AWS是专为企业设计的解决方案,以利用云,但没有家庭用户不应参与其中的原因。使用世界领先的云平台有很多好处。您无需担心升级硬件或为不需要的东西付钱。另一个有趣的事实是,AWS的市场份额超过了下10个供应商的总和。这表明它们有多远。设置AWS作为备份解决方案需要:

  • 创建帐户。
  • 使用MFA保护您的帐户。
  • 创建组并向该组分配权限。
  • 将用户添加到组中。
  • 创建第一个存储桶。
  • 使用命令行同步到S3。
  • A S3的GUI替代品。
  • 您当前是否将AWS用于任何用途?您当前使用哪个云备份供应商?选择备份供应商时,您要寻找什么功能?在下面的评论中让我们知道!

    标签: 云存储 数据备份