【问题标题】:AWS Elastic Beanstalk (AWS EB) Backup - best practiceAWS Elastic Beanstalk (AWS EB) 备份 - 最佳实践
【发布时间】:2021-05-30 00:57:42
【问题描述】:

什么是最佳实践,请备份 AWS EB 产品环境,包括数据库? 我有动态实例配置,源代码存储在其他地方,因此丢失 EC2 不是问题。我需要备份的是;

  1. AWS EB 环境配置(带有部署的包?)
  2. AWS EB 环境数据库并能够恢复它
  3. S3 存储桶上的连接文件存储

【问题讨论】:

  • 将 DB 与您的 EB 环境捆绑在一起并不是一个好习惯。您选择捆绑它的任何特殊原因?
  • 这是默认选择。为什么这不是一个好习惯?
  • 因为删除 EB 时很容易删除数据库。将它们分开可以最大限度地降低这种风险。
  • 谢谢马尔辛。这是一个有效的观点 - 理解。仍然对备份感到好奇

标签: amazon-web-services amazon-elastic-beanstalk backup


【解决方案1】:

EB 环境

EB 配置文件可以与您的应用程序源代码捆绑在一起,例如.ebextenationsplatform deployment hooksenv.yaml。因此,您的应用程序提供的所有配置文件都是通过备份您的源代码来支持的。

根据您的设置,您还可以拥有saved configurations。这些不与您的源代码捆绑。当您创建已保存的配置时,它会存储在 EB S3 存储桶中。因此,如果您想在 S3 之外备份这些配置,则必须单独下载并存储。

但备份这些保存的配置和部署的应用程序 zip 文件的最简单方法是在 EB 创建的存储桶上启用版本控制。默认情况下,versioning 被禁用。启用后,它可以防止您被意外删除,还可以让您回顾 EB 存储桶中文件的先前版本。

如果 S3 存储桶的内容很重要,您可以将它的 automated replication 设置到不同的区域,以便在发生区域级灾难时安全保存。

数据库

EB 控制台创建的数据库由AWS RDS 提供。因此,您可以使用rich portfolio of methods 来备份它。根据数据库的重要性级别,您有多种选择:

  • AWS 每天进行自动备份。
  • 您可以随时进行手动备份。
  • 将备份复制到不同区域
  • 设置多可用区部署以实现高可用性和抗故障能力。
  • 在不同区域创建只读副本以进行灾难恢复。
  • 使用 db-native 工具(例如 mysqldump)转储您的内容

根据您选择的备份技术,成本会有所不同。免费备份是自动备份。对于其他一切,您必须支付额外费用。

外部数据库

我已经在 cmets 中提到,将 db 与您的 EB 环境捆绑在一起并不是一个好习惯。如果您已经有了这个,并且想将它们分开,AWS 提供了如何将 rds 与 EB 分离的指南:

【讨论】:

    猜你喜欢
    • 2016-03-08
    • 2015-07-17
    • 2015-06-02
    • 2014-07-25
    • 2016-11-02
    • 2019-02-14
    • 2017-09-08
    • 2020-06-03
    • 2015-09-26
    相关资源
    最近更新 更多