AWS SAA(Solutions Architect – Associate)で頻出の
「オンプレミスのファイルアップロード型アプリを AWS に移行する」
パターン問題です。
今回のテーマは、
S3 は CloudFront 経由のみアクセス可能にする
既存の SFTP クライアントをそのまま使ってアップロードしたい
という、2つの要件を同時に満たす構成です。
早速問題を見ていきましょう。
【問題】
ある会社は、オンプレミス環境にホストされた動画配信アプリケーションを運用しています。
この動画配信アプリケーションは単一サーバーで構成されており、ユーザーは SFTP クライアント を使用して動画コンテンツをアップロードしています。
同社は動画配信処理を最適化するため、アプリケーションを AWS に移行し、
Amazon CloudFront と Amazon S3 を利用したコンテンツ配信ソリューション を構成します。
この要件を満たす構成を選択してください。
【選択肢】
- 動画コンテンツ配信用のEBSベースのEC2インスタンスを構成して、コンテンツデータをAmazon S3バケットに保存する。CloudFrontディストリビューションを構成し、 OAIからのアクセスを許可するようにS3バケットポリシーを設定する。Amazon CloudFrontにACMの証明書を連携して、HTTPS通信を有効化する。AWS CLIを使用してウェブサイトコンテンツをアップロードする。
- 動画コンテンツ配信用のEBSベースのEC2インスタンスを構成して、コンテンツデータをAmazon S3バケットに保存する。CloudFrontディストリビューションを構成し、 OAIからのアクセスを許可するようにS3バケットポリシーを設定する。Amazon CloudFrontにACMの証明書を連携して、HTTPS通信を有効化する。AWS Transfer for SFTPを構成して、SFTPクライアントを使用して、ウェブコンテントをアップロードする。
- 動画コンテンツ配信用のEBSベースのEC2インスタンスを構成して、コンテンツデータをAmazon S3バケットに保存する。CloudFrontディストリビューションを構成し、 OAIからのアクセスを許可するようにS3バケットポリシーを設定する。EC2インスタンスにACMの証明書を適用して、HTTPS通信を有効化する。AWS CLIを使用してウェブサイトコンテンツをアップロードする。
- 動画コンテンツ配信用のEBSベースのEC2インスタンスを構成して、コンテンツデータをAmazon S3バケットに保存する。CloudFrontディストリビューションを構成し、 OAIからのアクセスを許可するようにS3バケットポリシーを設定する。EC2インスタンスにACMの証明書を適用して、HTTPS通信を有効化する。AWS Transfer for SFTPを構成して、SFTPクライアントを使用して、ウェブコンテントをアップロードする。
これより先は正解と解説 になります。
まずはどの構成が正しいか考えてみてください。
【正解】
2. 動画コンテンツ配信用のEBSベースのEC2インスタンスを構成して、コンテンツデータをAmazon S3バケットに保存する。CloudFrontディストリビューションを構成し、 OAIからのアクセスを許可するようにS3バケットポリシーを設定する。Amazon CloudFrontにACMの証明書を連携して、HTTPS通信を有効化する。AWS Transfer for SFTPを構成して、SFTPクライアントを使用して、ウェブコンテントをアップロードする。
正解の要点
AWS Transfer for SFTP を使用して動画コンテンツをアップロードし、
CloudFront + OAI により S3 へのアクセスを CloudFront 経由のみに制限し、
CloudFront に ACM 証明書を適用して HTTPS 配信を行う。
SFTP クライアント
│
▼
AWS Transfer for SFTP
│
▼
S3(非公開)
▲
│ OAI
CloudFront(ACM / HTTPS)
│
▼
ユーザー
なぜこの構成が正解なのか?
この問題のキーワードは 3つ です。
①「S3 へのアクセスは CloudFront 経由に限定」
ここで使うのが OAI(Origin Access Identity) です。
OAI の役割
・S3 バケットを 完全非公開
・CloudFront からのみアクセス可能
S3 バケットポリシー(概念)
・Principal:OAI のみ許可
・Effect:Allow
結果:
❌ S3 の URL 直アクセス不可
❌ パブリックアクセス不可
✅ CloudFront 経由のみ配信可能
※最近(2026年時点ではOAIよりOACの方が推奨されており今後OAIは廃止方向。)
②「HTTPS で配信したい」
ここは CloudFront × ACM の鉄板構成です。
正しい適用先
❌ EC2 に ACM → 不正解
✅ CloudFront に ACM を関連付ける
理由:
・CloudFront が TLS 終端
・配信経路すべて HTTPS
③「SFTP クライアントを使ったアップロードを維持」
ここが 最大の引っかけポイント です。
NG パターン
- AWS CLI でアップロード
→ SFTP クライアント前提を満たさない
正解
→AWS Transfer for SFTP(Transfer Family)
AWS Transfer Family の特徴
・マネージド SFTP
・Amazon S3 とネイティブ連携
・EC2 不要
・セキュア & スケーラブル
👉 オンプレミスの SFTP 運用をほぼそのまま AWS に移行可能
❌ なぜ他の選択肢は不正解なのか?
❌ AWS CLI でアップロードする案
- 問題文は SFTP クライアント前提
- 運用変更が必要 → 要件不一致
❌ EC2 に ACM 証明書を適用
- HTTPS 終端は CloudFront
- EC2 に証明書を置いても配信経路は暗号化されない
❌ S3 をパブリック公開
- 要件「CloudFront 経由に限定」に反する
- セキュリティ的にも即 NG
🎯 試験での見抜き方(超重要)
問題文に次のワードがあれば即反応してください。
| ワード | 連想するサービス |
|---|---|
| CloudFront 経由のみ | OAI(または OAC) |
| HTTPS 配信 | CloudFront + ACM |
| SFTP クライアント | AWS Transfer for SFTP |
| 動画・静的配信 | S3 + CloudFront |
👉 この4点が揃ったら今回の構成
📌 まとめ
| 要件 | 解決策 |
|---|---|
| S3 を非公開 | CloudFront OAI |
| HTTPS 配信 | CloudFront + ACM |
| SFTP アップロード | AWS Transfer for SFTP |
| 高速配信 | CloudFront CDN |
ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。
- 選考ではありません
- 履歴書不要
- 技術の話が中心
- 所要時間30分程度
- オンラインOK