SAP-C02-155 · セクション 18 / タスク 4.2
Online Data Migration Serviceの選択
AWS DataSync / AWS Transfer Family / S3 Transfer Acceleration / Network Transfer / File Transfer / Online Migration
移行するデータについてOnline Migrationを採用する場合でも、ネットワークにつながっているからといって、どのサービスでも同じではありません。
移行対象や既存の転送方式によって、AWS DataSync、AWS Transfer Family、S3 Transfer Accelerationの役割は異なります。
ストレージ間で大量のファイル / オブジェクトを移したい
→ AWS DataSync
既存のSFTP / FTPS / FTP / AS2によるFile Transferを維持したい
→ AWS Transfer Family
遠距離からAmazon S3への転送を高速化したい
→ S3 Transfer Acceleration
重要なのは、サービス名ではなく、何をどこからどこへ、どの方式で転送したいのかから判断することです。
1. Online Migrationではネットワーク経由でデータを移す
Online Migrationでは、移行元とAWSの間にネットワーク接続を確保し、その経路を使ってデータを転送します。
オンプレミス
↓
インターネット / VPN / AWS Direct Connect
↓
AWS
ここで、ネットワーク接続と、実際にファイルやオブジェクトを移すサービスは別の役割です。AWS Direct Connectがあっても、それだけでNFSやSMB上のファイルをAmazon S3へ自動的にコピーしてくれるわけではありません。
2. Network Transferは転送サービスを動かすための経路
Network Transferを考えるときは、インターネット、AWS Site-to-Site VPN、AWS Direct Connectなどのネットワーク経路と、AWS DataSync、AWS Transfer Family、S3 Transfer Accelerationなどのデータ転送機能を混同しないことが重要です。
例えば、オンプレミスNFSからAWS Direct Connectを経由してAWSへ到達できても、実際のファイル転送処理を自動化したいならAWS DataSyncなどのサービスを組み合わせます。
Network Transfer
→ データが通る経路
データ転送サービス
→ 何をどのように移すか
3. AWS DataSyncはストレージ間のデータ移行に向く
AWS DataSyncは、ファイルやオブジェクトデータを高速かつ自動化して転送するためのマネージドサービスです。
代表的な移行元にはNFS、SMB、HDFS、オブジェクトストレージがあります。AWS側ではAmazon S3、Amazon EFS、Amazon FSxなどへデータを転送できます。
オンプレミスNFS
↓
AWS DataSync
↓
Amazon S3
オンプレミスSMB
↓
AWS DataSync
↓
Amazon FSx for Windows File Server
4. AWS DataSyncはSource ServerのRehostサービスではない
AWS DataSyncで移す中心は、ファイルやオブジェクトなどのストレージデータです。
ファイルサーバーの共有データをAmazon S3 / Amazon EFS / Amazon FSxへ移したい場合に適しています。
一方、OS、アプリケーション、ディスク全体、サーバーそのものをAmazon EC2へRehostしたい場合は、AWS Transform MGNのようなアプリケーション移行サービスの責任です。
AWS DataSync
→ データ移行
AWS Transform MGN
→ Source ServerのRehost
5. オンプレミスからのAWS DataSyncではエージェントを利用する
オンプレミスや自己管理ストレージからAWSへ転送するときは、通常、AWS DataSyncエージェントを移行元ストレージの近くへ配置します。
NFS / SMBなど
↓
AWS DataSyncエージェント
↓
Network Transfer
↓
AWS DataSync
↓
Amazon S3 / EFS / FSx
AWS DataSyncエージェントは移行元ストレージへアクセスし、DataSyncの転送処理へ接続します。そのため、AWS DataSyncを選んだからといってネットワーク設計が不要になるわけではありません。エージェントからAWSへ必要な接続性を確保する必要があります。
6. AWS DataSyncとAWS Direct Connectは競合する選択肢ではない
AWS DataSyncとAWS Direct Connectは同じ役割ではありません。
オンプレミスNFS
↓
AWS DataSyncエージェント
↓
AWS Direct Connect
↓
AWS
という構成が可能です。
AWS Direct Connect
→ ネットワーク経路
AWS DataSync
→ ファイル / オブジェクト転送
どのNetwork Transferを使うかと、どのデータ転送サービスを使うかを別々に判断します。
7. AWS DataSyncは一回限りのコピーだけではない
AWS DataSyncでは、転送元ロケーション、転送先ロケーション、タスクを設定してデータを転送します。
初回転送
↓
移行元で変更が発生
↓
タスクを再実行
↓
必要な差分を反映
Online Migrationで移行準備期間中もファイルが更新される場合でも、切り替え前にタスクを再実行して変更を反映できます。
ただしAWS DataSyncは、データベースのトランザクションをCDCでReplicationするサービスではありません。ここではファイル / オブジェクトデータの転送として考えます。
8. AWS Transfer Familyは既存のFile TransferをAWSへ移す
AWS Transfer Familyは、既存のファイル転送プロトコルを使用したFile TransferをAWS上で提供するマネージドサービスです。
現在サポートされている主な方式には、SFTP、FTPS、FTP、AS2、ブラウザーベースの転送があります。
取引先
↓
SFTP
↓
AWS Transfer Family
↓
Amazon S3
既存の取引先がSFTPクライアント、ユーザー認証、ファイル送受信という運用を続けたい場合に適しています。
9. AWS Transfer Familyの保存先はAmazon S3やAmazon EFS
AWS Transfer Familyでは、File Transferで送受信するデータをAmazon S3やAmazon EFSへ保存できます。
外部取引先
↓
SFTP
↓
AWS Transfer Family
↓
Amazon S3
とすることで、利用者から見ればSFTPによるファイル転送を維持しながら、AWS側ではAmazon S3へ保存できます。
AWS Transfer FamilyはNFSやSMBファイルシステム全体を自動的に移行するサービスではありません。既存のFile TransferプロトコルをAWSへ移したい場合に利用します。
10. AWS DataSyncとAWS Transfer Familyを使い分ける
オンプレミスに10 TBのNFSファイルサーバーがあり、NFS上の大量ファイルをAmazon S3へまとめて移したいならAWS DataSyncが適しています。
一方、外部企業が毎日SFTPでファイルをアップロードしているというFile TransferをAWSへ移したいならAWS Transfer Familyが適しています。
ストレージ間の大量データ移行
→ AWS DataSync
SFTP / FTPS / FTP / AS2などのFile Transfer
→ AWS Transfer Family
11. S3 Transfer Accelerationは遠距離のS3転送を高速化する
S3 Transfer Accelerationは、遠距離にあるクライアントとAmazon S3汎用バケットの間のデータ転送を高速化する機能です。
海外拠点 / 世界各地の利用者
↓
インターネット
↓
近いエッジロケーション
↓
AWSの最適化されたネットワーク
↓
Amazon S3
S3 Transfer Accelerationでは、Amazon CloudFrontの世界中のエッジロケーションを利用して、長距離のS3転送を最適化します。
12. S3 Transfer AccelerationはS3への既存転送方式を高速化する
アプリケーションが既にPUT Object、GET ObjectなどのAmazon S3 APIを使っている場合、遠距離からS3へ転送するためにアプリケーション自体をSFTPへ変更する必要はありません。
S3 Transfer Accelerationをバケットで有効化し、クライアントがS3 accelerateエンドポイントを使用することで、S3 APIによる転送を高速化できます。
既存のS3転送
+
長距離
+
速度改善
が主な判断軸です。
13. S3 Transfer Accelerationは汎用データ移行サービスではない
S3 Transfer Accelerationは、NFSをAmazon EFSへ同期する、SMBをAmazon FSxへ移行する、SFTPサーバーを提供する、Source ServerをRehostするためのサービスではありません。
対象は、クライアントとAmazon S3汎用バケット間の転送です。
オンプレミスNFS → S3
→ AWS DataSync
SFTP → S3
→ AWS Transfer Family
遠距離クライアント → S3
→ S3 Transfer Acceleration
14. S3 Transfer Accelerationではaccelerateエンドポイントを使う
S3 Transfer Accelerationを利用するときは、
S3バケットでTransfer Accelerationを有効化
↓
クライアントが
s3-accelerateエンドポイントを使用
します。
単にバケット側で有効化しただけで、クライアントが通常のS3エンドポイントを使用している場合、その通信はTransfer Accelerationを利用する転送にはなりません。
バケット設定とクライアント側の接続先の両方を確認します。
15. 3つのサービスの責任を比較する
| 要件 | 主な選択 |
|---|---|
| NFS / SMBなどからAWSストレージへデータ移行 | AWS DataSync |
| 大量のファイル / オブジェクトを自動転送 | AWS DataSync |
| SFTP / FTPS / FTP / AS2を維持 | AWS Transfer Family |
| 取引先とのFile TransferをAWSへ移行 | AWS Transfer Family |
| 遠距離のクライアントからAmazon S3へ転送 | S3 Transfer Acceleration |
| 既存のS3 API転送を高速化 | S3 Transfer Acceleration |
| 専用・暗号化ネットワーク経路を設計 | Network Transferを別途選択 |
16. 1つの移行で複数サービスを使うこともある
サービスは必ず1つだけ選ぶとは限りません。
既存NFSデータ
↓
AWS DataSync
↓
Amazon S3
で初期データを移行しつつ、移行後の取引先とのFile Transferは、
取引先
↓
SFTP
↓
AWS Transfer Family
↓
Amazon S3
に変更することもできます。
さらに別のアプリケーションで、世界各地から同じS3バケットへ直接アップロードするならS3 Transfer Accelerationを利用する場合もあります。
サービスごとの責任を分けて組み合わせることが重要です。
17. サービス名ではなく転送要件を見る
何を移す?
↓
ファイル / オブジェクトか
Source Serverそのものか
既存のFile Transferプロトコルはある?
↓
SFTP / FTPS / FTP / AS2か
転送先は?
↓
Amazon S3 / Amazon EFS / Amazon FSxなど
遠距離のS3 API転送か?
どのNetwork Transferを利用できる?
そのうえで、
ストレージデータ移行
→ AWS DataSync
プロトコルベースのFile Transfer
→ AWS Transfer Family
遠距離S3転送の高速化
→ S3 Transfer Acceleration
と判断します。
18. 全体の判断フロー
Online Migrationを採用
↓
何を転送するか確認
↓
NFS / SMB / ファイル / オブジェクト
→ AWS DataSyncを検討
SFTP / FTPS / FTP / AS2
→ AWS Transfer Familyを検討
既存S3 API + 遠距離転送
→ S3 Transfer Accelerationを検討
↓
Network Transferを設計
↓
実際の転送を実行
SAP-C02では、AWS DataSync・AWS Transfer Family・S3 Transfer Accelerationを「全部データを送るサービス」として同一視しないことが重要です。