AWS / SAP-C02

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を「全部データを送るサービス」として同一視しないことが重要です。