Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@hayao_k

Direct Connect経由でAWS Transfer for SFTPを利用する

2021/5/6 追記

本記事に記載されている手順は VPC_ENDPOINT エンドポイントタイプと呼ばれる現在は非推奨となった方式を利用する手順になっています。2020年1月以降は VPC エンドポイントタイプが利用可能になっており、現在はこちらの方式が推奨されています。

VPC_ENDPOINT エンドポイントタイプではユーザーが事前に PrivateLink による VPC Endopoint を作成しておく必要はありましたが、VPC エンドポイントタイプではその必要はありません。サーバー作成時にエンドポイントのタイプに VPC でホスト、アクセスを 内部 とすることで自動的に AWS マネージドのエンドポイントが作成され、それを利用する形になります。PrivateLink の利用料金も発生しません。

image.png

VPC_ENDPOINT エンドポイントタイプ と VPC エンドポイントタイプの機能は同等ですが、新機能は VPC エンドポイントタイプ に実装されます。また 2020年1月以降は VPC_ENDPOINT エンドポイントタイプのサーバー起動は AWS CLI/SDK 経由でのみ可能でしたが、2021/5/19 以降、VPC_ENDPOINT エンドポイントタイプを使用した新規サーバー構築ができなくなる旨が AWS Storage Blog で発表されています。

その他参考リンク

追記おわり。

はじめに

AWS Transfer for SFTP が PrivateLink をサポートしたため、VPCエンドポイントを使用して
インターネットを経由せずにS3へのSFTP転送が可能になりました。

やってみる

最初にVPCコンソールからVPCエンドポイントを作成します。
コンソールからは 2つのサービス名
(com.amazonaws.<region>.transfer と com.amazonaws.<region>.transfer.server )
が確認できるのですが、サーバー作成&接続に必要なのは
com.amazonaws.<region>.transfer.server のエンドポイントです。
com.amazonaws.<region>.transfer はCLI操作等でAPIエンドポイントへの
接続が必要な場合に利用します。
image.png
VPCやサブネット、セキュリティグループを設定してエンドポイントを作成します。
image.png
Transfer for SFTP サーバーの作成は Endpoint configurationで VPC を選択し
最初に作成したVPCエンドポイントのIDを選択すればOK、その他オプションの設定は通常と変わらずです。
image.png

作成後すぐに利用可能になります。
通常のパブリックエンドポイントと比較した注意点としては
カスタムホスト名をサポートしていないくらいかなと思います。
image.png

VPCエンドポイントのDNS名を指定して接続、転送することができました。

$ sftp -i .ssh/id_rsa user@vpce-xxxxxxxxxxxxxxxxx-yyyyyyyy.server.transfer.ap-northeast-1.vpce.amazonaws.com
Connected to user@vpce-xxxxxxxxxxxxxxxxx-yyyyyyyy.server.transfer.ap-northeast-1.vpce.amazonaws.com.
sftp> !ls test.txt
test.txt
sftp> put test.txt
Uploading test.txt to /<bucket_name>/test.txt
test.txt                                                                                                                                                                                                                                                         100%    0     0.0KB/s   00:00
sftp> ls test.txt
test.txt
sftp> bye

エンドポイント作成時にプライベートDNS名を有効にするにチェックを入れていれば、
VPC内やRoute53 Resolverを利用している環境では
server.transfer.ap-northeast-1.amazonaws.com を使用しても名前解決可能です。

$ dig server.transfer.ap-northeast-1.amazonaws.com +short
10.xxx.xxx.xxx
10.xxx.xxx.xxx

Direct Connect経由やVPCに閉じた形でS3へのSFTP転送が可能に
なったことでより使いやすくなったと思います。
簡単ですが、参考になれば幸いです。

3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
hayao_k
2019~2021 APN AWS Top Engineers / AWS Community Builder に選出いただきました。 掲載内容は個人の見解であり、所属する企業を代表するものではありません。
saison_information_systems
モード1(守りのIT)・モード2(攻めのIT)を兼ね備えたバイモーダル・インテグレーターとしてデータ連携プラットフォームのHULFTシリーズ, リンケージサービス, 流通ITサービス, フィナンシャルITサービスを提供します。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?