検証環境としてAWS Transfer for SFTPを使う
ここ数年、夏に北海道旅行するのが定番になっていたのですが、さすがに今年は行けそうにない。つらたん。
検証用のSFTPサーバが欲しい
toBな仕事をやっていると、「SFTPサーバにログインして、ファイルを(アップロード|ダウンロード)してください」みたいなことはよくありますよね。
そして、いざ開発をしているときには、検証用のSFTPサーバが欲しいと思うこともありますよね。
単純な構成あればDockerで用意すればいいけど、そうでない場合も多々ありますよね。
そんなときでもAWS Transfer for SFTP
を使えば良い感じに用意できそうですよね。
やってみました。
要件
- 事前に申請されたIPアドレスからのみ、SFTPサーバにログインできる
- SFTPサーバにログインするアプリケーションは、オンプレのサーバに鎮座
- オンプレのサーバはグローバルIPを持っていないので、プロキシなどを通す必要がある
- プライベートサブネットに既にプロキシがある(且つ、NAT Gateway経由で外に行ける)
- オンプレとAWS間はDXで繋がっている
大まかな要件はそんな感じ。
オンプレからプライベートサブネット内にいるプロキシを経由する、で問題は無さそうです。
構成図
こんな感じかな。インフラ構成図を書くのが好き。
自動生成されるVPC Endpointにハマる
検証用だし、インターネットに公開する必要はないよね。
ということで作成画面では↑のように選択するわけですが、これで進めていくと最終的にENIとVPC Endpointが自動生成されます。
最初、このVPC Endpointに気付かず、プロキシから先の通信が通らないことに30分ほど頭を悩ませていました。
まとめ
無事に検証用のSFTP環境が用意できて、アプリケーションの動作確認も瞬殺で終わって、いやもう素敵やん。
そんなAWS Transfer for SFTP
ですが、データの操作をしていなくても「0.3ドル/1時間」の料金が掛かります。1ヶ月だと200ドルを超えちゃいます。
検証が終わったら削除しておくのが良さそうです。掃除は大切。