はじめに
初老ともなると日々変化するGUIについてゆくのがつらくなります。とおもったらCLIでも方法がかわっていた Auroraのアップデートについてのメモとなります。
Auroraアップデートの方式変更
1.8からだとおもいますが、インスタンス単位ではなくクラスター単位でのアップデートとなりました。最近の変更なので日本語のドキュメントと英語のドキュメントで相違がでています。ちょっと古いとおもったら、英語のドキュメントを確認するのが初老の嗜みです。
CLIでのアップデート方法
7割方自分用なので特に説明なしです。
#クラスター名
DBCLUSTER_ID=<<環境にあわせて設定>>
#ARNの作成
DBCLUSTER_ARN=arn:aws:rds:ap-northeast-1:<<AWSアカウントID>>:cluster:${DBCLUSTER_ID}
#AWS CLIのプロファイル設定(必要であれば)
AWS_PROFILE="--profile default"
#事前スナップショット名
SNAPSHOT_NAME="BEFORE-UPDATE-${DBCLUSTER_ID}"
#事前スナップショット作成
aws ${AWS_PROFILE} rds create-db-cluster-snapshot \
--db-cluster-identifier ${DBCLUSTER_ID} \
--db-cluster-snapshot-identifier ${SNAPTHOT_NAME}
sleep 10;
#Auroraアップグレード
aws ${AWS_PROFILE} rds apply-pending-maintenance-action \
--resource-identifier ${DBCLUSTER_ARN} \
--apply-action system-update \
--opt-in-type immediate
補足情報
- Auroraの更新ではフェイルオーバーがあるとおもってましたが、基本ないです。。DBエンジンの再起動だけの停止時間(体感20秒ないくらい?)ですと、DNSをともなうフェイルオーバーよりも短いというのが理由なので、大規模アップデートだとフェイルオーバーするのかもしれません。まだ経験したことないですが。
- 1.10から ゼロダウンタイムパッチ がリリースされたということなので今後停止時間すらなくなるかもしれません
- 意外なことにWriterをアップデートするとReaderも再起動します。ログレプリケーションが止まるためのようです。