Monday, April 12, 2021

Azureのストレージアカウント間でデータのコピーをしよう - ASCII.jp

superselebbanget.blogspot.com

FIXER cloud.config Tech Blog

2021年04月13日 11時00分更新

文● 多田 祐一朗/FIXER

 azcopyコマンドでSAS(Shared Access Signature)発行云々をAzureCLIでやろうとするとしんどかったので、他に方法が無いか調べたらよさそうなのがありました。


az storage copy

 デフォルトでアクセスキーを使ってストレージアカウントの認識をしてくれます。今回は接続文字列を使用した方法を紹介します。

ストレージアカウントの用意

 データコピー元とコピー先でそれぞれ用意します。

 ここでは以下の名称で作成しました。名称カッコ悪いですが許して。

コピー元
・リソースグループ:srcstorageaccount
・ストレージアカウント:srcstorageaccount2021

コピー先
・リソースグループ:deststorageaccount
・ストレージアカウント:deststorageaccount2021

 次にデータを用意します。コピー元ストレージアカウントにコンテナーを作って適当にファイルを置きます。

 後述のコマンド実行で必要な接続文字列は「アクセスキー > 接続文字列」の値を使用します。

コマンド実行

 本題のコマンドです。


az storage copy `
    -s "コピー元ストレージアカウントのエンドポイント" `
    --src-conn "コピー元ストレージアカウントの接続文字列" `
    -d "コピー先ストレージアカウントのエンドポイント" `
    --connection-string "コピー先ストレージアカウントの接続文字列" `
    --recursive `
    --only-show-errors

 変数を用意します。それぞれ値を置き換えてください。


# コピー元ストレージアカウントのエンドポイント
$srcEndpoint = "https://{コピー元ストレージアカウント名}.blob.core.windows.net/"

# コピー元ストレージアカウントの接続文字列。
$srcAccountConnectionString = "XXX"

# コピー先ストレージアカウントのエンドポイント
$destEndpoint = "https://{コピー先ストレージアカウント名}.blob.core.windows.net/"

# コピー先ストレージアカウントの接続文字列
$destAccountConnectionString = "XXX"

 コマンドに上の変数を指定すると以下になります。


az storage copy `
    -s $srcEndpoint `
    --src-conn $srcAccountConnectionString `
    -d $destEndpoint `
    --connection-string $destAccountConnectionString `
    --recursive `
    --only-show-errors

 正常にコマンドが完了すればコピー先にデータが現れます。

終わり

 エンドポイントですが、”https://{ストレージアカウント名}.blob.core.windows.net/{コンテナー名}”と指定することでコンテナーを対象にすることもできます。 スクリプト化すれば複数ストレージアカウントをコピー元にしてデータのバックアップなんかもできます。

  多田 祐一朗/FIXER

 名古屋事業所所属のエンジニア。基盤インフラ経験が少しある。

[転載元]
 ストレージアカウント間でデータのコピーをしよう(AzureCLI) #Azureリレー

■関連サイト

Let's block ads! (Why?)


からの記事と詳細 ( Azureのストレージアカウント間でデータのコピーをしよう - ASCII.jp )
https://ift.tt/32bEvTj
Share:

0 Comments:

Post a Comment