AzCopyを使ったマスター:ダウンロード、インストール、および認証

AzCopyツールは、Azureストレージへのデータのコピーと移動を可能にする無料で便利なツールです。この素晴らしいコマンドラインユーティリティは、プロセスを自動化し効率化することができますが、セットアップが必要です。AzCopyをダウンロードして始める方法について説明します。

この記事では、AzCopyを使用するためにシステムを準備する方法について学びます。これには、Azureストレージへのアクセス権を持つために、ツールのダウンロードと認証が含まれます。この作業が完了すると、AzCopyを使用してAzureストレージデータを管理する準備が整います。

この記事執筆時点での最新かつサポートされているAzCopyのバージョンは、AzCopy v10です。AzCopyはWindowsLinux、およびmacOS向けに利用可能です。この記事では、Windows向けのAzCopyユーティリティのみをカバーしています。

前提条件

この記事では、実際にいくつかのタスクを実行することを学びます。一緒に進める場合は、以下の前提条件を満たしていることを確認してください。

AzCopyのダウンロード:手動方式

AzCopyをダウンロードするためのいくつかの異なる方法があります。最初に手動方式で行いましょう。AzCopyを一度に多くのコンピューターにインストールする予定がない場合には、この方法を使用することがあります。

このURLに移動します- https://aka.ms/downloadazcopy-v10-windows そして、zipファイルのダウンロードが開始されるはずです。ダウンロードが完了したら、zipファイルをC:\AzCopyまたは選択したフォルダに展開します。

最後に、インストールディレクトリをシステムパスに追加します。これを行う方法については、記事「Windowsでパスと環境変数を設定する方法」を参照してください。WindowsのPATHにフォルダパスを追加することで、コマンドラインの任意の作業ディレクトリで azcopy実行可能ファイルを呼び出すことができます。

PowerShellスクリプトを使用してAzCopyをダウンロードする

AzCopyを多数のマシンにインストールする場合や、他の人にインストール手順を提供する必要がある場合は、PowerShellを使用することもできます。PowerShellスクリプトを使用すると、プロセスが単一のスクリプトに簡略化されます。

新しいPowerShellスクリプトを作成し、以下の内容をコピーして貼り付けます。インラインコメントを確認することで、スクリプトの各セクションが何を行っているかを把握することができます。

デフォルトでは、以下のスクリプトはC:\AzCopyフォルダにAzCopyをダウンロードします。変更する場合は、スクリプトの実行時にInstallPathパラメータを使用するか、スクリプト自体のデフォルトパスを変更してください。

$InstallPath = 'C:\AzCopy'

# クリーンアップ先
if (Test-Path $InstallPath) {
    Get-ChildItem $InstallPath | Remove-Item -Confirm:$false -Force
}

# Zip先
$zip = "$InstallPath\AzCopy.Zip"

# インストールフォルダを作成します(例:C:\AzCopy)
$null = New-Item -Type Directory -Path $InstallPath -Force

# Windows用AzCopyのZipをダウンロードします
Start-BitsTransfer -Source "https://aka.ms/downloadazcopy-v10-windows" -Destination $zip

# Zipファイルを展開します
Expand-Archive $zip $InstallPath -Force

# $InstallPathに移動します
Get-ChildItem "$($InstallPath)\*\*" | Move-Item -Destination "$($InstallPath)\" -Force

# クリーンアップ - ZIPと旧フォルダを削除します
Remove-Item $zip -Force -Confirm:$false
Get-ChildItem "$($InstallPath)\*" -Directory | ForEach-Object { Remove-Item $_.FullName -Recurse -Force -Confirm:$false }

# インストールパスをシステムパスに追加します(存在しない場合)
if ($env:PATH -notcontains $InstallPath) {
    $path = ($env:PATH -split ";")
    if (!($path -contains $InstallPath)) {
        $path += $InstallPath
        $env:PATH = ($path -join ";")
        $env:PATH = $env:PATH -replace ';;', ';'
    }
    [Environment]::SetEnvironmentVariable("Path", ($env:path), [System.EnvironmentVariableTarget]::Machine)
}

スクリプトの実行が完了したら、AzCopyが正常にダウンロードされたことを確認できます。PowerShellコンソール内で、Get-ChildItem -Path $InstallPathを実行してインストールパスのファイルをリストします(使用したフォルダに置き換えてください)。

すべてがうまくいけば、azcopy.exeユーティリティとライセンステキストファイルが表示されます。

また、インストールパスがシステムパス変数に追加されたことを確認するには、$env:Path -split ";"を実行し、インストールフォルダがリストの一番下に表示されることに注目してください。

以下の例では、C:\AzCopyがリストされているため、場所が正常に追加されたことを意味します。

Download AzCopy directory

AzCopyの認証

ダウンロードしたAzCopyのタスクは完了しています。ただし、タスクを実行する前に、Azure StorageにアクセスするためにAzureサブスクリプションに認証する必要があります。

AzureストレージアカウントにAzCopyを認証する方法は2つあります。Azure Active DirectoryかShared Access Signature (SAS)トークンを使用する方法です。この記事では、Azure ADを使用する方法に焦点を当てます。SASトークンを作成して認証する方法については、Azure SASトークンを生成してストレージアカウントにアクセスする方法をご覧ください。

AzCopyを認証する最も一般的な方法はAzure ADを使用する方法です。Azure ADを使用する場合、いくつかのオプションがあります。これらのオプションには、次のものがあります:

  • インタラクティブログイン – ユーザーはブラウザを使用してログインするようにプロンプトが表示されます。
  • サービスプリンシパル + パスワード – インタラクティブでないログインに使用されます。自動化およびスクリプトには推奨されています。
  • サービスプリンシパル + 証明書 – インタラクティブでないログインに使用されます。自動化およびスクリプトには推奨されています。

この記事では、インタラクティブログインを使用して認証する方法について説明します。まず、コマンドプロンプトまたはPowerShellを開き、次のコマンドを実行します。 --tenant-idパラメーターはオプションですが、特にログインアカウントが複数のAzureテナントに関連付けられている場合には推奨されます。

> azcopy login --tenant-id "TENANT-ID"`

Azure ADテナントIDを見つけるのにお困りですか、この記事をご覧ください。

実行後、ブラウザを開き、https://login.microsoftonline.com/common/oauth2/deviceauthに移動し、表示されたコードを入力するように求められます。以下にその様子を見ることができます。

Enter the code from AzCopy into the browser

コードをブラウザに入力したら、次へをクリックしてアカウントにサインインしてください。

Sign in to Azure AD

サインインが完了すると、ブラウザとターミナルに表示されるステータスが以下のスクリーンショットと類似しているはずです。

AzCopy login is successful

概要

これで、AzCopyをダウンロードして認証するための必要な知識を手に入れました。

これで、AzCopyを活用する準備が整いました!AzCopyを試してみたい場合は、次の記事に進んでください。ローカルとAzureストレージ間でファイルを管理する方法(AZCopyを使用)を参照して、ローカルとAzureストレージ間でデータを管理および転送する方法を学んでください。

Source:
https://adamtheautomator.com/azcopy-download/