FSx for Windows File Server の Multi-AZ の可用性について

AWS

2023.1.10

Topics

こんにちは、skです。
FSx for Windows File Server を Multi-AZ 構成でアクティブのAZが落ちた場合、処理はどうなるのだろうと思うことがありました。その答えのヒントは、Amazon FSx for Windows File Server のよくある質問にありました。
そこには、アクティブ側で障害を検出した場合、30秒以内にフェイルオーバーが行われ、優先されるサブネット側のファイルサーバーが復活すると、フェイルバックが30秒以内で行われるといった内容が記載されています。
フェイルオーバーされるから処理も継続するはず…と思いつつも、なんだか「もやっ」としていたのは、自分でテストしていないからだと思いました。そんな訳で簡単なテストを行うことにしました。

確認する内容

FSx for Windows File Server を Multi-AZ 構成し、EC2上でネットワークドライブを割り当てた状態で書き込み処理が行われ続ける場合においてフェイルオーバーが発生した場合、処理は継続する?それともフェイルオーバーのタイミングで切断される?どっち!

構成

構成

テスト方法

  1. Multi-AZ の構成で FSx for Windows File Server を構築
  2. ネットワークドライブを割り当て
  3. ネットワークドライブに書き込み続けるバッチファイルを配置し実行
  4. スループット容量の変更(※Multi-AZの場合、フェイルオーバー、フェイルバックが発生する)
  5. バッチファイルの実行の継続について結果を確認

前提

  • EC2 の Windows サーバで AD(Active Directory)サービスを構築済みとする

実施内容

1. Multi-AZ の構成で FSx for Windows File Server を構築

FSx for Windows File Server を構築をします。デプロイタイプについて「Multi-AZ」を選択します。

FSx構築img1

Windows認証については「自己管理型」を選択しました。構成の通り EC2 に Windows サーバの Active Directory と、FSx for Windows File Server が連携されます。

FSx構築img2

ファイルサーバーが作成された後、「DNSエイリアスの管理」の設定を行います。この設定を行うと、例えばファイルサーバへの接続ドメインとして払い出されたサブドメインを、「fsx.domain.local」のように任意のサブドメイン名でアクセスできるようになります。

FSx構築img3

具体的な手順については下記に記載されていますので参照ください。

DNS エイリアスを使用してファイル システムにアクセスする

2. ネットワークドライブを割り当て

下記コマンドでネットワークドライブを割り当てます。

net use Z: \\fsx.domain.local\share

3. ネットワークドライブに書き込み続けるバッチファイルを配置し実行

下記バッチファイル(output.bat)を Z:ドライブ に配置します。バッチファイルは1秒間隔でタイムスタンプを出力する内容になります。

@echo off

:loop

 echo %time% >> target_time.txt
 powershell sleep 1

goto :loop

コマンドプロンプトで Z: ドライブに移動し、バッチファイルを実行します。

Z:\> output.bat

4. スループット容量の変更

スループットキャパシティの変更を行うことにより、フェイルオーバー、フェイルバックが発生します。これでバッチ処理の継続の検証を行います。

スループットキャパシティの変更

5. バッチファイルの実行の継続について結果を確認

結果は、バッチファイルの処理は継続されました。但し、書き込み処理の停止タイミングが2回発生していることを確認しました。恐らくは、フェイルオーバー、フェイルバックと思われるタイミングで、10秒~20秒程度の停止が発生したと思われます。

  • 約21秒の書き込み停止(停止ポイント1回目)
    停止img1

  • 約10秒の書き込み停止(停止ポイント2回目)
    停止img2

結果とまとめ

今回の検証の結果、処理が切断されず継続することを体験できました。AWSの資料の通り、30秒以内にそれぞれフェイルオーバー、フェイルバックが行われているところや、完全なネットワークの切断や処理の停止までには至らないことが分かりました。
ちなみに Single-AZ 構成で同じ検証をしましたが、復活までの時間がかかり、かつ冗長構成でも無いため、予想通りネットワークドライブが切断される結果となりました。
AWSサービスは、メンテナンスウィンドウを設けるタイミングもあり、サービスを継続して利用する為には、Multi-AZ 構成で構築するのが良いと改めて実感しました。

sk

こんにちは。マイグレーションチームメンバーの sk です。自分のペースでAWSを勉強中です。学んだことなどを紹介できればと思います。

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら