【新卒 / 中途採用】サーバー / クラウドエンジニア 募集中!【大阪】

【新卒 / 中途採用】サーバー / クラウドエンジニア 募集中!【大阪】

Shopifyアプリ開発者が語る!Shopifyのカスタマイズ解説【ビヨンド勉強会#32】

Shopifyアプリ開発者が語る!Shopifyのカスタマイズ解説【ビヨンド勉強会#32】

【導入実績300社以上】AWS 構築・運用保守サービス

【導入実績300社以上】AWS 構築・運用保守サービス

【ECサイト構築】Shopify カスタムアプリ開発サービス

【ECサイト構築】Shopify カスタムアプリ開発サービス

【スマホ決済】PayPay ミニアプリ開発サービス

【スマホ決済】PayPay ミニアプリ開発サービス

【100URLの登録が0円】Webサイト監視サービス「Appmill」

【100URLの登録が0円】Webサイト監視サービス「Appmill」

【対談記事】彼らはどのようにサービスを移管しているのか?インフラ担当会社ビヨンドと共に内情を明かす

【対談記事】彼らはどのようにサービスを移管しているのか?インフラ担当会社ビヨンドと共に内情を明かす

ビヨンド公式YouTubeチャンネル「びよまるチャンネル」

ビヨンド公式YouTubeチャンネル「びよまるチャンネル」

ec2にてftpでパッシブを使用するときにハマったポイント


インフラチームの伊藤です。

ec2インスタンスでFTP(vsftpd)をパッシブで使う機会があったときになかなかうまくFTPの通信が出来なかったので、
押さえておくべきポイントを紹介しておきたいと思います。

vsftpdって、Very Secure FTP Daemonの略だったんですね。

セキュリティグループだけじゃない

ec2のファイアウォールとしてセキュリティグループで制御する方が多いかと思います。

セキュリティグループを使って、FTPを使用するIPアドレスのみを許可する、って流れですね。
また、FTPでパッシブを使うときは、セキュリティグループにてパッシブのポートも解放してあげる必要があります。

こんな感じ
SnapCrab_NoName_2016-4-25_23-4-43_No-00

で、vsftpd側でも設定してあげます。
パッシブを使う、パッシブに使うポートの設定です。

# vim /etc/vsftpd/vsftpd.conf
pasv_enable=YES
pasv_min_port=60000
pasv_max_port=60030

ただ、これだけじゃ繋がらないんですよね。。。

ec2においてvsftpdがパッシブするときの通信

ec2って、基本的にパブリックIPを知らないんですよね。
ifconfigしてみると、ローカルIPのみ返ってきますよね。

ってことは、パッシブ通信を行うのは「ec2インスタンスのローカルIP」ということになります。
「ftp通信は出来るけど、パッシブ通信が出来ないからディレクトリの一覧は出せないよ」というようなことになり、FTP接続に失敗します。

これを解決するには、パッシブ通信をすべきIPアドレスをvsftpdに設定してあげるとOKです。
こんな感じ。

# vim /etc/vsftpd/vsftpd.conf
pasv_address=<パブリックIP>

FTPはこれで大丈夫です!!


この記事をかいた人

About the author