AzCopy を使用して AWS S3 から Azure Storage にデータを移動する
執筆者: Sercan Guler (Program Manager, Azure Storage)
このポストは、2019 年 4 月 16 日に投稿された Move your data from AWS S3 to Azure Storage using AzCopy の翻訳です。
AzCopy v10 (プレビュー) で、新たなデータ ソースとして Amazon Web Services (AWS) S3 がサポートされました。これにより、AWS S3 のバケット全体や複数のバケットを AzCopy を使用して Azure Blob Storage にコピーできるようになりました。
これまで AWS S3 から Azure Blob Storage にデータを移動するには、両方のクラウド プロバイダーの間にクライアントを作成し、AWS のデータを読み込んでから Azure Storage に書き込む必要がありました。この方法だとこの中間クライアントがデータ転送の規模や速度のボトルネックとなり、移動が複雑になっていました。
最新リリースの AzCopy では、スケールアウトに対応した新しい Blob API を利用できるため、この点が解消されています。Azure Storage 向けの次世代データ転送ユーティリティである AzCopy v10 は設計がゼロから見直され、組み込みの回復性を維持したまま大規模なデータ移動が可能になりました。AzCopy v10 では、ローカル ファイル システムから Azure Storage への場合も、Azure Storage アカウント間の場合も、効率的にデータをコピーすることができます。最新リリースの AzCopy v10.0.9 では AWS S3 がデータ ソースとして新たにサポートされたため、シンプルなコマンド ライン ツールを使用してデータを効率的に移動できます。
新しい Blob API の Put from URL でデータを効率的に移動
AzCopy では、複数の Azure Storage サーバーにコピー ジョブがスケールアウトされるため、高スループットで AWS S3 からデータがコピーされます。AzCopy では新しい Azure Storage REST API 操作である Put Block from URL (英語) を使用して、指定された URL からデータを直接コピーします。この Put Block from URL を使用することで、AzCopy v10 は AzCopy を実行するクライアント マシンにデータをいったんコピーすることなく、AWS S3 バケットから Azure Storage アカウントに直接移動することができます。このため、中間クライアントがボトルネックになることはなくなります。
使用を開始するには
S3 のバケットを Blob コンテナーにコピーするには、次のコマンドを実行します。
azcopy cp "https://s3.amazonaws.com/mybucket/" "https://mystorageaccount.blob.core.windows.net/mycontainer<SAS>" --recursive
同一リージョンの AWS S3 バケットから Azure Storage アカウントへのコピー操作のテストでは、50 Gbps を記録しました。これよりさらに速くなることもあります。AzCopy ではこのレベルの高いパフォーマンスが得られるため、AWS から大量のデータをすばやく簡単に移動できます。また、AzCopy は回復性も備えています。ネットワークの問題を軽減するために、エラーが生じた場合には自動で何度も再試行されます。さらに、失敗したジョブやキャンセルされたジョブを再開したりやり直したりする機能も備えているため、テラバイト単位のデータを一度で容易に移動できます。
詳細については、ドキュメント「AzCopy v10 (プレビュー) を使用してデータを転送する」をご覧ください。
Azure Data Factory
フルマネージド型のサービスとしてのプラットフォーム (PaaS) である Azure Data Factory (ADF) を使用して、AWS S3 から Azure Storage にデータを移動することもできます。この場合、以下のようなメリットがあります。
- Azure Data Factory ではコーディングなしで編集することが可能で、高機能な監視ダッシュボードも組み込まれています。
- サーバーレスでデータ移動能力を簡単にスケールアップでき、料金は実際に使用した分しか発生しません。
- データの移動は、Azure 統合ランタイム (IR) を使用してパブリック インターネット経由で行うことも、自社でホストする IR を使用して Azure ExpressRoute とピアリングされた AWS DirectConnect 経由で行うこともできます。
- 1 回限りで過去のデータをすべて読み込むことも、スケジュール設定して差分を定期的に読み込むこともできます。
- Azure Key Vault と統合されていて、エンタープライズ レベルの資格情報管理が可能です。
- コネクタを標準で 80 種類以上備えており、すべての Azure データ サービスとネイティブに統合されているため、ハイブリッド環境での完全なデータ統合や ETL に関するニーズに ADF で対応できます。
フィードバックのお願い
AzCopy を使用した AWS からのデータ移動は、現在プレビューでご利用いただけます。ぜひお試しのうえ、GitHub のソース コード リポジトリ (英語) までフィードバックをお寄せください。