AWS上でサーバをメンテナンスするときはALBを活用することで、バグ・設定ミス・サービス停止などのリスクを低減することができます。今回はALBを活用したサーバの一般的なメンテナンス方法について解説します。
目次
1. メンテナンス方法概要
今回説明するメンテナンス方法については、以下の通りを想定しています。
・既存サーバからバックアップイメージ取得
・既存のサーババックアップイメージからEC2を起動
・サーバメンテナンス(アップデートや機能追加など)
・メンテナンス用ALBへの取り付けとテスト
・本番用ALBへの取り付け
・既存サーバの取り外し
運用として停止ができないサーバを想定しています。また、切り戻し手順は必ず確保しましょう。
2. 構成図
今回は以下の構成を想定します。

3. 設定方法
まずは現在稼働しているサーバからイメージバックアップの取得と起動までを実行します。バックアップ、起動方法については以下ページをご確認いただき実行をお願いします。
起動まで完了したら、サーバに対してメンテナンスを実行します。ローカルでの動作チェックが完了したら次にメンテナンス用のALBへ取り付けを実行します。
※ALBの作成・EC2取り付け方法については以下ページの「3. ロードバランサー作成」をご参照ください
メンテナンス用ALBのアドレスに対してアクセスし、アップデート内容の確認とデグレードがないかを確認します。ここに時間をかけることで切り戻す確率を各段に低くすることができるはずです。
テストまで完了できればあとは、本番用ALB配下へ取り付けるだけです。ここで注意点は既存のサーバと新規サーバとが一時的に同時稼働するので、セッションの持ち方を考える必要があります。
同一サーバで接続をし続けなければ処理ができない作りであればスティッキーセッション(一度受けたセッションは、同一サーバへ振り分ける設定)の設定をしておきましょう。
最後に既存のサーバを取り外します。
既存で稼働しているサーバを本番環境から取り外すとき接続中のユーザがいる可能性があるので、「Deregistration delay」(ALBから取り外し後、セッションをどれだけの間維持するか)の値は環境に合わせて長めに設定するほうが良いでしょう。
サービス → EC2 → ターゲットグループを選択後、以下設定を実行

4. まとめ
今回はALB配下にあるサーバのメンテナンス方法について解説しました。上記内容を環境に合わせて手順化・自動化してしまえば、工数短縮・サーバ無停止で余裕のメンテナンスが実行できると思います。
また、もし大きなミスをしても既存サーバからバックアップ起動し早急に戻せることもAWSの魅力の一つですね。
最後まで読んでいただき、ありがとうございました。