RDSでスナップショット取得時のサービスへの影響を調べてみました。
本記事で、以下のことがわかります!
本記事に記載すること
RDSでスナップショット取得時にサービスへの影響はあるのか
サービス無停止で、かつ、サービスに影響なくスナップショット取得できるのか
シングル AZ DB インスタンスの DB スナップショットの作成 - Amazon Relational Database Service
バックアップする DB インスタンスを識別することにより DB スナップショットを作成し、その DB スナップショットに名前を付けます。
上記、公式情報から「Single-AZインスタンス」 と「マルチ AZ インスタンス」で挙動が異なるようです。
早速結論から記載していきます。
RDSでスナップショット取得時にサービスへの影響があるかの結論
「Single-AZインスタンス」 と「マルチ AZ インスタンス」で挙動が異なり、以下の結論となります。
結論
Single-AZインスタンス:サービスへ若干影響あり
マルチ AZ インスタンス:サービスへ影響なし、ただしSQL Serverの場合は影響あり
次に、Single-AZインスタンスのスナップショット取得時の挙動を書いていきます。
Single-AZインスタンスのスナップショット取得時の挙動
- DB スナップショットを作成するとI/O が短時間中断(数秒から数分)する
- 中断時間はDBインスタンスのサイズやクラスによって異なる
数秒から数分、I/Oできない影響があるということですね。
次は、マルチ AZ インスタンスについてです!
マルチ AZインスタンスのスナップショット取得時の挙動
- MariaDB、MySQL、Oracle、PostgreSQL の場合
- バックアップはスタンバイから取得されるため、プライマリで I/O アクティビティは中断しない
- ただし、SQL Server 場合は、 I/O アクティビティが一時中断する
MariaDB、MySQL、Oracle、PostgreSQLでは影響なし
SQL Server 場合は、 Single-AZインスタンスと同様、I/Oできない影響があるということです!
まとめ
RDSでスナップショット取得時のサービスへの影響について、マルチAZの場合、SQL Serverを除いて影響なしなので、安心してスナップショットをとって大丈夫。サービスに影響を出さずにバックアップを取れる。
シングルAZとSQL Serverの場合は、サービス影響は多少ある(数秒から数分、I/Oできない影響がある)ため、要注意。どのくらいの時間影響が出るかについて、RDSスペックとDBサイズによります!