[アップデート] AWS DataSync の Microsoft Azure Blob Storage ロケーションが GA となり、送信先としても指定出来るようになりました

2023.07.27

いわさです。

AWS DataSync を使うと様々なストレージ間でのデータ転送を構成することが出来ます。
数ヶ月前にパブリックプレビューという形でロケーションに Microsoft Azure Blob Storage が追加されていました。

送信元ロケーションのみという制限事項がありましたが、Azure と AWS ストレージサービス間で転送を行うためのひとつの選択肢として期待していたパブリックプレビューでした。

そして、つい先日 AWS DataSync の Microsoft Azure Blob Storage サポートが正式にアナウンスされました。

前回パブリックプレビューだったものが GA になったのかなと思ったのですが、よくアップデートアナウンスを見てみると送信先ロケーションとしても指定出来るようになっていそうです。
これは熱い。早速試してみました。

送信先ロケーションに指定してみる

DataSync コンソールでロケーションタイプの一覧を確認してみます。
以前は Microsoft Azure Blob Storage に Preview の表記があったのですが、無くなっていました。

では早速送信先ロケーションとして使ってみましょう。
前回プレビュー時には Azure Blob Storage から Amazon S3 への転送を行ったので、今回はその逆を行ってみます。
なお、基本的な構成方法は前回プレビュー時から変わっていません。SAS トークンの権限周りで少し注意点がありますが、そのあたりは後述しますね。

送信元は Amazon S3 バケットなので、適当なバケットを作成してファイルをアップロードしておきます。
送信先の Azure 側も、パブリックプレビュー時と同様に Blob コンテナーを作成し URI と SAS トークンを取得、DataSync ロケーションを作成しました。

EC2 を使った DataSync エージェントもセットアップ済みです。
なお、今回の GA 後も Azure Blob Storage 向けにエージェントレスは使えないままでした。

あとはタスクを作成して開始するだけですね。
送信先ロケーションに Azure Blob Storage 用に構成したロケーションを指定しました。前回はこれが出来なかった。

タスクを作成したら開始してみます。

タスクが起動中です。送信元が Amazon S3 で送信先が Azure Blob Storage になっていますね。良いですね。

SAS トークンの権限に注意

まず、前回と同じ設定で行ったところタスク実行に失敗しました。
エラーメッセージは「Unable to list Azure Blobs on the volume root」

次の公式ドキュメントで言及されていますが、SAS トークン発行時の Permissions に注意が必要です。まぁ当たり前なのですが。

送信元の場合は、Read と List を、送信先の場合はそれに加えて Write と Delete が必要です。

権限が適切に設定されていれば次のように成功しました。

Amazon S3 バケットのオブジェクトを Azure Blob Storage に転送することが出来ました。

さいごに

本日は AWS DataSync の Microsoft Azure Blob Storage ロケーションが GA となり、送信先としても指定出来るようになったので試してみました。

送信先としても使えました、良いですね。
これまでいくつかのユースケースで Amazon S3 と Azure Blob Storage 間のオブジェクト同期が必要なケースあったと思うのですが、なかなかこれといった決め手が無かったと思います。
私も以前は結局 Rclone を使った記憶があります。

エージェント用にコンピューティングリソースを管理しなければいけない点だけちょっとまだ悩ましいのですが、正式に GA となったので AWS DataSync をプロダクト環境で Azure Blob Storage 連携用に使うことは出来そうですね。