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

2019.09.13

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

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

追記

以下資料の11頁で、明示的に「CIFS/SMB はサポート対象外」との記載があるため、このユースケースでの利用は不可となります。サポートも受けられないためFSxのご利用をご検討ください。

結果

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

  • 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秒かかっています。

改善を試してみる

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

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

最後に

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