【その3:フェイルバック編】CloudEndure Disaster RecoveryでEC2をAZ間DR

記事タイトルとURLをコピーする

CSM課の佐野です。
CloudEndure Disaster Recoveryのご紹介も3つ目の記事になってしまいました。
前回の記事までに準備・フェイルオーバーと続いたので、今回はフェイルバック手順をご紹介したいと思います。
これまでのご紹介内容については、以下のブログをご覧くださいませ。

やりたいこと

以下のフェイルバックシナリオを仮定します。

  • DR発生時はEC2「Windows2016」がAZ「ap-northeast-1a」から「ap-northeast-1c」にフェイルオーバー
  • AZ「ap-northeast-1a」が復旧したら、「Windows2016」を元のAZ「ap-northeast-1a」にフェイルバックして戻す

このフェイルバック処理は、同VPC内のAZ間だけでなく、リージョン間DRを検討されている方には必須となると思われます。
操作はフェイルオーバーと大きく変わりません。さっそく確認していきましょう。

フェイルバック

DR発生の原因が取り除かれ、DR元だったAZが復旧したら、フェイルバック動作を行います。
フェイルオーバーしたリカバリ用のマシンが構築されていることを確認して、CloudEndureコンソール上の「Machines」の詳細画面の右上、「PROJECT ACTIONS」から「Prepare For Failback」を選択します。

以下の画面で「現在のターゲットマシンがソースマシンとして扱われる」と説明されていますね。確認して「CONTINUE」をクリックします。
その後、CloudEndureコンソールのプロジェクト名の横を見ると、「Preparing for failback to original Source」としてプロジェクト全体がフェイルバックのモードに入った状態になります。

CludEndureコンソールに新しくマシンを登録した際と同じく、データの初期同期が開始されます。
また、マシンの詳細には「FAILBACK SETTINGS」というタブが出現しますが、こちらはフェイルバック用のレプリケーションサーバについての設定項目です。
準備編で設定した内容がそのまま反映されていますが、もし変更したい場合はここで設定をすることが可能です。

フェイルバックするEC2の初期同期~データの継続的レプリケーションに入ったら、「BLUEPRINT」の設定が可能です。
フェイルオーバー編を参考に、今度は元のAZに戻す方の設定を実施します。
おそらく、サブネットやIPアドレスの設定がフェイルオーバーの時と変更になると思いますので、よく確認しながら設定してください。

フェイルバックも同じく、無停止フェイルバックテストと本番フェイルバックの両方が実施可能です。
詳細な手順につきましては、フェイルオーバー編とまったく同じになりますので、割愛します。
この手順を行うことで、元のAZ「ap-northeast-1a」にサーバをフェイルバックできました。

プロジェクトをDR前の状態に戻す

一連のフェイルバック動作で、プロジェクトに登録されたサーバをすべて元のAZ「ap-northeast-1a」にデータを保って戻すことができたら、 CloudEndureコンソールでのプロジェクトのモードを「通常のオペレーション」=「DR前の状態に戻す」ことが必要です。
CloudEndureコンソール上の「Machines」の詳細画面の右上、「PROJECT ACTIONS」から「Return To Normal Operation」を選択します。

フェイルバックの時と同じく、「現在のターゲットマシンがソースマシンとして扱われる」となり、データの向きが元に戻りますと説明されています。
もちろんそのようにしたいので、「CONTINUE」で次に進みましょう。

ターゲットだったAZ「ap-northeast-1a」側のサーバがソースサーバとして初期同期が始まり、準備編の最後の状態までに戻りました。
プロジェクトの状態もフェイルバックから解除されていますので、追加でサーバを登録することも可能です。
長かったですが、これでフェイルバック作業は完了です!お疲れ様でした!

Windowsサーバでハマったこと

Windowsサーバでフェイルオーバー実行後にフェイルバックをすぐ実施すると、データの初期レプリケーションが長時間完了しない現象が何度か発生し、しばらくハマりました。。。
そこでOSにログインしてみると、なんとデスクトップ右下に「Windowsのライセンス認証エラー」が。
「コントロールパネル」>「システム」の画面にも、ライセンス認証がされていないエラーが出ておりました。

もしかしてこれが原因かと思い、こちらのAWSドキュメントの手順でEC2インスタンスのメタデータサービスへのルーティング追加とWindowsライセンスを再認証すると、レプリケーションが完了できました。

CloudEndureエージェントはマシンの特定のため、EC2インスタンスのメタデータ情報を収集しています。
フェイルオーバー/フェイルバックはソースマシンとなるEC2インスタンスのOSの状態をそのまま保ちますが、AZ間の移行でサブネットのCIDRおよびIPアドレスが変化したことによって、元のOS上の情報ではメタデータサーバにアクセスできなくなったことが、初期レプリケーションが完了しないエラーと、Windowsライセンスの再認証が必要になった原因と思われます。
もしフェイルオーバー/フェイルバック直後に同様の事象が発生した場合は、上記の手順を試してみてください。

参考:"Windows のライセンス認証ができません"
参考:Understanding the Agent Installation Process

フェイルバック編のおわりに

3回の記事に分けてCloudEndure Disaster RecoveryでVPC内のAZ間でEC2をDRする手順についてご紹介しました。
準備とDRの流れのイメージさえつかめれば、あとの操作はCloudEndureコンソールでクリック作業なので、そこまで難しくありません。
AWS内でのDR対策にCloudEndure Disaster Recovery、そして本ブログがお役に立てれば幸いです。

佐野 史織 (記事一覧)