5

我從快照創建新的RDS MySQL實例,並通過API和通過UI更新其配置。無論我如何創建或更新實例,這些操作都會自動觸發通過某種自動備份過程創建的新快照。有沒有辦法在執行這些操作時禁用快照創建,因爲我不需要額外的快照並且它們的創建會導致不必要的延遲?創建/更新實例時禁用AWS RDS備份?

+0

檢查是否啓用了「自動備份」功能http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html – BMW

+0

@BMW我會仔細研究它,但是從API方面看來只能在修改時進行,而不是在創建時進行。 – jmsb

回答

10

我談到了AWS支持,看起來沒有辦法阻止在創建實例時生成備份。這是由於觸發了創建/更新的備份創建過程(它是自動備份過程的一部分)以及控制此功能的有限能力(將其打開和關閉,但僅限於現有實例)。

這裏有一些更多的細節,以防其他人遇到同樣的問題。

我感興趣的兩種方案:

  1. 不要在RestoreDBInstanceFromDBSnapshot請求創建一個備份
  2. 不要在ModifyDBInstance要求

的備份是通過這個控制創建一個備份標記:

BackupRetentionPeriod = 0 

不幸的是,這個標誌是部分實例和快照,但只能在實例上設置。因此,爲了創建一個帶有此標誌集的實例(並因此不生成備份),快照必須禁用此標誌。這隻有在源實例禁用此標誌時纔會發生。在這一點上,我們可以考慮採取當一個快照,但禁用和重新啓用這個標誌有負面影響,包括切換的標誌上的原始實例:

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 

當然,這從備份的損失仍然遭受;但是,我最初的目的是能夠創建和修改生產數據庫的快照,在短時間內(小時)使用它們,然後將它們丟棄。避免無關的備份創建可減少此過程中的開銷。

希望這個信息對其他人有用!

+1

不錯的反饋。我想你也可以接受你的答案。 – BMW