仮想マシンから、AzCopyでストレージアカウントにファイルをコピーする

仮想マシンから、ストレージアカウントに直接ファイルを置く要件に役立つメモです。

定期的にスクリプトで、コピーを行うような想定です。

事前準備

以下のURLからazcopyをダウンロードし、Azure内の仮想マシンに配置します。

https://learn.microsoft.com/ja-jp/azure/storage/common/storage-use-azcopy-v10

マネージドIDを作成します。サービスからマネージドIDを開き、マネージドIDを作成します。

作成後は、クライアント IDをコピーしておきます。

コピーを実施する仮想マシンの左側メニュー、IDをクリックし、ユーザー割り当てに作成したマネージドIDを追加します。

コピー先のストレージアカウントのアクセス制御、追加からロールの割り当ての追加をします。

ストレージ BLOB データ共同作成者を選択します。

メンバーにマネージドIDを選択し、作成したマネージドIDを追加します。これで事前準備は終わりです。(長い…💦)

実行

azcopy でazureにログインを行います。

# 構文
.\azcopy login --identity --identity-client-id マネージドIDのクライアントID

azcopyで仮想マシン内のローカルファイルを、ストレージアカウントのコンテナー内にコピーできました。

# 構文
.\azcopy cp "コピー元ファイル名" "https://ストレージアカウント名.blob.core.windows.net/コピー先コンテナー名/"

コピーされたことを確認