4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

RDSのblue/greenデプロイメントを試行

Last updated at Posted at 2023-12-03

背景

私自身、開発が中心の仕事内容でしたが最近は
運用やデプロイ周りのタスクが出てきました。

その中でもRDSを触ることが多くなってきましたが、以下のような内容を
AWS様から進められました。

alert_rds_bule_green.png

というわけで、blue/greenデプロイメントを実際に試してみた!
。。というシンプルな記事になります。

概要

Blue/Greenデプロイメントとは?

Blue/Greenデプロイメントは、ソフトウェアのデプロイメント手法の一種です。
システムのアップデートや新機能のリリースをスムーズかつ安全に行うために使われたりします。

本番環境におけるアプリケーションやサービスのリリースにも使用されます。

Blue/Greenについて

Blue/Greenデプロイメントでは、次の2つの環境が利用されます。

  1. Blue環境(本番環境):
    本番環境として稼働している状態。
    ユーザートラフィックはこの環境に向けられる。

  2. Green環境(ステージング環境):
    新しいバージョンのアプリケーションやサービスがデプロイされた環境を指す。
    Blue環境とは別に構築され、テストや検証が行われた後、
    本番環境への切り替えが行われる。

試しにデプロイしてみよう!

1. 適当にデータベースを作成しよう

デプロイ用に何かしらデータベースを作成しましょう!
画像上部に記載されてますが、アップグレード中のダウンタイム最小限に抑えることを
目的として、AWSが推奨してるっぽいですねえ。

alert_rds_bule_green.png

データベース作成参考:

2.Blue/Green デプロイメントの作成

手順1で作成したデータベースを選択し、
「アクション」から「ブルー/グリーンデプロイの作成-新規」を押下。

スクリーンショット 2023-12-03 22.23.10.png

次は識別子を命名します。

3_setting_iden.png

「_(アンダースコア)」など識別子に使えない文字列や記号に注意!
下記添付画像参照

6_setting_error_validation.png

最後にストレージやコストを確認し、問題なければ
「ステージング環境の作成」を押下して作成実行!

5_setting_execute.png

下記エラーが出たら。。

作成したデータベースは、バックアップが存在しないと
blue/greenデプロイメントできないみたいです。。

8_setting_error2.png

その場合は、データベースに戻り
「アクション」→「バックアップを有効にする」を押下してバックアップを作成しましょう。

※バックアップ作成には10分程度かかりその間は手順を進められないことに注意。。

9_backup.png

3. 作成後の確認

データベースを選択し、Blue/Green デプロイメントの詳細を見てみましょう。

各タブには、Blueデプロイ用のセクションとGreenデプロイ用のセクションが存在します。
グリーン環境の RDS DB インスタンスは変更を加えることが可能です!

11_blue_green_sample.png

4. 切り替えをしてみよう

Green 環境に必要な変更を行ったら、
Blue/Green デプロイメントのデータベースを選択し、
「アクション」→「切り替え」を選択して切り替えを実行してみましょう!

12_切り替え.png

Blue環境とGreen環境の設定を確認して。。

14_切り替え1.png

タイムアウトも設定します。

切り替えに指定した期間よりも長い時間がかかる場合、
変更はロールバックされることに注意!

timeout.png

設定に問題ないことを確認したら、「切り替え」を押下すると完了です!
切り替えを実行すると、下記のようにステータスが「切り替え」になります!

FireShot Capture 015 - データベース - RDS - ap-northeast-1 - ap-northeast-1.console.aws.amazon.com.png

5. 実行確認

数分後に切り替えが完了しました!
Blue環境名に「old」がついており、Green環境が新しい本番データベースということになります。

手順自体はそんなに時間もかからず難しくないですね!

FireShot Capture 017 - データベース - RDS - ap-northeast-1 - ap-northeast-1.console.aws.amazon.com.png

注意点

・旧Blueの環境から、Green環境を再度つくることはできない
・切り替え後に切り戻しはできない

参考文献

・RDSのBlue/Greenデプロイメントを試してみた。

・Amazon RDS DB インスタンスの作成

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?