AzureにロードバランサおよびVMを2台建ててFTPサーバーを構成したが、インターネットからFTPサーバーにアクセスができない場合の確認ポイントについて記載します。
次のことを前提とします。
- VMの前にはパブリックロードバランサーが配置されている
- FTPサーバーの接続にはポート21番および10000-10001番を利用する(パッシブモード)
VM1台のみの時はFTPサーバーへのアクセスに問題なし、VM2台同時に起動するとFTPサーバーへのアクセスができない場合、ロードバランサの負荷分散ルールの「セッションの永続化」の設定を確認する必要があります。
「セッションの永続化」が「なし」になっている場合、同じクライアントからの連続する接続要求を異なるVMが処理する可能性あります。この場合、FTPサーバーとの接続に必要となる制御用セッション(ポート21番)とデータ転送用セッション(ポート10000-10001番)が異なるVMで処理されることになり、FPTサーバーへのアクセスができません。
「セッションの永続化」を「クライアントIP」または「クライアントIPとプロトコル」に設定すると、同じクライアントからの接続要求は同じVMで処理されるため、2台のVMが起動している場合でもFTPサーバーへのアクセスが可能となります。