AWS Elastic Beanstalk (AWS EB) 备份 - 最佳实践

AWS Elastic Beanstalk (AWS EB) Backup - best practice

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

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

EB环境

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

根据您的设置,您还可以 saved configurations。这些 未与您的源代码捆绑。当您创建保存的配置时,它存储在 EB S3 存储桶 中。所以如果你想在S3之外备份这些配置,你必须单独下载和存储。

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

如果S3 bucket的内容很重要,你可以将它的automated replication设置到不同的区域,以便在区域级灾难的情况下安全保存。

数据库

EB控制台创建的数据库由AWS RDS. Thus, you can use rich portfolio of methods提供备份。根据数据库的重要程度,您有多种选择:

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

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

外部数据库

我已经在评论中提到,将数据库与您的 EB 环境捆绑在一起并不是好的做法。如果您已经有了这个,并且想将它们分开,AWS 提供了一个关于如何将 rds 与 EB 分离的指南: