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

Ole*_*ndr 5 backup amazon-web-services amazon-elastic-beanstalk

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

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

Mar*_*cin 7

EB环境

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

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

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

如果 S3 存储桶的内容至关重要,您可以设置将其自动复制到不同区域,以便在发生区域级灾难时安全保存。

数据库

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

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

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

外部数据库

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