AWS FSx for windowsでスループット値が足りなくてアクセス不能になった話

AWS
この記事は約3分で読めます。
記事内に広告が含まれています。

FSx for Windows ファイルサーバーのファイルシステムには、ファイルシステムの作成時に設定されたスループット容量があります。

元々、FSxのスループットの認識としてあったのは、

  • 秒辺りの転送能力(MB/s)
  • IOPSにも影響ある

ぐらいでした。ディスクが「HDD」タイプであれば、そっちがボトムネックになって引きずられると思っていて、デフォルトの「32MB/s」で問題ないと思ってました。

が、それだけじゃなかったです。

では書いていきます!

どんな症状が起きた?

利用パターンは、FSx for windowsのため、windowsクライアントから共有フォルダとしてアクセスしての利用が主でした。(たまにlinuxのsmb経由でのアクセスもある)

一般的な利用方法ですね。

しかし、複数クライアントからの同時アクセスで、大量のファイル/フォルダ読込の時に、エラーが発生しました。具体的には次の通り。

  • アクセス時にエラー応答
  • Windowsエクスプローラでフォルダが一時的に見えなくなる

※大量アクセスに関してはwindowsのrobocopyのようなツールを利用すると発生しやすいです。それも差分がなくて次々にアクセスするような場合です。通常のエクスプローラーアクセスでは発生しないです。

この事象が一度発生すると、「10分」程度はFSxにアクセス出来なくなります。場合によっては30分~60分ぐらいうんともすんとも言わないこともありました。

もう事故です。

どうすれば良いのか。

結果的には「スループット値」を上げることで変更することで解決出来ました。

※最初は大量アクセスのためにIOPSが足りないのかと思ってましたが、そうではなかったです(SSDでも同様の事象を確認した)。

スループット値は単なるスループットやIOPSだけでなく、FSxシステムの「CPU」や「メモリ」にも関係しています。32MB/sの場合は、メモリ「4GB」で、このメモリはキャッシュや各種バックグラウンド処理にも利用されます。4GBでは処理の許容量を超えてしまったんですね。

2022年9月頃からFSx管理画面にこうゆうわかりやすい図が追加されてました!

私の希望としては、大量アクセスに対するエラーを返すだけにして欲しいのですが、現状はFSxシステムの保護とか再起動が発生してしまうのでしょう(サポート側にも確認)。けど、コンピュータに対するDOSやDDOSアタックでもサーバ側がさばききれくて再起動などが発生してしまいますし、仕方ないのでしょう。

まとめ

スループット値が低いと、FSxが一時的にアクセス出来なくなる事象が発生することがあります。普通にWindowsエクスプローラからチマチマとアクセスするような操作であれば、デフォルトの32MB/sでも問題はありませんが、複数クライアントから大量アクセスするようなユースケースがあれば64MB/s以上にしたほうが良さそうです。

なお、FSxのコストとしてスループット32→64は、日本円で月額1万程度はアップしますが、背に腹は代えられないときもあります。

最後までお読みいただきありがとうございました。

コメント

Top
タイトルとURLをコピーしました