Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS_BlueGreenDemo

 AWS_BlueGreenDemo

AWS LT Blue/Green Demo

Hidehiko ASAHI

December 12, 2023
Tweet

More Decks by Hidehiko ASAHI

Other Decks in Technology

Transcript

  1. 2 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ◼2022年のre:inventにて MySQL のフルマネージド Blue/Green デプロイが発表され、すぐにGAとなっていました。 そこから約一年、Aurora for PostgreSQL の フルマネージ ド Blue/Green デプロイが 2023/10/26 にGAとなりました 背景
  2. 3 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ◼そもそもBlue/Greenデプロイとは? ⚫ブルーグリーンデプロイメントとは現状の本番環境(ブルー)とは 別に新しい本番環境(グリーン)を構築した上で、ロードバラン サーの接続先を切り替えるなどして新しい本番環境をリリースす る運用方法のこと そもそもBlue/Green デプロイとは? (出典) 3分でわかる ブルーグリーンデプロイメント
  3. 4 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    データ同期 ◼データベースにおいて手動でのBlue/Greenデプロイを設定する 場合、新しい本番環境の作成から、現状の本番環境から新し い本番環境へのデータ同期や、切り替え時に同期されていない データがないことの確認等、いろいろと手間がかかります ◼一方で、フルマネージドな場合にはそれらが全て自動で実施さ れるため、容易に設定が可能です データベースのBlue/Green デプロイ
  4. 5 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ◼前提・制限 ⚫移行元のバージョン制限(※1) や、移行元と移行先の対応バージョ ン制限(※2) があります ⚫Blue → Greenのデータ同期は論理レプリケーション機能を用い て実施されるため、rds.logical_replication パラメータを設定す る必要があります。また、一度Green環境を作成した後は論理 レプリケーション機能でサポートされていない変更(Blue環境で のDDL等)を行うと、Green環境への切り替えができなくなる場 合がありますのでご注意ください。その場合、Green環境の再作 成が必要になります(※3) 。 Aurora for PostgreSQL フルマネージド Blue/Green の前提・制限 ※1 https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.BlueGreenDeployments.html#Concepts.Aurora_Fea_Regions_DB-eng.Feature.BlueGreenDeployments.apg ※2 https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.PostgreSQL.html#USER_UpgradeDBInstance.PostgreSQL.UpgradeVersion ※3 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/blue-green-deployments-overview.html#blue-green-deployments-limitations
  5. 6 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    Aurora for PostgreSQL Blue/Green 切替デモ
  6. 7 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ◼切替前のBlue/Greenの状態 ⚫Blue: 13.12 ⚫Green: 15.4 切替前の状態(コンソール)
  7. 8 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ◼Blue環境データベースのWriterエンドポイントにCurrent Timestampを毎秒insert ⚫Insertされた最新データとOS上の実時間を表示 切替前の状態(データベース)
  8. 9 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ◼Blue/Green 切替の実施 ⚫アクション→「切り替え」を実施すると、ブルーデータベースからグリーン データベースへのスイッチオーバの画面が表示されます 切替実施時の状態(コンソール)①
  9. 10 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ◼Blue/Green 切替の実施 切替実施時の状態(コンソール)②
  10. 11 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ◼Blue/Green 切替の実施 ⚫Writerエンドポイントへ接続ができなくなります(@7:33:51) 切替実施時の状態(コンソール・データベース)③
  11. 12 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ◼Blue/Green 切替中のデータベースの状態 ⚫Writerエンドポイントに書き込みができない状態でいったん利用 が可能になります@7:34:33 •7:33:51~7:34:33 がReadもWriteもできない状態であること が確認できます 切替中の状態(データベース)
  12. 13 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ◼切替が完了すると、Green環境がいわゆる本番昇格され、元 の識別子(エンドポイント)で接続できるようになっています。 元のBlue環境は -old1 という名前になって残っていますが、削 除可能です(切り替え時にスナップショットが自動的に作成さ れています) 切替後の状態(コンソール)
  13. 14 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ◼Blue/Green 切替完了時のデータベースの状態 ⚫Writerエンドポイントに同じエンドポイントで書き込みができるよ うになります@7:34:56。7:33:51に接続ができなくなってから、約 1分程度で切り替えが完了していることが確認できます 切替後の状態(データベース)
  14. 16 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ◼今までDBエンジンのメジャーバージョンアップ等においては、ダウンタイムを考慮してバー ジョンアップを行うか、手動で Blue/Greenのような環境を構築して切り替えを行う必要 がありました ◼今回リリースされたAurora for PostgreSQL の フルマネージド Blue/Green デプロイを 採用することで、以下のように変わります ⚫数クリックで複雑なBlue/Green環境を構築 ⚫わずか数分のダウンタイムでバージョンアップが可能 ◼バージョンアップ等を行う際に有効な選択肢になってくると想定されるため、ご自身の環 境でバージョンアップが迫られている場合には、ご検討ください ⚫Announcement: Amazon Aurora PostgreSQL 11.x end of support is February 29, 2024 (注:Blue/Green デプロイが利用できるのは 11.21 以降) まとめ
  15. 17 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ◼ What’s-new(Amazon RDS ブルー/グリーンデプロイが Aurora と RDS PostgreSQL のサポートを開始) ⚫ https://aws.amazon.com/jp/about-aws/whats-new/2023/10/amazon-rds-blue-green-deployments-aurora-rds-postgresql/ ◼ AWS Database Blog(Fully managed Blue/Green Deployment in Amazon Aurora PostgreSQL and Amazon RDS for PostgreSQL) ⚫ https://aws.amazon.com/jp/blogs/database/new-fully-managed-blue-green-deployment-in-amazon-aurora-postgresql-and-amazon-rds- for-postgresql/ ◼ マニュアル(Using Amazon RDS Blue/Green Deployments for database updates (現時点では英語のみ)) ⚫ https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/blue-green-deployments.html ◼ Aurora for PostgreSQL Blue/Green 検証blog ⚫ Aurora for PostgreSQL の フルマネージド Blue/Green デプロイを試してみた • https://qiita.com/asahide/items/0914ac4132169220ae5f ⚫ Aurora for PostgreSQL の Blue/Green の(Readerの)ダウンタイムを確認してみた • https://qiita.com/asahide/items/2b1ebd10fb2a67be847d 参考