amazon-web-services - 创建/更新实例时禁用 AWS RDS 备份?

标签 amazon-web-services database-backups mysql-backup aws-rds

我正在从快照创建新的 RDS MySQL 实例,并通过 API 和 UI 更新它们的配置。无论我如何创建或更新实例,这些操作都会通过某种自动备份过程自动触发要创建的新快照。有没有办法在执行这些操作时禁用快照创建,因为我不需要额外的快照并且它们的创建会导致不必要的延迟?

最佳答案

我与 AWS 支持人员进行了交谈,似乎无法阻止在实例创建时生成备份。这是由于如何触发创建/更新备份创建(它是自动备份过程的一部分)以及控制此功能的能力有限(打开和关闭它,但仅适用于现有实例)。

这里有一些更多的细节,以防其他人遇到和我一样的问题。

我对两种情况感兴趣:

  • 不要在 RestoreDBInstanceFromDBSnapshot 请求上创建备份
  • 不要在 ModifyDBInstance 请求上创建备份

  • 备份由这个标志控制:
    BackupRetentionPeriod = 0
    

    不幸的是,此标志是实例和快照的一部分,但只能在实例上设置。因此,为了创 build 置了此标志的实例(因此不生成备份),快照必须禁用此标志。仅当源实例禁用此标志时才会发生这种情况。此时我们可以考虑在拍摄快照时切换原始实例上的标志,但是禁用和重新启用此标志会产生负面影响,包括:
    There is a way to disable automatic backups for existing instances 
    however we highly discourage against this because it disables point-in-time
    recovery. Once disabled, re-enabling them will only restore the backups
    starting from the time you re-enable automatic backups.
    

    我们将丢失原始实例上的所有现有备份。最终结果是,当从快照创建实例时,没有一种有效的方法可以避免创建第一个备份。

    更新现有实例时有更好的消息,因为我们可以在 ModifyDBInstance 请求中禁用备份:
    https://rds.amazonaws.com/
      ?Action=ModifyDBInstance
      &DBInstanceIdentifier=mydbinstance
      &BackupRetentionPeriod=0
    

    当然,这仍然会受到备份丢失的影响;但是,我最初的目的是能够创建和修改生产数据库的快照,在短时间内(数小时)使用它们,然后将它们扔掉。避免无关的备份创建减少了此过程中的开销。

    希望这些信息对其他人有用!

    关于amazon-web-services - 创建/更新实例时禁用 AWS RDS 备份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35709153/

    相关文章:

    sql-server - 如何使用 sqlcmd 在批处理文件中显示进度?

    mysql - 将 SQL Server .bak 文件转换为 MYSQL 中的数据库

    database - 备份 Wordpress 多站点

    amazon-web-services - 使用 AWS Cognito 执行 IdP 启动登录时出错

    sql-server - 数据库的部分克隆

    mysql - 如何使用多个值设置 Amazon RDS SQL_MODE

    database-backups - 热备份MongoDB(TokuMX)数据库实例的最佳方式

    php - 在php中单击按钮即可备份Mysql数据库

    amazon-web-services - 由于私有(private) IP [AWS CloudFormation],AWS 堆栈中出现循环依赖

    linux - 在 AWS ec2 上提供新卷