こんな状況に直面したことはないだろうか。
ネットワーク経由のデータ移行は、帯域幅がボトルネックになる。100Mbpsの回線で10TBを転送すると、理論値でも約9日かかる計算だ。実際にはプロトコルのオーバーヘッドや本番トラフィックとの競合で、さらに時間がかかる。
この記事では、Azure DataBox Diskを使ったオフラインデータ移行の全手順を解説する。
az databox job コマンドでジョブを注文・追跡し、LinuxサーバーからDataBox Diskへデータをコピーし、返送後にAzureストレージへ安全にインポートされるまでの流れをステップごとに紹介する。動作確認環境: Ubuntu 24.04 LTS / Azure CLI 2.65.0
この記事のポイント
・Azure DataBox Diskは最大40TBをオフラインでAzureへ移行できる物理デバイスサービス
・az databox job createで注文、az databox job showで進捗をリアルタイム追跡できる
・LinuxからexFATディスクをマウントしてrsyncでデータをコピーする手順を解説
・返送後は自動でAzureストレージへインポートされ、ステータスが「Completed」に変わる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
Azure DataBox Diskとは何か
Azure DataBox DiskはMicrosoftが提供するオフラインデータ移行サービスだ。暗号化済みのSSDディスク(最大8TB×5枚=40TB)をMicrosoftから発送してもらい、オンプレミスのデータをコピーした後に返送すると、Azureのストレージアカウントへ自動でインポートされる仕組みだ。ネットワーク転送が非現実的な大容量データ移行に最適で、特に以下のようなケースで威力を発揮する。
・大規模なデータセンター撤廃・移行(数十TB規模)
・帯域幅が限られたオンプレミス環境からのバースト移行
・初回クラウド移行で大量のアーカイブデータをまとめて持ち込む場合
Azure DataBox Diskはディスクごとにデバイス暗号化(BitLocker)が適用されており、パスキーなしにはデータを読み取れない設計だ。また、Microsoftはデータインポート完了後にディスクを安全消去するため、情報漏洩リスクを最小限に抑えられる。
DataBox製品ラインの比較:
・DataBox Disk(本記事): 最大40TB、SSDディスク、個人~中規模移行
・DataBox: 最大100TB、専用アプライアンス、エンタープライズ向け
・DataBox Heavy: 最大1PB、大型筐体、超大規模移行
事前準備:az databox拡張機能のインストール
Azure DataBox Diskを操作するには、Azure CLI本体に加えてdatabox 拡張機能が必要だ。まだインストールしていない場合は以下のコマンドを実行する。# Azure CLI のインストール確認 az version # databox 拡張機能のインストール az extension add --name databox # インストール確認 az extension list --output table # Name Version Preview Experimental # ------- --------- --------- -------------- # databox 1.0.0b5 False False
az databox --help でサブコマンドが表示されることを確認しておこう。Azure DataBox Diskの注文から返送までの全手順
1. Azureへのログインとリソースグループの準備
まずAzure CLIでログインし、DataBox Diskのジョブを作成するリソースグループとストレージアカウントを用意する。# Azure へのログイン az login # サブスクリプションの確認 az account show --output table # EnvironmentName IsDefault Name State TenantId # ----------------- ----------- -------------------- ------- ------------------------------------ # AzureCloud True MySubscription Enabled xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx # リソースグループの作成(East Japan リージョン) az group create --name databox-rg --location japaneast # インポート先ストレージアカウントの作成 az storage account create --name mydataboxstorage --resource-group databox-rg --location japaneast --sku Standard_LRS
mydataboxstorage の部分は実際の環境に合わせて変更すること。2. az databox job createでDataBox Diskを注文する
az databox job create コマンドでインポートジョブを作成する。これがDataBox Diskの「注文」に相当する。# ストレージアカウントのリソースID取得 STORAGE_ID=$(az storage account show --name mydataboxstorage --resource-group databox-rg --query id --output tsv) echo "Storage ID: $STORAGE_ID" # Storage ID: /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/databox-rg/providers/Microsoft.Storage/storageAccounts/mydataboxstorage # DataBox Disk ジョブの作成(注文) az databox job create --resource-group databox-rg --name my-databox-disk-job --location japaneast --sku DataBoxDisk --expected-data-size-in-terra-bytes 8 --contact-details emailList=admin@example.com contactName="Taro Yamada" phone="03-XXXX-XXXX" phoneExtension="" notificationPreference="[{stageName:'DeviceOrdered',sendNotification:true},{stageName:'DeviceDispatched',sendNotification:true},{stageName:'DeviceDelivered',sendNotification:true},{stageName:'DataCopy',sendNotification:true},{stageName:'Delivered',sendNotification:true}]" --destination-account-details "[{dataAccountType:'StorageAccount',accountId:'$STORAGE_ID'}]" --shipping-address city="Tama-shi" companyName="Example Corp" country=JP postalCode="206-0025" stateOrProvince=Tokyo streetAddress1="1-1-1 Ochiai"
--sku DataBoxDisk がDataBox Diskを指定するオプションだ。 DataBox や DataBoxHeavy に変更すると別製品になるので注意する。 --expected-data-size-in-terra-bytes は移行予定のデータ量(TB単位)を指定する。この値をもとにMicrosoftが適切な枚数のディスクを選んで送付する。3. az databox job showでジョブの進捗を確認する
注文後は発送までに数営業日かかる。進捗はaz databox job show コマンドで確認できる。# ジョブのステータス確認 az databox job show --resource-group databox-rg --name my-databox-disk-job --output table # Location Name ProvisioningState ResourceGroup Status # ----------- --------------------- ------------------- --------------- ---------------- # japaneast my-databox-disk-job Succeeded databox-rg DeviceOrdered # ジョブのステージ詳細を取得 az databox job show --resource-group databox-rg --name my-databox-disk-job --query "details.jobStages" --output json # [ # { # "displayName": "Device ordered", # "errorDetails": [], # "stageName": "DeviceOrdered", # "stageStatus": "Succeeded", # "stageTime": "2026-10-01T09:23:45.000000+00:00" # }, # { # "displayName": "Device dispatched", # "errorDetails": [], # "stageName": "DeviceDispatched", # "stageStatus": "Succeeded", # "stageTime": "2026-10-03T14:10:22.000000+00:00" # }, # { # "displayName": "Device delivered", # "errorDetails": [], # "stageName": "DeviceDelivered", # "stageStatus": "Succeeded", # "stageTime": "2026-10-05T11:30:00.000000+00:00" # } # ]
DeviceOrdered → DeviceDispatched → DeviceDelivered の順に変化する。 DeviceDelivered になったらディスクが手元に届いた状態だ。4. ディスクのロック解除(パスキー取得)
DataBox Diskはデフォルトで暗号化されている。データをコピーする前に、パスキーを取得してロックを解除する必要がある。# パスキーの取得 az databox job list-credentials --resource-group databox-rg --name my-databox-disk-job # { # "additionalInfo": null, # "jobName": "my-databox-disk-job", # "jobSecrets": { # "diskSecrets": [ # { # "bitLockerKey": "123456-234567-345678-456789-567890-678901-789012-890123", # "diskSerialNumber": "DbxDisk00A1B2C3D4" # } # ], # "jobSecretsType": "DataBoxDisk", # "podSecrets": null # } # }
bitLockerKey を使ってディスクのロックを解除する。Windowsでは manage-bde -unlock コマンドを使うが、LinuxではDislocker等のツールが必要だ。データコピーの規模が大きい場合はWindowsマシンでのコピーが公式推奨とされているが、Linuxでも以下の手順で対応できる。5. LinuxからDataBox Diskへデータをコピーする
LinuxからDataBox Diskへのデータコピーは、dislocker でBitLockerを解除してからマウントする方法と、Microsoftが提供する DataBoxDiskUnlock ツールの2種類がある。ここでは実際の現場でよく使われる方法を紹介する。# DataBox Disk ロック解除ツールのインストール # ディスクが接続されているか確認 lsblk # NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT # sda 8:0 0 200G 0 disk # sdb 8:16 0 7.4T 0 disk <- DataBox Disk(BitLocker暗号化) # dislocker でBitLockerを解除 sudo apt install dislocker sudo mkdir /mnt/databox-encrypted /mnt/databox # パスキーを使ってロック解除(-p の後にbitLockerKeyを指定) sudo dislocker /dev/sdb -p 123456-234567-345678-456789-567890-678901-789012-890123 -- /mnt/databox-encrypted # 解除後のexFATパーティションをマウント sudo apt install exfatprogs sudo mount -t exfat /mnt/databox-encrypted/dislocker-file /mnt/databox -o loop,rw,uid=$(id -u),gid=$(id -g) df -h /mnt/databox # Filesystem Size Used Avail Use% Mounted on # /mnt/databox-encrypted/dislocker-file 7.3T 0 7.3T 0% /mnt/databox
# データのコピー(PageBlob 用ディレクトリへ) # DataBox Disk のディレクトリ構造: /PageBlob / /BlockBlob / /AzureFile rsync -avh --progress /data/archive/ /mnt/databox/PageBlob/mycontainer/ # コピー後の確認 du -sh /mnt/databox/PageBlob/ # 4.2T /mnt/databox/PageBlob/ ls /mnt/databox/PageBlob/mycontainer/ | head # backup-2026-01.tar.gz # backup-2026-02.tar.gz # db-dump-2026-01.sql.gz # コピー完了後のアンマウント sudo umount /mnt/databox sudo umount /mnt/databox-encrypted
・/PageBlob: Azureページblobへインポート(VHDファイル等)
・/BlockBlob: Azureブロックblobへインポート(一般ファイル)
・/AzureFile: Azure Filesへインポート(SMB共有)
6. ディスクの返送とインポートの完了確認
データコピーが完了したらディスクを指定の返送先へ発送する。返送先はAzureポータルのジョブ詳細画面またはCLIで確認できる。# 返送先住所の確認 az databox job show --resource-group databox-rg --name my-databox-disk-job --query "details.returnPackage" # 返送後: ジョブステータスをポーリングして確認 az databox job show --resource-group databox-rg --name my-databox-disk-job --query "status" # "DataCopy" <- インポート処理中 # 完了したら # "Completed"
# インポート先コンテナのblobを確認 az storage blob list --account-name mydataboxstorage --container-name mycontainer --auth-mode login --output table | head -10 # Name Blob Type Blob Tier Length Content Type Last Modified # ---------------------------- ----------- ----------- -------- ------------------- ------------------------- # backup-2026-01.tar.gz BlockBlob Hot 4831838 application/gzip 2026-10-10T08:34:01+00:00 # backup-2026-02.tar.gz BlockBlob Hot 5234112 application/gzip 2026-10-10T08:34:15+00:00 # db-dump-2026-01.sql.gz BlockBlob Hot 1024000 application/gzip 2026-10-10T08:34:45+00:00 # コピー後のジョブを削除(課金対象外に) az databox job delete --resource-group databox-rg --name my-databox-disk-job --yes
Completed になり、ストレージアカウントでblobが確認できれば移行完了だ。 Azure環境の構築から運用まで体系的に学びたいなら、ハンズオン形式のセミナーも参考にしてほしい。Azure DataBox Disk使用時のトラブルシュート
ジョブ作成時に「ValidationException」が出る場合
az databox job create でエラーが出る場合、多くは --contact-details や --destination-account-details の引数フォーマットが原因だ。# エラー例 # (ValidationException) The request is invalid. # Detail: contactDetails.emailList: A valid email address is required. # 対策: emailListをカンマなしの単一アドレスで試す --contact-details "emailList=['admin@example.com'] ..." # または、フラットな文字列形式ではなくJSON文字列で渡す --contact-details '{"emailList":["admin@example.com"],"contactName":"Taro Yamada","phone":"03-XXXX-XXXX"}'
az databox job create --help で最新の引数仕様を確認すること。dislockerでマウントできない場合
パスキーの形式が違う、またはディスクのパーティションが認識されていないケースが多い。# dislocker のエラー確認 sudo dislocker -v /dev/sdb -p <パスキー> -- /mnt/databox-encrypted 2>&1 # If "Can't retrieve information" が出た場合 -> パーティション番号を確認 fdisk -l /dev/sdb # /dev/sdb1 2048 15728639 15726592 7.5T Microsoft basic data <- この場合 /dev/sdb1 を使う sudo dislocker /dev/sdb1 -p <パスキー> -- /mnt/databox-encrypted
DataBox Diskが「Stalled」のまま進まない場合
ネットワーク確認よりも、先にジョブのエラー詳細を確認する。# ジョブのエラー詳細確認 az databox job show --resource-group databox-rg --name my-databox-disk-job --query "error" # キャンセルして再注文する場合 az databox job cancel --resource-group databox-rg --name my-databox-disk-job --reason "Stalled due to incorrect destination account"
本記事のまとめ
Azure DataBox Diskによるオフラインデータ移行の全手順を振り返ろう。| 工程 | azコマンド / 作業 | ポイント |
|---|---|---|
| 注文 | az databox job create --sku DataBoxDisk |
--expected-data-size-in-terra-bytesでディスク枚数を決定 |
| 進捗確認 | az databox job show --query status |
DeviceOrdered→DeviceDispatched→DeviceDeliveredの順 |
| パスキー取得 | az databox job list-credentials |
bitLockerKeyでBitLocker解除 |
| データコピー | dislocker + exFATマウント + rsync | Linuxではdislockerを使ってBitLocker解除後マウント |
| 返送・完了確認 | az databox job show --query status |
Completedになったらストレージでblob確認 |
| クリーンアップ | az databox job delete |
完了後はジョブを削除して課金を止める |
az databox job コマンドをマスターすれば、CLIベースで注文から完了確認まで一貫して自動化できる。Azureの大容量データ移行を本格的に学びたい場合は、オフライン移行の設計と並行して、AzCopyやAzure Data Factoryによるオンライン移行パターンも押さえておくと選択肢が広がる。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら
- 前のページへ:Azure VM vs Amazon EC2構築ガイド|コストと性能で選ぶクラウド基盤
- この記事の属するカテゴリ:Azureへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます