こんにちは、近藤(りょう)です!
今回は、フルマネージドでコード不要のウェブアプリケーションである AWS Transfer Family Web Apps を検証する機会がありましたので、その特徴と設定方法をご紹介します。
- AWS Transfer Family Web Apps とは?
- AWS Transfer Family Web Apps の特徴
- AWS Transfer Family Web Apps の制約
- AWS Transfer Family Web Apps のコスト
- AWS Transfer Family Web Apps の設定
- AWS Transfer Family Web Apps アクセス
- カスタムURLとエンドユーザー向け手順
- まとめ
AWS Transfer Family Web Apps とは?
AWS Transfer Family Web Apps は、認証されたユーザーがAmazon Simple Storage Service (Amazon S3) の特定バケット内のファイルを一覧表示・アップロード・ダウンロード・コピー・削除できるフルマネージドのノーコードWebアプリケーションです。
コードを一切記述することなく、ファイルデータの交換を簡単かつ安全に実現できます。
AWS Transfer Family Web Apps の特徴
ユーザビリティ・管理
- Amazon S3に保存されたデータへWebブラウザから簡単にアクセス・管理が可能
- フルマネージドでコードの開発や独自アプリケーションのホスティングは不要
ファイル転送機能
- 最大160GiBのファイルアップロード・ダウンロードに対応
- TLSで保護されたHTTPS接続による安全なデータ転送
認証・認可
- 認証には AWS IAM Identity Center を必須で利用(SAML/OIDC連携に対応)
- S3 Access Grantsを利用し、表示・ダウンロード・アップロードなどの詳細なアクセス制御が可能
AWS Transfer Family Web Apps の制約
AWS Transfer Family Web Apps には以下の制約があります。
- クエリあたりの検索結果の最大数:10,000件
- クエリあたりの最大検索範囲:10,000件のファイル
- ファイルの最大アップロードサイズ:160GB(149GiB)
- コピー可能なファイルの最大サイズ:5.36GB(5GiB)
- ドット(.)で始まる・終わるフォルダ名は非サポート
クロスアカウントバケットについては現在サポートされていないため、今後のアップデートに期待したいところですね。
AWS Transfer Family Web Apps のコスト
AWS Transfer Family Web Apps の料金はWebアプリケーション単位 + 時間で発生します。
項目 | コスト |
---|---|
Webアプリケーションが有効になっている時間 | USD 0.50/時間/ユニット |
- 利用可能なリージョンで一律の料金でした。
- ユニットあたり5分間に最大250の一意のセッションを提供可能です。
- 1ユニットを24時間稼働させると 12USD/日、1か月では 360USD となります。
AWS Transfer Family Web Apps の設定
Amazon Web Services ブログ に設定方法が記載がありましたのでそちらをベースに進めていきます。 aws.amazon.com
前提
- IAM Identity Center が有効になっていること
- WebアプリケーションからアクセスしたいS3バケットが作成済みであること
ウェブアプリの作成
Transfer Family > ウェブアプリ > ウェブアプリを作成

ウェブアプリを作成
権限タイプとウェブアプリユニットを選択して「次へ」進みます。
権限タイプで作成したロールを利用したい場合は「Create an identity bearer role」を参照ください。
「新しいサービスロールを作成して使用する」を選択した場合、内容としては同じものが作成されます。

ウェブアプリユニット は 4つから選択できるようです。

ウェブアプリのデザインを入力して「次へ」進みます。
今回は、ServerWorksのロゴとファビコンをアップロードしてみました。

確認画面が表示されるので問題なければ「ウェブアプリの作成」をします。
ユーザーまたはグループの割り当て
AWS Transfer Family Web Apps にアクセスできるIAM Identity Center に登録しているユーザーまたはグループを割り当てます。
今回は、IAM Identity Center のグループ(groupA)を割り当てます。




