Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database AWS-RDS-每天从快照恢复数据库_Database_Amazon Web Services_Amazon Rds_Restore_Snapshot - Fatal编程技术网

Database AWS-RDS-每天从快照恢复数据库

Database AWS-RDS-每天从快照恢复数据库,database,amazon-web-services,amazon-rds,restore,snapshot,Database,Amazon Web Services,Amazon Rds,Restore,Snapshot,我想知道是否有可能每天在特定时间从快照恢复AWS上的数据库?我的意思不是创建新实例,只是恢复数据库以获得默认数据 我需要这个,因为我写了一些Django应用程序,把她放在Heroku上。人们可以在那里添加一些记录并制造一些混乱。我想恢复数据库每天从不可访问的数据“干净”的网站每天 谢谢没有什么能阻止你这么做 我将按照以下方式构建它: 创建CNAME记录以指向当前数据库实例的DNS记录 在应用程序中引用该CNAME 创建每天触发的lambda 使用该Lambda从已知良好的快照创建新的数据库实例

我想知道是否有可能每天在特定时间从快照恢复AWS上的数据库?我的意思不是创建新实例,只是恢复数据库以获得默认数据

我需要这个,因为我写了一些Django应用程序,把她放在Heroku上。人们可以在那里添加一些记录并制造一些混乱。我想恢复数据库每天从不可访问的数据“干净”的网站每天


谢谢

没有什么能阻止你这么做

我将按照以下方式构建它:

  • 创建CNAME记录以指向当前数据库实例的DNS记录
  • 在应用程序中引用该CNAME
  • 创建每天触发的lambda
  • 使用该Lambda从已知良好的快照创建新的数据库实例
  • 之后,lambda应该将CNAME记录从1)更新为指向新实例
  • 然后删除旧实例,而不创建最终快照
  • 您可以利用AWS步骤函数来编排4-6,因为数据库操作需要时间,并且lambda运行时是有限的

    或者,您可以将数据库的已知良好状态导出为SQL语句(research:sqldump),然后编写一个lambda函数,每天触发一次,删除旧模式并从已知良好转储创建新模式


    如果数据库很小,我会选择第二种方法。对于较大的,我可能会坚持第一个。请注意,第二个应用程序将有一段短时间无法访问正常运行的数据库。

    没有任何东西可以阻止您这样做

    我将按照以下方式构建它:

  • 创建CNAME记录以指向当前数据库实例的DNS记录
  • 在应用程序中引用该CNAME
  • 创建每天触发的lambda
  • 使用该Lambda从已知良好的快照创建新的数据库实例
  • 之后,lambda应该将CNAME记录从1)更新为指向新实例
  • 然后删除旧实例,而不创建最终快照
  • 您可以利用AWS步骤函数来编排4-6,因为数据库操作需要时间,并且lambda运行时是有限的

    或者,您可以将数据库的已知良好状态导出为SQL语句(research:sqldump),然后编写一个lambda函数,每天触发一次,删除旧模式并从已知良好转储创建新模式


    如果数据库很小,我会选择第二种方法。对于较大的,我可能会坚持第一个。请注意,第二个脚本将有一段短时间,应用程序无法访问正常运行的数据库。

    我个人会在
    /etc/cron.daily
    中放置一个简单的shell脚本,其中包含所需的命令(
    manage.py reset\u db
    等),我将在
    /etc/cron.daily
    中放置一个简单的shell脚本,其中包含所需的命令(
    manage.py reset_db
    等)。