[Aurora MySQL] グリーン環境の VolumeBytesUsed がブルー環境の値より小さい理由を教えてください
困っていた内容
Aurora MySQL で Blue/Green deployment を実施したところ、グリーン環境の VolumeBytesUsed の値がブルー環境の値と比べて極めて小さく、差分のディスク容量のみが計上されているように見えるのはなぜですか?
回答
グリーン環境の VolumeBytesUsed の値がブルー環境より小さくなる理由は、Aurora の Blue/Green deployment ではグリーン環境の作成にクローン機能を利用しているためです。
Amazon Aurora は、基盤となるブルー環境の Aurora ストレージボリュームをクローニングすることでグリーン環境を作成します。グリーンのクラスターボリュームには、グリーン環境に加えられた増分変更のみが保存されます。ブルー環境の DB クラスターを削除すると、グリーン環境の基盤となる Aurora ストレージボリュームのサイズは、フルサイズまで増大します。
クローンボリュームの VolumeBytesUsed メトリクスは最初は小さく、元のクラスターとクローンの間でデータが分岐するに従って増えていきます。
なお、RDS の Blue/Green deployment では、グリーン環境の作成にスナップショットが利用されています。
ブルー/グリーンデプロイを作成すると、Amazon RDS は DB スナップショットから復元することにより、グリーン環境にプライマリ DB インスタンスを作成します。
まとめ
この記事がどなたかのお役に立てば幸いです。