AWS DataSync で高速化するデータ転送 - オンプレミスから S3 ・ EFS への移行
オンプレミスから S3・EFS への高速データ転送を自動化する。エージェントのデプロイ、タスクスケジューリング、転送データの整合性検証を紹介します。
DataSync の概要
DataSync はオンプレミスと AWS 間のデータ転送を自動化・高速化するサービスで、1 タスクあたり最大 10 Gbps のスループットを実現します。rsync や robocopy と比較して最大 10 倍の転送速度を実現し、ネットワーク帯域幅を最大限に活用します。転送プロトコルは独自の最適化がかけられており、TCP ウィンドウスケーリングや並列ストリーム転送で WAN の遅延を吸収します。オンプレミスの NFS/SMB ファイルサーバーから S3、EFS、FSx for Windows、FSx for Lustre、FSx for OpenZFS への転送に対応します。HDFS (Hadoop Distributed File System) からのデータ移行もサポートしており、ビッグデータ基盤のクラウド移行にも利用できます。
エージェントとタスク設計
オンプレミスに DataSync エージェント (VMware ESXi、Hyper-V、KVM の仮想マシン) をデプロイし、ソースストレージに接続します。エージェント VM の推奨リソースは vCPU 4 コア以上、RAM 16 GB 以上です。1 つのエージェントで複数のタスクを並列実行でき、エージェントの追加によるスケールアウトも可能です。タスクでソースロケーション (オンプレミス NFS) とデスティネーションロケーション (S3 バケット) を指定し、転送オプション (ファイルのメタデータ保持、除外フィルター、帯域制限) を設定します。メタデータ保持オプションでは POSIX パーミッション、タイムスタンプ、UID/GID を転送先に維持でき、ファイルサーバーのアクセス制御をそのまま移行先に反映できます。スケジュール実行で毎日の差分転送を自動化し、オンプレミスと AWS のデータを継続的に同期できます。転送完了後にデータの整合性が自動検証され、チェックサムの不一致があれば報告されます。
AWS 間転送とスケジューリング
DataSync は AWS サービス間のデータ転送もサポートします。S3 バケット間、EFS 間、FSx 間、S3 から EFS への転送をエージェントなしで実行できます。クロスアカウント・クロスリージョンの転送にも対応し、DR 環境へのデータレプリケーションに活用できます。タスクスケジュールで定期的な転送を自動化し、日次や週次の増分転送でデータを同期します。転送フィルターでファイル名パターンや更新日時に基づいて転送対象を絞り込み、不要なデータの転送を避けます。EventBridge との連携で、転送タスクの完了や失敗をトリガーにして後続の処理 (Glue ジョブの起動、Lambda 関数の実行、SNS 通知の送信) を自動化するワークフローを構築できます。タスク実行レポートを CloudWatch Logs に出力し、転送ファイル数・バイト数・所要時間・エラーの詳細をモニタリングできます。 DataSync のベストプラクティスを把握するうえで関連書籍 (Amazon)が参考になります。
他のデータ転送方式との比較
AWS にはデータ転送の選択肢が複数あり、データ量と要件に応じた使い分けが重要です。DataSync はネットワーク経由の継続的な同期・移行に最適で、変更分のみの増分転送と自動整合性検証を備えています。AWS Transfer Family (SFTP/FTPS/FTP) はパートナー連携やレガシーシステムとのファイル交換に適しており、既存の SFTP ワークフローを変更せずにクラウド化できますが、大量データの一括移行には向きません。S3 レプリケーション (CRR/SRR) はバケット間のオブジェクトレベルのレプリカで、書き込みと同時に自動コピーされますが、オンプレミスからの転送には使えません。AWS Snow Family (Snowball Edge、Snowcone) はネットワーク帯域が限られる環境や PB 級のデータを物理デバイスで輸送する場合に使います。典型的な移行パターンとして、初回の大量データを Snowball で転送し、以降の差分を DataSync で同期する組み合わせが有効です。
設計のベストプラクティスと注意点
DataSync の導入で注意すべきポイントを整理します。第一に、帯域制限 (bandwidth throttle) の設定です。本番ネットワークと共有する回線で DataSync を稼働させる場合、業務時間帯は帯域を制限し、夜間にフルスピードで転送するスケジュールを組むことで業務トラフィックへの影響を回避します。第二に、転送先の S3 ストレージクラスの選択です。DataSync はオブジェクトの配置先ストレージクラスを指定でき、アクセス頻度の低いアーカイブデータは S3 Glacier Instant Retrieval に直接配置すればコストを削減できます。第三に、大量の小さなファイル (数百万ファイル) を転送する場合、1 タスクあたりのオーバーヘッドが増えるため、ディレクトリ単位でタスクを分割し並列実行することでスループットを最大化します。第四に、セキュリティとコンプライアンスの確保です。転送中のデータは TLS 1.2 で暗号化され、転送先 S3 では SSE-S3、SSE-KMS、SSE-C のサーバーサイド暗号化を適用できます。VPC エンドポイント (PrivateLink) を使用すると、エージェントと AWS 間の通信がパブリックインターネットを経由しません。IAM ポリシーで転送タスクの実行権限を細かく制御でき、CloudTrail ですべての API 呼び出しが記録されます。HIPAA、PCI DSS、SOC 1/2/3 に対応しており、規制産業のデータ移行にも利用できます。
DataSync の料金
DataSync の料金はコピーしたデータ量で課金され、1 GB あたり約 0.0125 ドルです。オンプレミスからの転送ではエージェントの実行環境 (VM) が必要ですが、エージェント自体に追加料金は発生しません。AWS サービス間の転送も同じデータ量課金です。転送先のストレージ料金 (S3、EFS、FSx) は別途発生します。差分転送で変更されたファイルのみを転送し、データ量を最小化することでコストを最適化します。帯域制限を設定してもデータ量課金には影響しないため、転送速度とコストはトレードオフではなく、コストはあくまで転送したバイト数に比例します。大量データの初回転送には AWS Snowball との併用も検討します。
まとめ
DataSync はオンプレミスから AWS、および AWS サービス間のデータ転送を高速化・自動化するサービスです。CBT や並列ストリームで WAN 帯域を最大限活用し、差分転送で変更されたファイルのみを効率的に同期します。HDFS を含む多様なソースに対応し、VPC エンドポイント経由でのセキュアな転送もサポートします。Snow Family との組み合わせや帯域制限の活用で、さまざまな移行シナリオに柔軟に対応できます。