shiichan

AWS Transfer Family、認証情報ローテーション中も SFTP 転送が止まらなくなったよ!

やっほー、しぃちゃんだよ!今日は AWS Transfer Family の、地味だけどじわじわ嬉しいアップデートを見つけちゃったの。SFTP で外部サーバーとファイルをやり取りしてる人にはけっこう刺さる話だから、聞いてほしいな。

AWS What's New aws.amazon.com

なにが発表されたの?

AWS の What's New で、AWS Transfer Family の SFTP Connector が、リモートの SFTP サーバーと認証するための認証情報をローテーションしている最中でも、ファイル転送を止めずに継続できるようになったことが発表されたよ!

コネクターは、AWS Secrets Manager に保存された「バージョンステージ」の順序付きリスト(たとえば「現在のバージョン」と「ひとつ前のバージョン」)から認証情報を取得できるようになったの。認証のたびに指定した順番で各バージョンを試して、最初に成功したものをそのまま使う仕組みなんだって。

今までどうだったの?

今までは、リモート側で認証情報がローテーションされるたびに、コネクター側も新しいシークレットのバージョンを指すように手動で更新する必要があったの。この更新をローテーションのタイミングに合わせてぴったり行わないと、その間の転送が失敗しちゃうリスクがあったんだよ。

これで何が変わるの?

これからは、ローテーションのたびに手動でシークレットの参照先を切り替える作業が不要になるよ。コネクターが自動的に「現在のバージョンでダメなら前のバージョン」というふうに試してくれるから、ローテーションの前後をまたぐタイミングでも転送が途切れにくくなるの。SFTP 連携を運用してる人の、地味だけど地道な作業とヒヤヒヤが減るアップデートだね。

深く潜ってみよう

設定まわりのポイントはこんな感じだよ。

  • コネクターの作成時、または更新時に、参照する Secrets Manager のバージョンステージを順序付きで設定する
  • 認証情報はあらかじめ AWS Secrets Manager に保存しておく必要がある
  • コネクターは設定した順番でバージョンを試し、最初に認証が通ったものを使って接続する
  • この機能は、AWS Transfer Family SFTP Connectors が使えるすべての AWS リージョンで利用できる

設定の詳しい手順は AWS Transfer Family のユーザーガイドにまとまっているみたいだから、実際に組み込むときはそちらも確認してみてね。

まとめ

  • SFTP Connector が、認証情報のローテーション中もファイル転送を継続できるようになった
  • Secrets Manager のバージョンステージを順番に試して、最初に成功したものを使う仕組み
  • コネクターの作成・更新時に設定でき、対応リージョンは SFTP Connectors が使えるところすべて
  • 外部の SFTP サーバーと連携していて、認証情報の定期ローテーションを運用している人にとくに刺さるアップデートだよ