未来の自分が幸せになることを願ってAWSの各作業をここに記します。
Contents
RDS
RDSの自動起動対策
RDSは7日間の停止後に自動で起動してしまう仕様が存在する。
稼働していないシステムで使用しているRDSは止めておきたいという要望が上がってきた。
7日間ごとに停止を手動で行うのは面倒くさすぎるし、ヒューマンエラーが発生する可能性がある。
そんな時に EventManeger にてRDSの自動停止を達成する事ができた。
やったこととしては、以下の通り。
- RDSの自動停止/起動 のスクリプトをLambda で定義
- Lambdaスクリプトを EventManeger にて7日周期で実行するように定義
- 起動 → 停止 の順番で実行するようにしないと、RDS本体の再起動とLambdaスクリプトの停止処理が同時刻に実行されてしまい、自動停止が出来ないよ
Aurora
クラスターとインスタンスという概念がある。
Blue/Greenデプロイ
ダウンタイムを限りなく減らすデプロイ手法のこと。(2系統の環境を作成し、ユーザーが使用しているシステムに影響を少なくする)
当手法では、エンドポイントの切り替えを行う必要がないため、プログラマー目線だとかなり作業が楽。(インフラ担当の作業範囲で収まるため)
実際に経験したユースケースは以下の通り。
- RDS for MySQL の5系から8系へのアップグレード
- インスタンスサイズの変更
上記対応を行った際のダウンタイムは2 ~ 3分程度で切り替えが行われた。これはかなり凄いことだと思う。
以前までの対応だと、以下の対応があると思われるが、当手法ではコンパネから手軽に実施することができる。
- 本番環境とは別にMySQLサーバーを構築し、各種テストを実施後に現環境と旧環境の切り替え
切り替え後はエンドポイントの切り替えを行う必要がある。 - システムメンテナンス期間を設け、現環境の変更を行う。
Blue/Greenデプロイは素晴らしい。。。
EC2