NLB経由でPrivateSubnetへvsFTPdを構成メモ

NLB経由でFTPサーバをPrivateSubnetに配置構成メモ

参考:

[AWS] NLB経由でFTP接続する際の注意点 - Qiita

How to run an FTPS server behind the AWS Network Load Balancer | by Michael Kirk | Medium

 

構成したアーキテクチャ

  • データ転送用ポートは2つ用意
  • passive modeが前提
  • vsftpdサーバは同時起動できない
  • VPC、Subnet、EC2、Linux、vsFTPdは構成済み

f:id:hitoshi-shoji:20201009212949p:plain

アーキテクチャ

1. /etc/vsftpd/vsftpd.conf の設定

 /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=NO
xferlog_enable=YES
connect_from_port_20=NO
xferlog_std_format=NO
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
listen_ipv6=NO
pasv_enable=YES
pasv_addr_resolve=YES
pasv_address=[ NLBのFQDN .amazonaws.com]
pasv_promiscuous=NO
pasv_min_port=60001 ←データ転送用ポート範囲指定(同時接続可能数)
pasv_max_port=60002 ←データ転送用ポート範囲指定
use_localtime=YES
userlist_deny=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=NO
force_dot_files=YES

2. NLB用ターゲットグループ設定

NLB用ターゲットグループは、制御ポート用、データ転送ポート用(pasv_min_port~pasv_max_port) を作成する。

f:id:hitoshi-shoji:20201010005052p:plain

ターゲットグループ一覧

データ転送ポート用(pasv_min_port~pasv_max_port) ターゲットグループ作成時は、HealthCheck項目のportをOverride選択して21にすることを忘れないようにします。

 

f:id:hitoshi-shoji:20201010005337p:plain

ヘルスチェック Overrideを21にする

 

3. NLB作成

 NLB作成は、以下のように制御用ポート、データ転送用ポート(2.で作成したターゲットグループを指定)を作成する

f:id:hitoshi-shoji:20201010010122p:plain

リスナー設定

 4. ftpでNLB(FQDN)へ接続検証

  • FFFTP Ver4.7、WinSCP 5.17.7 で稼働確認できました。
  • データ転送ポートはどれくらい確保すべきか。。