Amazon RDS Blue/Green Deployments を使っててハマったこと
2023.4.10
はじめに
Blue/Green Deployments でマイナーバージョンアップグレードを実施するために検証をした際に色々とハマったのでまとめました。
結構躓きましたが、今回は調べてもでてこなかったものを 2 つピックアップしています。
Blue/Green Deployments を使ってみた感想としては、かなり便利ですが、リリースされて間もない機能なのでまだ今後に期待という感じです。
なお、本記事では Blue/Green Deployments のユースケースや詳細については解説しません。
ユースケースや詳細については以下記事をご覧ください。
その 1. RDS Proxy が紐づいていると環境作成できない
RDS Proxy が紐づいている Aurora クラスターに対して、Blue/Green Deployments を作成しようとするとエラーが表示されました。
原因:RDS Proxy が Blue/Green Deployments の制限事項になっているから
一応、事前に制限事項で記載はあるのですが、詳細には書かれていなかったです。
そのため、気になってやってみたところ構築段階でエラーになりました。
Blue/Green Deployments は、次の機能ではサポートされていません。
- Amazon RDS Proxy
- Cross-Region read replicas
- Aurora Serverless v1 DB clusters
- DB clusters that are part of an Aurora global database
- AWS CloudFormation
Overview of Amazon RDS Blue/Green Deployments for Aurora – Amazon Aurora
解決方法:RDS Proxy の関連を解除する
本課題は、一時的に RDS Proxy との関連付けを解除するか RDS Proxy を削除することで解決できます。
ただ、解除したり削除すると エンドポイントが変わるのでご注意ください。
deregister-db-proxy-targets — AWS CLI 2.11.10 Command Reference
その 2. Blue 環境が新規で起動できないエンジンバージョンを使用していると Green 環境が構築できない
通常、Blue/Green Deployments 環境を構築すると、数十秒程度で Green 環境が構築されます。
しかし、一時間経っても以下のようなプロビジョニングのステータスから変更されないです。
以下画像のように、Green 環境のクラスターが起動すれば問題ないです。
この罠の厄介なところは、どこにもエラーは表示されずプロビジョニング画面で一生止まっているだけでした。
なので、なにが原因で起動しないのかがまったくもってわかりませんでした。
原因:新規起動できない DB エンジンバージョンを使っていたから
数時間立ってもステータスがなにも変わらないので、AWS サポートに問い合わせして発覚しました。
どうやら、Blue 環境で現在新規起動できない DB エンジンバージョンを使用していることが原因だそうです。
その時は、Aurora 2.09.2 を使っていました。
現時点(2023 年 3 月 17 日)では、以下案内の通り起動できません。
Amazon RDS は、2023 年 4 月 3 日に Aurora MySQL 2.09 (MySQL 5.7 互換) を廃止します。AP-NORTHEAST-1 リージョンに Aurora MySQL バージョン 2.09 を実行している Amazon Aurora MySQL クラスターを 1 つ以上お持ちであるため、このメッセージをお送りしています。
Aurora MySQL インスタンスを Aurora MySQL 2.11.1 以降にアップグレードすることをお勧めします。これらのバージョンには、セキュリティ、安定性、信頼性に関連するソフトウェアの問題に対する修正が含まれているためです [1]。次のいずれかの方法でアップグレードを完了できます。
- インプレースアップグレード [2] を完了する。
- スナップショットと復元プロセス [3] を使用する。
- Amazon RDS Blue/Green デプロイメント [4] を使用して完全に管理できる高可用性ブルー/グリーンアップグレード技術を使用する。
現時点、またこれ以降 MySQL 2.09 以前のバージョンで新しいクラスターを作成できません。ただし、2023 年 4 月 3 日の廃止日までは、既存のインスタンスを引き続き変更できます。
マイナーバージョンアップをするために使うのにバージョンアップが求められるとはジレンマですね。
遅くても数分で Green 環境は立ち上がり、作成中のステータスになります。
なので、10 分程度待っても変化がない場合はなにかしらのエラーが発生していると思われます。
解決方法:今のところなし
AWS サポートに問い合わせたところ問題として認識しているとのことだったので、いずれは改善されるかもしれません。
Blue/Green Deployments 使えばダウンタイムが短くなるので使えなくなる前に定期的にアップグレードすることが対策にはなるかなと思います。
Blue/Green Deployments を使う前提だと解決策はないですが、アップグレードを行うということなら別の方法で実施が可能です。
参考記事
データベースの更新に Amazon RDS Blue/Green デプロイを使用する – Amazon Aurora
新機能 – Amazon Aurora と Amazon RDS でのフルマネージド型 Blue/Green Deployments | Amazon Web Services ブログ
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitter2021年新卒入社。インフラエンジニアです。RDBが三度の飯より好きです。 主にデータベースやAWSのサーバレスについて書く予定です。あと寒いのは苦手です。
Recommends
こちらもおすすめ
-
Amazon SageMaker Debuggerを試してみる
2019.12.25
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 10 %割引になる!
『AWSの請求代行リセールサービス』
2024.07.16