EFSをマウントしたEC2からWindowsで書き込みまでに時間がかかる

はじめに

瀬田@大阪オフィスです。
マネージドファイルサーバサービスであるEFSはめっちゃ便利なんですが、Windowsには対応していません。それじゃあLinuxにマウントしてsambaで共有したろかい、となりますがちょっと待った!検証結果をご覧ください。

結果

最初に検証結果だけ提示します。

  • EC2+samba+EFS構成でWindowsマシンからのファイル共有は接続遅延が発生する
  • 書き込み処理の前に1分程度の待機時間が発生
  • AWSはWindows非対応とうたっているため、FSx for Windowsの利用が推奨される

検証

動作検証

まずは動作検証です。こちらの記事を参考に構築します。

EFSをマウントしたEC2からWindows PCにファイル共有してみた

共有ができたので書き込んでみましょう。

 

以下の状態が1分程度続いた後、書き込み処理が始まります。どうも、書き込み前の処理で何か起きてるっぽい。

書き込み処理自体の速度は体感的には普通でしたが、ここでは速度計測はしません。

要因の切り分け

smbサーバ上でのEFSへの書き込みで再現するか

問題なく書き込めました。

Linuxマシンからのsmb経由でのEFS書き込みで再現するか

問題なく書き込めました。

Windowsからsmb経由でEBSへの書き込みで再現するか

問題なく書き込めました。

推測

状況からsmbサーバ側の問題ではなくWindowsとEFS間の問題と推測されます。

詳細調査

パケットキャプチャ

GetInfo Request〜GetInfo Responseで60秒、Tree Connect Request〜Responseで30秒かかっています。

改善を試してみる

  • NFS4.1では不要なサービスであるrpcbindを無効化したが改善せず。
  • 対象はIPC$管理共有へのアクセスなので、Remote IPCを無効化するためにserverサービスを無効化したが改善せず。
  • sambaのタイムアウト系の設定を調整したが改善せず。

本日はここまでで時間切れです。

最後に

残念ながら、原因の究明、改善までたどり着くことはできませんでした。基本的にはWindows非対応がうたわれているEFSのため、FSx for Windowsをご利用いただくことがおすすめです。