【AWS RDS】インプレースアップグレードについての備忘録
こんにちは!
エンジニアのひなこです!
今回は、AWSのRDSのアップグレード方法である
「インプレースアップグレード」について、
手順や用語を理解しようと、調べたことをまとめてみました!
方式
動作しているDBインスタンスを直接アップグレードする方法
手順
①アプリの書き込みを停止する
②データベースエンジンをアップグレード
(切り戻し用のスナップショットが作成される)
↓詳しい手順については、下記のAWS公式ドキュメントを参照
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Upgrading.Procedure.html
切り戻し方法
スナップショットからデータベースを作り直す
(※アップグレード開始後に更新されたデータは消失される)
不具合発生時に備え、バックアップしたスナップショットを使って、インスタンスを作成しておき、すぐに切り替えれるようにする
デメリット
スナップショットを作成する時間にダウンタイムが発生する
そのため、ダウンタイムが許容できない場合は
・スナップショットリストア
・バイナリログレプリケーション
・Blue/Greenデプロイ を行う
用語
上記で書いた中で、難しい用語についても、まとめてみました!
用語の意味を理解すると、内容も頭に入ってきやすくなります!
DBインスタンス
・クラウドで実行される独立したデータベース環境
・Amazon RDSの基本的な構成要素
・AWS コマンドラインツール、Amazon RDS API オペレーション、AWS Management Consoleから作成・変更ができる
DBクラスター
・1つ以上のDBインスタンスと、1つのクラスターボリューム(DBインスタンスのデータを管理する)で構成された集合体
スナップショット
・ある瞬間のデータを丸ごと写し取ったコピー
・RDSのバックアップでは、スナップショットが使われている
・自動、手動でバックアップすることが可能
・手動バックアップで作成したスナップショットは破棄されない
切り戻し
・本番アップグレード後に問題が発生した際に、元のものに戻す
・英語では「Failback」という
ダウンタイム
・システムが止まっている時間
・データベースエンジンのアップグレードの他、インスタンスの昇格・変更、OSのアップグレードの作業の過程で、ダウンタイムが発生する
参考サイト
Amazon RDS for MySQL アップグレード
https://zenn.dev/howtelevision/articles/7fcad2e24caebf2ed
RDSのバックアップ・スナップショット・リストア・リカバリを理解する
https://zenn.dev/faycute/articles/70066a2a4c85d7
Amazon RDS DB インスタンス
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Overview.DBInstance.html
ダウンタイム|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
https://wa3.i-3-i.info/word15257.html
【AWS】RDS でダウンタイムが発生する作業
https://qiita.com/Hangdman/items/4f0395a8b8ec3557ce01
Amazon Aurora DB クラスター
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html
Amazon Aurora MySQLアップグレード駆け込みガイド
https://inside.dmm.com/articles/martech-aurora-upgrade-guide/#content2