はじめに
AWS Solutions Architect Associate (SAA) の学習中に整理した Storage Gateway / DataSync / Transfer Family 関連の知識をまとめました。
これらはいずれも「オンプレミスと AWS の間のデータ移動・アクセス」に関わるサービスですが、それぞれ用途が異なります。試験では「どのサービスを使うか」の使い分けが問われるため、違いを正確に理解しておくことが重要です。
本記事は個人の学習ノートをベースにしています。誤りがあればコメントでご指摘いただけると助かります。
サービス概要
Storage Gateway の種類
| タイプ | 用途 | プロトコル |
|---|---|---|
| File Gateway(S3) | オンプレ → S3 の NFS/SMB アクセス | NFS、SMB |
| File Gateway(FSx) | オンプレ → FSx for Windows アクセス | SMB |
| Volume Gateway(Cached) | 頻繁アクセスはローカル、全データは S3 | iSCSI |
| Volume Gateway(Stored) | 全データはローカル、S3 にバックアップ | iSCSI |
| Tape Gateway | 仮想テープライブラリ | iSCSI VTL |
Cached vs Stored Volumes
この2つの違いは「全データがどこにあるか」で判断します。
| Cached | Stored | |
|---|---|---|
| 全データの場所 | S3(クラウド) | ローカル(オンプレ) |
| ローカルに保持 | 頻繁アクセスデータのみ | 全データ |
| クラウドへの容量拡張 | ✅ | ❌(バックアップのみ) |
- 「全データを S3 に置いて、よく使うものだけローカルにキャッシュ」→ Cached
- 「全データはオンプレに残して、S3 にバックアップ」→ Stored
データ転送サービスの使い分け
| サービス | 用途 |
|---|---|
| DataSync | 大量データのオンライン移行(数百TB、最大10Gbps) |
| File Gateway | オンプレ → S3 の継続的ファイルアクセス(SMB/NFS) |
| S3 Transfer Acceleration | S3 API での高速アップロード |
| Snow Family | オフライン移行(ネットワーク帯域不足時) |
| Transfer Family | SFTP/FTPS/FTP で S3/EFS にアクセス |
特に DataSync と File Gateway の違いは頻出です。
- DataSync: 移行(一括転送)に強い。転送後は使わない
- File Gateway: 継続的なアクセスに強い。ローカルキャッシュ付き
AWS Transfer Family
- SFTP / FTPS / FTP をフルマネージドで提供
- アップロードファイルを S3 または EFS に直接保存
- SFTP ユーザーごとに IAM ロールをマッピング可能
- Cognito / SAML / カスタム IdP と統合可能
- エンドポイントタイプ: Public / VPC(Internet-facing)/ VPC(Internal)
- バックエンドは S3 または EFS のみ(FSx for Lustre は非対応)
Snowball
- オフラインの物理転送デバイス
- 宛先は S3 のみ(Glacier に直接送ることはできない)
- クロスリージョンの S3 コピーには使えない
試験で問われる設計パターン
SAA の試験では「オンプレ → AWS のデータ移動にどのサービスを使うか?」が頻繁に出題されます。
Storage Gateway
ハイブリッドストレージ + ローカルキャッシュ + 全データは S3 → Cached Volumes
シナリオ: オンプレミスのアプリケーションからストレージにアクセスしていますが、ローカルストレージの容量が不足しています。全データをクラウドに移行しつつ、頻繁にアクセスするデータはローカルで高速に扱いたいです。どの構成が適切でしょうか?
正解: Storage Gateway Cached Volumes
- 全データは S3、頻繁アクセスはローカルキャッシュ
- Stored Volumes は全データがローカルに残る(容量問題が解決しない)
オンプレから S3 に低レイテンシーアクセス + コスト効率 → S3 File Gateway
シナリオ: オンプレミスのアプリケーションから S3 のデータに NFS / SMB 形式で継続的にアクセスしたいです。頻繁にアクセスするファイルは低レイテンシーで扱えるようにしたいです。どの方法が適切でしょうか?
正解: Amazon S3 File Gateway
- NFS / SMB ファイル共有として S3 を公開
- 頻繁アクセスデータをローカルキャッシュで高速化
- Mountpoint for S3 はローカルキャッシュ機能がない
DataSync
オンプレ NFS → EFS へのデータレプリケーション → DataSync + Direct Connect + PrivateLink
シナリオ: オンプレミスの NFS ファイルサーバーのデータを AWS の EFS に定期的にレプリケーションしたいです。接続は Direct Connect を使用します。どの構成が最適でしょうか?
正解: DataSync Agent → Direct Connect(Private VIF)→ PrivateLink Interface VPC Endpoint for EFS → DataSync スケジュール
- S3 経由は余分なステップが入る
- S3 Gateway Endpoint は Direct Connect 経由のオンプレミスからは使えない
- VPC Peering は Direct Connect 経由の転送には使えない
オンプレ → S3/EFS/FSx へのオンラインデータ転送 → DataSync
シナリオ: オンプレミスの大量データを AWS のストレージサービス(S3、EFS、FSx)に移行したいです。どのサービスが最も幅広く対応しているでしょうか?
正解: AWS DataSync
- S3 + EFS + FSx のすべてに対応しているのは DataSync のみ
- Transfer Family は FSx for Windows に非対応
- File Gateway は S3 のみ
大量データ移行 → S3 + オンプレから継続アクセス → DataSync + File Gateway
シナリオ: オンプレミスの大量データを S3 に移行し、移行後もオンプレミスからファイル形式で S3 のデータに継続的にアクセスしたいです。どのサービスを組み合わせるべきでしょうか?
正解:
- DataSync(移行)
- File Gateway(継続アクセス)
- DataSync は転送ツールであり、継続的なアクセスには向かない
- File Gateway はローカルキャッシュ付きの継続アクセス用
Transfer Family
レガシー SFTP → S3 アップロード → Transfer Family + IAM ロール + IdP 統合
シナリオ: 外部ベンダーがレガシーの SFTP クライアントを使ってファイルをアップロードしてきます。アップロード先を S3 にし、ベンダーごとにアクセスを制御したいです。どの構成が適切でしょうか?(2つ選択)
正解:
- AWS Transfer Family(SFTP)→ S3 + ベンダーごとに IAM ロール
- S3 バケットポリシー + Transfer Family の IdP 統合(Cognito / カスタム IdP)
- AppFlow は SaaS 連携用(SFTP 非対応)
- EC2 + OpenSSH は自己管理で運用負荷が大きい
オンプレ SFTP + 即時処理 + HA + セキュア → Transfer Family Internal + S3 + Managed Workflow
シナリオ: オンプレミスのシステムが SFTP でファイルをアップロードし、アップロード直後に処理を開始したいです。高可用性を確保し、既存のプライベート接続を使う場合、どの構成が最適でしょうか?
正解: Internal Transfer Family SFTP(Multi-AZ)+ S3 + Managed Workflow
- 既存のプライベート接続 → Internal エンドポイント
- 即時処理 → Managed Workflow(ポーリング不要)
- Multi-AZ で高可用性を確保
SFTP + サーバーレス + 高 IOPS + IP 制限 + ユーザー制御 → Transfer Family + EFS + VPC Elastic IP
シナリオ: SFTP でファイルを受け取り、高 IOPS で処理したいです。特定の IP アドレスからのアクセスのみ許可し、ユーザーごとにアクセス制御も行いたいです。どの構成が適切でしょうか?
正解: EFS(暗号化)+ Transfer Family SFTP(VPC + Elastic IP)+ SG で IP 制限 + POSIX マッピング + IAM ポリシー
- Transfer Family のバックエンドは S3 または EFS のみ
- 高 IOPS + ファイルシステム → EFS(S3 はバルク向け)
- Elastic IP + IP 制限 → VPC Internet-facing エンドポイント
- WAF は HTTP/HTTPS 向け(SFTP には非対応)
Snowball
Snowball → 長期アーカイブ → S3 経由 + Glacier Deep Archive
シナリオ: Snowball を使って大量のデータを AWS に送り、長期アーカイブしたいです。最もコストを抑える方法はどれでしょうか?
正解: Snowball → S3 → ゼロデイライフサイクルで Glacier Deep Archive
- Snowball から Glacier に直接送ることはできない(S3 のみ対応)
- ゼロデイライフサイクルで S3 Standard の料金を回避
5PB のオンプレデータ → 長期アーカイブ → Snowball Edge → S3 → Glacier
シナリオ: オンプレミスに5PBのデータがあり、AWS に移行して長期アーカイブしたいです。どの方法が最適でしょうか?
正解: Snowball Edge Storage Optimized → S3 → Lifecycle Policy で Glacier
- 5PB のデータには Direct Connect はオーバースペック(構築に数週間〜数ヶ月かかる)
- VPN は5PBに対して帯域不足
おわりに
Storage Gateway / DataSync / Transfer Family は「オンプレ ↔ AWS のデータの橋渡し」を担うサービス群です。試験では3つのサービスの使い分けが問われるため、以下の整理が役立ちます。
- 一括移行 → DataSync
- 継続的アクセス(ローカルキャッシュ付き) → File Gateway
- SFTP / FTPS / FTP → Transfer Family
- オフライン大量移行 → Snowball
それぞれの得意領域を押さえておけば、問題の正解に素早くたどり着けるはずです。
間違いや補足があればぜひコメントで教えてください。