RDSのブルーグリーンデプロイを使って、Auroraのバージョンアップをやってみる

はじめに

こんにちは!TechBull 運営メンバー SREのこうじゅん(@kouzyunJa)です。先日、RDSのブルーグリーンデプロイを活用して、Auroraのバージョンアップを行う機会がありました。そこで今回は、初めてのブルーグリーンデプロイという内容で記事を書いてみたいと思います。

RDS ブルーグリーンデプロイとは

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/blue-green-deployments-overview.html

RDSブルーグリーンデプロイとは、AWSが提供するマネージドなRDSのデプロイ機能です。

既存のRDS(=ブルー環境)とは別に、新しいバージョンや設定を適用したRDS(=グリーン環境)を用意し、その2つの環境を切り替えることで、安全にバージョンアップや構成変更を行うことができます。これにより、アップグレード中のダウンタイムを最小にして切り替えることができます。

  • ブルー環境(現在の本番環境)

    現在ユーザーに提供されている稼働中のRDS環境

  • グリーン環境(新しい環境)

    新しい設定やバージョンを適用したRDS環境

RDSブルーグリーンデプロイでは、AWSがこの 「ブルー」と「グリーン」2つのクラスターを用意して、切り替えポイントを制御してくれます。

RDS ブルーグリーンデプロイを試してみる

今回は Aurora MySQL を使用しており、8.0.mysql_aurora.3.08.2 → 8.0.mysql_aurora.3.09.0へのマイナーバージョンアップを行うというシンプルな想定で、RDSのブルーグリーンデプロイをハンズオン形式で試してみます。

構成は以下の通りです:

  • bg-deployment-1(ブルーグリーンデプロイ構成のトップ)
    • Blue(現行環境)
      • クラスター:dg-deploy-database-1
        • バージョン:8.0.mysql_aurora.3.08.2
      • インスタンス:dg-deploy-database-1-instance-1
    • Green(新環境)
      • クラスター:dg-deploy-database-1-green
        • バージョン:8.0.mysql_aurora.3.09.0
      • インスタンス:dg-deploy-database-1-instance-1-green

💡 補足
ブルーグリーンデプロイを利用するには、使用するパラメーターグループに binlog_format = ROW が設定されている必要があります。今回はこの設定をすでに適用済みという想定で進めます。

ブルーグリーンデプロイを実施するAuroraクラスターは構築済みの状態からハンズオンは進めたいと思います。①右上の [アクション] → [ブルー/グリーンデプロイの作成] を選択します。

②エンジンバージョンの設定画面で、[Aurora MySQL 3.09.0] を選択します。
→ これがグリーン環境に適用されるバージョンになります
→ 設定後、[次へ] をクリック

③ブルーとグリーンの構成差分が表示されるので確認します。
→問題がなければ [作成] を押下。

④しばらく待つと、ブルーグリーンデプロイの環境が作成されます。
→ 作成後に、アクションから[切り替え]を押下するとブルーグリーンデプロイが実際に開始されます。

⑤切り替え前の最終確認を行い、問題がなければ 切り替えを実行します。

⑥しばらく待つと「スイッチオーバーに成功しました」と表示されます。
→ ブルーグリーン環境のクラスターが切り替わり、元のクラスターには -old の表記が付与されていることを確認できます。これで、新しいクラスターが本番クラスターとして扱われるようになります。

おわりに

以上で、RDSのブルーグリーンデプロイを使ったAurora MySQLのバージョンアップの流れは完了です。実際の運用では、切り替え前に十分な検証や接続テストを行った上で、切り替えを実施することとなります。検証方法は以下、Zennで書いていますので、ぜひ参考にしてみてください!

最後まで読んでいただき、ありがとうございました!

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール