AzCopyモジュールを使ってストレージアカウントにファイルをアップロードする方法


概要

AzCopyのコマンドを使ってAzureのストレージアカウントにファイル等をアップロードする方法です。

AzCopyの説明とモジュールのダウンロードはこちらから↓
参考資料:AzCopy v10を使用してAzure Storageにデータをコピーする

①AzCopyモジュールの準備

  1. 上記リンクからダウンロードしたAzCopyモジュールを作業端末の任意の場所に格納する。
    ※いくつか種類があるので、作業端末にあったモジュールをダウンロードしてください。

  2. Zipファイルを展開する。

  3. 管理者権限のPowerShellを起動して、モジュールを格納したフォルダに移動する。

  4. 下記コマンドを実行してエラーが出力されないことを確認したら準備完了。(簡単。。!)

.\azcopy


※システムの環境変数に登録しておくと、フォルダを移動しなくても実行が可能になります。

②SASトークンの作成

アップロード先のストレージアカウントを準備します。
アップロード先と外部から接続するときに利用するSASトークンを作成します。

  1. Azure Portalにログインして、ストレージアカウントの画面を開く。
  2. アップロード先のストレージアカウントをクリック。
  3. 「Shared Access Signature」をクリック。
  4. 以下の項目を設定して、「SASと接続文字列を生成する」をクリック。

    • 使用できるサービス:アップロード先のサービスにチェックが入ってることを確認
    • 使用できるリソースの種類:「サービス」「コンテナー」「オブジェクト」にチェックを入れる
    • 開始日時と有効期限の日時:作成するSASが利用できる期間を指定
  5. ページ下部に表示される「SASトークン」をコピーする。
    ※作成時にのみ表示されるため、忘れずに保存する。

③アップロード先の作成

ストレートアカウント内にアップロード先となるBLOBストレージまたはAzure Filesを作成します。

BLOBストレージにファイルをアップロードする場合

  1. 「コンテナー」をクリック。
  2. 「+コンテナー」をクリック。

  3. 任意のコンテナー名を入力し、「作成」をクリック。

  4. 作成したコンテナーをクリック。

  5. 「プロパティ」をクリックし、URLをコピーする。

Azure Filesにファイルをアップロードする場合

  1. 「ファイル共有」をクリック。
  2. 「+ファイル共有」をクリック。

  3. 任意のファイル共有名とサイズを入力し、「作成」をクリック。

  4. 作成したファイル共有をクリック。

  5. 「プロパティ」をクリックし、URLをコピーする。

③ファイルのアップロード

作業端末からストレージアカウントにファイルをアップロードします。

  1. 作業端末で管理者権限のPowerShellを起動して、以下のコマンドを実行する。

    .\azcopy copy "<コピー元のパス>" "<コピー先のURL><SASトークン>" --recursive=true --overwrite=prompt
    

    ※「ファイルを上書きしますか?」と警告メッセージが出力された場合は、[Y](表示されているファイルのみ上書きする)または[A](すべてのファイルを上書きする)を選択して「Enter」を押下する。

  2. 「Final Job Status」が「Completed」になることを確認する。

  3. ストレージアカウントにアップロードされていることを確認する。


以上、割と簡単に何でもコピーできるAzCopyの紹介でした。
ファイルがたくさんあるときや、VHDファイルからAzure上に仮想マシンを作成するときなど、GUIでストレージアカウントにアップロードしようとすると時間が掛かるときによく重宝してます。
ストレートアカウントにファイル等をアップロードする際には一度使ってみてください。