チュートリアル:REST API を使用して Azure Data Box BLOB ストレージにデータをコピーする
重要
Azure Data Box では、BLOB レベルでのアクセス層の割り当てがサポートされるようになりました。 このチュートリアルで扱うステップは、更新されたデータ コピー プロセスを反映したもので、ブロック BLOB に特化したものとなっています。
ブロック BLOB データの適切なアクセス層を決定する方法については、「ブロック BLOB の適切なアクセス層を決定する」セクションを参照してください。 適切なアクセス層へのデータのコピーについては、「データを Data Box にコピーする」セクションで説明されている手順のようにしてください。
このセクションに含まれる情報は、2024 年 4 月 1 日以降に発注された注文に適用されます。
注意事項
この記事では、サービス終了 (EOL) 状態となっている Linux ディストリビューションである CentOS について説明します。 適宜、使用と計画を検討してください。 詳細については、「CentOS のサポート終了に関するガイダンス」を参照してください。
このチュートリアルでは、http または https を使用して REST API 経由で Azure Data Box BLOB ストレージに接続する手順について説明します。 接続後、Data Box BLOB ストレージにデータをコピーして Data Box の発送を準備するために必要な手順についても説明します。
このチュートリアルでは、以下の内容を学習します。
- 前提条件
- http 経由または https 経由で Data Box BLOB ストレージに接続する
- Data Box にデータをコピーする
前提条件
開始する前に次の点を確認します。
- Azure Data Box の設定に関するチュートリアルを完了していること。
- Data Box を受け取り済みで、ポータル内の注文の状態が [発送済み] であること。
- Data Box BLOB ストレージのシステム要件を確認済みであり、API、SDK、ツールのサポートされているバージョンに習熟していること。
- Data Box にコピーしたい対象データを保存しているホスト コンピューターにアクセスできること。 このホスト コンピューターは次の条件を満たしている必要があります。
- サポート対象のオペレーティング システムが実行されていること。
- 高速ネットワークに接続していること。 10 GbE 接続を少なくとも 1 つ利用することを強くお勧めします。 10 GbE 接続を利用できない場合は、1 GbE データ リンクを使用できますが、コピーの速度が影響を受けます。
- お客様のホスト コンピューターに AzCopy V10 をダウンロードする。 AzCopy はホスト コンピューターから Azure Data Box BLOB ストレージにデータをコピーするのに使用します。
http または https 経由で接続する
Data Box BLOB ストレージには http または https を使用して接続できます。
- Data Box BLOB ストレージへの接続に推奨される安全な方法は https です。
- http は、信頼されたネットワーク経由で接続するときに使用します。
Data Box BLOB ストレージに接続するための手順は、http 経由の場合と https 経由の場合とで異なります。
http 経由で接続する
http 経由の Data Box BLOB ストレージ REST API への接続では、以下の手順が必要になります。
- デバイス IP と BLOB サービス エンドポイントをリモート ホストに追加する
- パートナー ソフトウェアを構成し、接続を確認する
以下のセクションでは、これらの各手順について説明します。
デバイス IP アドレスと Blob service エンドポイントを追加する
Data Box デバイスにサインインします。 ロックが解除されていることを確認してください。
[ネットワーク インターフェイスの設定] に移動します。 クライアントへの接続に使用するネットワーク インターフェイスのデバイスの IP アドレスをメモします。
[接続とコピー] に移動し、 [REST] をクリックします。
[ストレージ アカウントへのアクセスとデータのアップロード] ダイアログから [Blob service エンドポイント] をコピーします。
メモ帳を管理者として起動し、
C:\Windows\System32\Drivers\etc
にある hosts ファイルを開きます。hosts ファイルに
<device IP address> <Blob service endpoint>
というエントリを追加します。次の図を参考にしてください。 hosts ファイルを保存します。
接続を確認し、パートナー ソフトウェアを構成する
クライアントに接続するためのパートナー ソフトウェアを構成します。 パートナー ソフトウェアに接続するためには、通常、前の手順のローカル Web UI にある [接続とコピー] ページから収集した下記の情報 (異なる場合もあります) が必要になります。
- ストレージ アカウント名
- アクセス キー
- Blob service endpoint
正常に接続が確立されたことを確認するために、Storage Explorer を使用して外部のストレージ アカウントにアタッチします。 Storage Explorer をお持ちでない場合は、ダウンロードしてインストールする必要があります。
Storage Explorer を初めて使用するときは、次の手順を行う必要があります。
一番上のコマンド バーから [編集] > [Azure Stack を対象にする] に移動します。
Storage Explorer を再起動して、変更を反映させます。
次の手順に従ってストレージ アカウントに接続し、その接続を確認します。
Storage Explorer で、 [Azure Storage へ接続] ダイアログを開きます。 [Azure Storage へ接続] ダイアログで、 [Use a storage account name and key](ストレージ アカウント名とキーを使用) を選択します。
自分のアカウント名とアカウント キー (ローカル Web UI の [接続とコピー] ページのキー 1 の値) を貼り付けます。 ストレージ エンドポイント ドメインに [Other (enter below)](その他 (以下に入力)) を選択し、Blob service エンドポイントを指定します (下図)。 [HTTP を使用する] オプションは、http で転送する場合にのみオンにします。 https を使用する場合は、このオプションをオフのままにしてください。 [次へ] を選択します。
[接続の概要] ダイアログで、指定した情報を確認します。 [接続] を選択します。
正常に追加されたアカウントが、名前の後に "External, Other (外部、その他)" を伴って Storage Explorer に表示されます。 [BLOB コンテナー] をクリックすると、コンテナーが表示されます。
https 経由で接続する
https 経由の Azure Blob Storage REST API への接続では、以下の手順が必要になります。
- Azure portal から証明書をダウンロードします。 この証明書は、Web UI と Azure Blob Storage REST API への接続に使用します。
- クライアントまたはリモート ホストで証明書をインポートする。
- デバイス IP と BLOB サービス エンドポイントをクライアントまたはリモート ホストに追加する。
- パートナー ソフトウェアを構成し、接続を確認する。
以下のセクションでは、これらの各手順について説明します。
[証明書のダウンロード]
Azure portal を使用して証明書をダウンロードします。
Azure portal にサインインします。
お客様の Data Box の注文に移動し、[全般] > [デバイスの詳細] の順に移動します。
[デバイスの資格情報] で [デバイスの API アクセス] に移動します。 [Download] を選択します。 この操作によって、<注文名>.cer 証明書ファイルがダウンロードされます。 このファイルを保存し、デバイスへの接続に使用するクライアントまたはリモート ホストにインストールします。
証明書のインポート
HTTPS 経由で Data Box BLOB ストレージにアクセスするには、デバイスの TLS/SSL 証明書が必要です。 この証明書をクライアント アプリケーションで利用できるようにする方法は、アプリケーション、オペレーティング システム、およびディストリビューションによって異なります。 システムの証明書ストアにインポートされた証明書にアクセスできるアプリケーションもあれば、そのメカニズムを利用しないアプリケーションもあります。
このセクションでは、いくつかのアプリケーションに固有の情報を説明しています。 他のアプリケーションの詳細については、使用しているアプリケーションとオペレーティング システムのドキュメントを参照してください。
次の手順に従って、.cer
ファイルを Windows または Linux クライアントのルート ストアにインポートします。 Windows システムでは、Windows PowerShell または Windows Server UI を使用して、証明書をシステムにインポートしてインストールできます。
Windows PowerShell の使用
Windows PowerShell セッションを管理者として開始します。
コマンド プロンプトに、次のコマンドを入力します。
Import-Certificate -FilePath C:\temp\localuihttps.cer -CertStoreLocation Cert:\LocalMachine\Root
Windows Server UI を使用する
.cer
ファイルを右クリックし、 [証明書のインストール] を選択します。 このアクションにより、証明書のインポート ウィザードが開始されます。[ストアの場所] で [ローカル マシン] を選択し、[次へ] を選択します。
[証明書をすべて次のストアに配置する] を選択し、[参照] を選択します。 リモート ホストのルート ストアに移動し、[次へ]を選択します。
完了 を選択します。 インポートが成功したことを通知するメッセージが表示されます。
Linux システムを使用する
証明書をインポートする方法は、ディストリビューションによって異なります。
Ubuntu や Debian などのいくつかのディストリビューションでは、update-ca-certificates
コマンドを使用します。
- Base64 エンコードの証明書ファイルの名前を変更して拡張子
.crt
を付け、それを/usr/local/share/ca-certificates directory
にコピーします。 - コマンド
update-ca-certificates
を実行します。
RHEL、Fedora、および CentOS の最近のバージョンでは、update-ca-trust
コマンドを使用します。
- 証明書ファイルを
/etc/pki/ca-trust/source/anchors
ディレクトリにコピーします。 update-ca-trust
を実行します。
詳細については、お使いのディストリビューションに固有のドキュメントを参照してください。
デバイス IP アドレスと Blob service エンドポイントを追加する
http 経由での接続時のデバイスの IP アドレスと Blob service エンドポイントの追加手順と同じ手順に従います。
パートナー ソフトウェアを構成し、接続を確認する
http 経由での接続時に使用したパートナー ソフトウェアの構成手順に従います。 唯一の違いは、http を使用するオプションをオフにしておく必要があることです。
ブロック BLOB の適切なアクセス層を決定する
重要
このセクションに含まれる情報は、2024 年 4 月 1 日以降に発注された注文に適用されます。
Azure Storage では、同じストレージ アカウント内の複数のアクセス層にブロック BLOB データを保存できます。 この機能を使用すると、データにアクセスする頻度に基づいて、データをより効率的に整理して保存できます。 次の表は、Azure Storage のアクセス層に関する情報と推奨事項です。
レベル | 推奨事項 | ベスト プラクティス |
---|---|---|
ホット | 頻繁にアクセスまたは変更されるオンライン データに適しています。 この層はストレージ コストが最も高く、アクセス コストは最も安くなります。 | この層のデータは、定期的かつアクティブに使う必要があるものです。 |
クール | 頻繁にアクセスまたは変更されないオンライン データに適しています。 この層は、ホット アクセス層よりストレージ コストは安く、アクセス コストは高くなります。 | この層のデータは、30 日以上保存する必要があるものです。 |
コールド | アクセスや変更はあまり行われないものの、高速で取得する必要があるオンライン データに適しています。 この層は、クール アクセス層よりストレージ コストは安く、アクセス コストは高くなります。 | この層のデータは、90 日以上保存する必要があるものです。 |
アーカイブ | ほとんどアクセスされず、待ち時間の要件が低いオフライン データに適しています。 | この層のデータは、180 日以上保存する必要があるものです。 180 日以内にアーカイブ アクセス層から削除されたデータは、早期削除料金の対象になります。 |
BLOB アクセス層の詳細については、「BLOB データのアクセス層」を参照してください。 より詳細なベスト プラクティスについては、「BLOB アクセス層を使用するためのベスト プラクティス」を参照してください。
Data Box 内の対応するフォルダーにコピーすることで、ブロック BLOB データを適切なアクセス層に転送できます。 このプロセスについては、「Azure Data Box にデータをコピーする」セクションで詳しく説明します。
Data Box にデータをコピーする
1 つ以上の Data Box 共有に接続したら、次のステップはデータをコピーすることです。 データのコピーを開始する前に、次の制限事項を確認してください。
- データのコピー中は、そのサイズが Azure Storage と Data Box の制限に関するページに記載されたサイズ制限に準拠していることを確認してください。
- Data Box と Data Box 以外の別のアプリケーションを同時にアップロードした場合、アップロード ジョブの失敗やデータの破損が起きる可能性があります。
重要
データが Azure Storage にコピーされたことを確認するまでは、ソース データのコピーを保持するようにしてください。
このチュートリアルでは、Data Box BLOB ストレージにデータをコピーするために AzCopy が使用されます。 GUI ベースのツールを使用したい場合は、Azure Storage Explorer や 他のパートナー ソフトウェアを使用してデータをコピーすることもできます。
コピーの手順は次のとおりです。
- コンテナーを作成する
- フォルダーの内容を Data Box BLOB ストレージにアップロードする
- 変更されたファイルを Data Box BLOB ストレージにアップロードする
以下のセクションでは、これらの各手順について詳しく説明します。
コンテナーを作成する
BLOB は常にコンテナーにアップロードされるため、最初の手順はコンテナーを作成することです。 コンテナーを使用すると、お客様のコンピューター上のフォルダーにファイルを整理するように、BLOB のグループを整理できます。 BLOB コンテナーを作成するには、以下の手順に従います。
Storage Explorer を開きます。
左側のウィンドウで、BLOB コンテナーを作成するストレージ アカウントを展開します。
[BLOB コンテナー] を右クリックし、コンテキスト メニューの [BLOB コンテナーの作成] を選択します。
[BLOB コンテナー] フォルダーの下にテキスト ボックスが表示されます。 BLOB コンテナーの名前を入力します。 BLOB コンテナーの名前付けに関する規則と制限については、「コンテナーを作成し、アクセス許可を設定する」を参照してください。
作業を終えたら、Enter キーを押して BLOB コンテナーを作成するか、Esc キーを押して取り消します。 BLOB コンテナーが正常に作成されると、選択したストレージ アカウントの [BLOB コンテナー] フォルダーの下に表示されます。
フォルダーのコンテンツを Data Box BLOB ストレージにアップロードする
AzCopy を使用して、フォルダー内のすべてのファイルを Windows または Linux 上の BLOB ストレージにアップロードします。 フォルダー内のすべての BLOB をアップロードするには、次の AzCopy コマンドを入力します。
Linux
azcopy \
--source /mnt/myfolder \
--destination https://data-box-storage-account-name.blob.device-serial-no.microsoftdatabox.com/container-name/ \
--dest-key <key> \
--recursive
Windows
AzCopy /Source:C:\myfolder /Dest:https://data-box-storage-account-name.blob.device-serial-no.microsoftdatabox.com/container-name/ /DestKey:<key> /S
<key>
はお客様のアカウント キーで置き換えてください。 ストレージ アカウントに移動すると、Azure portal 内でアカウント キーを取得できます。 [設定]> [アクセス キー]の順に選択し、キーを選択してから、値をコピーして AzCopy コマンドに貼り付けます。
指定した宛先コンテナーが存在しない場合、AzCopy によってコンテナーが作成され、そのコンテナーにファイルがアップロードされます。 お客様のデータ ディレクトリへのソース パスを更新して、宛先 URL の data-box-storage-account-name
を、お客様の Data Box に関連付けられたストレージ アカウントの名前で置き換えます。
指定したディレクトリのコンテンツを BLOB ストレージに再帰的にアップロードするには、Linux の場合は --recursive
オプションを、Windows の場合は /S
オプションを指定します。 これらのオプションのいずれかを使用して AzCopy を実行すると、すべてのサブフォルダーとサブフォルダー内のファイルもアップロードされます。
変更されたファイルを Data Box BLOB ストレージにアップロードする
AzCopy を使用して、最終更新時刻に基づいてファイルをアップロードすることもできます。 更新ファイルまたは新規ファイルのみをアップロードするには、Linux の場合は --exclude-older
パラメータを、Windows の場合は /XO
パラメータを AzCopy コマンドに追加します。
ローカル ソース内のコピー先には存在しないリソースのみをコピーするには、Linux の場合は --exclude-older
と --exclude-newer
の両パラメータを、Windows の場合は /XO
と /XN
の両パラメータを AzCopy コマンドで指定します。 AzCopy は、このタイムスタンプが指定する更新データのみをアップロードします。
Linux
azcopy \
--source /mnt/myfolder \
--destination https://data-box-storage-account-name.blob.device-serial-no.microsoftdatabox.com/container-name/ \
--dest-key <key> \
--recursive \
--exclude-older
Windows
AzCopy /Source:C:\myfolder /Dest:https://data-box-storage-account-name.blob.device-serial-no.microsoftdatabox.com/container-name/ /DestKey:<key> /S /XO
接続またはコピー操作中にエラーが発生する場合は、Data Box BLOB ストレージの問題のトラブルシューティングに関するページを参照してください。
次のステップは、発送するデバイスの準備です。
次のステップ
このチュートリアルでは、Azure Data Box に関する次のようなトピックについて説明しました。
- REST API を使用して Azure Data Box BLOB ストレージにデータをコピーする場合の前提条件
- http 経由または https 経由の Data Box BLOB ストレージへの接続
- ブロック BLOB の適切なアクセス層の決定
- Data Box にデータをコピーする
次のチュートリアルに進み、お客様の Data Box を Microsoft に返送する方法を学習してください。