なぜAmazon RDSの自動バックアップの保持期間設定の内容と実際のスナップショット数が一致していないのか

記事タイトルとURLをコピーする


こんにちは。クラウドインテグレーション部の竹本です。
徐々に暖かくなりましたね。

先日、北野日奈子さんも乃木坂46を卒業され
世間は卒業シーズンなんだなぁと身にしみる今日このごろです。

本題


さて、今回はAmazon RDSに関する小ネタです。

私はふと気づきました。

とある環境でAmazon RDSの自動バックアップの保持期間を3日と設定していたものの
スナップショットが3つではなく、なぜか4つ残っている状態でした。

f:id:swx-takemoto:20220331154703p:plain

そういえば検証環境で以前もそんなことがあった気が、、、と思いつつ
でも本番環境では今回の事象を私はみたことなかったので妙に気になりました。

一体、なぜこんなことが起きているのでしょうか。

結論

RDSインスタンスを停止していた期間・時間帯があった場合、
そのインスタンス停止時間は保持期間の計算にはカウントされません。

この環境では、数日前にインスタンスを数時間停止した時間帯があったため
上記をふまえると保持期間: 3日間が成り立つにはスナップショット3つでは充足せず
結果的にスナップショット4つ分が保持されているというわけです。

そのため、夜間にRDSインスタンスを停止する運用をしている (※ページ末尾参照) 場合、
想定以上にスナップショットが残ってしまうケースも起こりえます。

「そんな仕様、知らなかった!」と思いましたが、
実はAWSドキュメントにもちゃんと記載があります。

docs.aws.amazon.com

該当箇所を抜粋

DB インスタンスの停止中は、自動バックアップは作成されません。
DB インスタンスが停止している場合、バックアップ保持期間より
長くバックアップを保持できます。RDSには、バックアップ保存期間の
計算時にstopped状態にあった時間は含まれません。

最後に

Amazon RDSは数多くあるAWSサービスの中でも多くの顧客に使用され
弊社も提案機会の多いサービスのひとつですが、
私は今回の内容についてつい最近気がつきました。

自分も今まで知らなかった、という方も意外と多いのではないでしょうか。

どなかたのお役に立てれば幸いです。

あわせて読みたい

blog.serverworks.co.jp

コスト削減を目的として本番ワークロードのRDSインスタンスを
夜間停止・朝方起動している方も、読者の方の中にはいるのではないでしょうか。

実は、それアンチパターンです。

詳細は上記の記事で解説されておりますので、是非ご覧ください。


竹本 佳史 (執筆記事の一覧)

インターナルエデュケーション課所属。

エンタープライズの企業様向けに幅広くAWS活用の技術的なご支援をしてきました。今はサーバーワークスのエンジニアが顧客の期待に応え続けられるための仕組みを設計しています。

2020-2023 AWS All Certifications Engineersに選出。

(過去担当させていただいた弊社事例)