S3 Access Grantsの設定
S3 Access Grants で利用するIAMロールを作成します。
Create an access grants role の項目を参照下さい。
今回の S3 Access Grants で利用するIAMロールのポリシーには AmazonS3FullAccess をアタッチしていますが必要に応じて権限を検討下さい。
docs.aws.amazon.com
S3 Access Grants を作成します。(作成済みの場合はSkip)
Amazon S3 > Access Grants > S3 Access Grants インスタンスを作成

利用する IAM アイデンティティセンターインスタンスの ARN を入力して「次へ」進みます。

AWS Transfer Family Web Apps で利用するS3バケットを選択して「次へ」進みます。

以下、必要な項目を入力または選択して「次へ」進みます。
- サブプレフィックス
- 許可の範囲を設定します。(プレフィックスがなくても作成されます。)
- 許可
- ✅ 読み込み
- ✅ 書き込み
- 被付与者タイプ
- IAM Identity Center の情報から設定します。
- ディレクトリアイデンティティタイプ
- IAM Identity Centerのユーザーもしくはグループの単位で許可を指定できます。(IAM Identity Center のユーザーまたはグループIDが必要となります。)

確認画面が表示されるので問題なければ「完了」を押下します。
Amazon S3 CORS の設定
Amazon S3 バケット側で、CORS の設定が必要です。
Amazon S3 > バケット > 対象のバケットを選択して
アクセス許可 > Cross-Origin Resource Sharing (CORS) を設定します。
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET", "PUT", "POST", "DELETE", "HEAD" ], "AllowedOrigins": [ "https://{ウェブアプリエンドポイント}", "https://*.{ウェブアプリエンドポイント}" ], "ExposeHeaders": [] } ]
AWS Transfer Family Web Apps アクセス
AWS Transfer Family Web Apps の接続URLは「AWS Transfer Family > ウェブアプリ > 作成したアプリ > アクセスエンドポイント」から確認できます。

AWS Transfer Family Web Apps 画面
ウェブアプリのURLにアクセスすると、AWS IAM Identity Centerのログイン画面が表示されますのでログインを行うと AWS Transfer Family Web Apps の画面が表示できます。

ロゴとファビコンも表示されていました。
ページタイトルは長かったので見切れてました。

AWS Transfer Family Web Apps 操作
バケット内のファイルの一覧表示・アップロード・ダウンロード・コピー・削除は問題なく操作できます。
フォルダ作成はできましたがフォルダの削除は選択ができないのでS3のコンソール画面から削除する必要があります。

ファイル検索も試してみました。「Include subfolders」を選択するとサブフォルダ内のファイルも再帰的に検索してくれます。

別ユーザーのアクセス確認
AWS Transfer Family Web Apps の別グループのアクセス権を確認するために AWS Transfer Family Web Apps に IAM Identity Center の groupB 割り当て と S3 Access Grants にgroupB用の権限を作成しました。
今回はバケット内のgroupB プレフィックス内を権限範囲としました。
groupB に所属しているユーザーで AWS Transfer Family Web Apps にログインすると想定通りgroupB のプレフィックスを参照でき groupA は参照できていませんでした。

カスタムURLとエンドユーザー向け手順
カスタムURLもCFnが提供されているので実装は簡単となっています。
CORSの設定が必要ですのでそこはお忘れなく。
Transfer Family Web Apps のエンドユーザー向け手順も公式に用意されてありすぐ展開できそうです。
まとめ
S3のプレフィックス単位でのアクセス制御設計を最初にしっかり決めておくことで、スムーズな導入ができそうです。
また、コストはややネックではありますが、ノーコードでアプリの保守・開発が不要な点は大きなメリットではないでしょうか。
UI のカスタマイズを重視したい場合は、AWS Amplify の Storage Browser for S3 の利用を検討し、独自開発する選択肢もあります。
EventBridge と連携すればアップロード後のワークフロー自動化も実現しやすく、業務効率化もできるかもしれないですね。
近藤 諒都
(記事一覧)カスタマーサクセス部CS5課
夜行性ではありません。朝活派です。
趣味:お酒、旅行、バスケ、掃除、家庭用パン作り(ピザも)など
2025 Japan AWS All Certifications Engineers