Azure Storage アカウントを別のリージョンに移動する

この記事では、ストレージ アカウントのコピーを別のリージョンに作成して、Azure Storage アカウントを新しいリージョンに再配置する方法について説明します。 また、AzCopy または任意の別のツールを使用して、そのアカウントにデータを再配置する方法についても説明します。

前提条件

ダウンタイム

起こり得るダウンタイムを理解するには、Azure 向けのクラウド導入フレームワークの再配置方法の選択に関する記事を参照してください。

準備

準備するには、Resource Manager テンプレートをエクスポートして変更する必要があります。

テンプレートをエクスポートする

Resource Manager テンプレートには、ストレージ アカウントを記述する設定が含まれています。

Azure portal を使用してテンプレートをエクスポートするには:

  1. Azure portal にサインインします。

  2. [すべてのリソース] を選択してから、ストレージ アカウントを選択します。

  3. >[Automation]>[テンプレートのエクスポート] を選択します。

  4. [テンプレートのエクスポート] ブレードで [ダウンロード] を選択します。

  5. ポータルからダウンロードした .zip ファイルを見つけて、選択したフォルダーにそのファイルを解凍します。

    この zip ファイルには、テンプレートとテンプレートをデプロイするためのスクリプトから構成される .json ファイルが含まれています。

テンプレートの変更

ストレージ アカウント名とリージョンを変更して、テンプレートを変更します。

Azure portal を使用してテンプレートをデプロイするには:

  1. Azure Portal で、 [リソースの作成] を選択します。

  2. [Marketplace を検索] で「template deployment」と入力し、Enter キーを押します。

  3. [テンプレートのデプロイ] を選択します。

    Azure Resource Manager のテンプレート ライブラリ

  4. [作成] を選択します

  5. [Build your own template in the editor] (エディターで独自のテンプレートをビルド) を選択します。

  6. [ファイルの読み込み] を選択し、手順に従って、前のセクションでダウンロードした template.json ファイルを読み込みます。

  7. template.json ファイル内で、ストレージ アカウント名の既定値を設定して、ターゲット ストレージ アカウントに名前を付与します。 この例では、ストレージ アカウント名の既定値を mytargetaccount に設定します。

    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "storageAccounts_mysourceaccount_name": {
            "defaultValue": "mytargetaccount",
            "type": "String"
        }
    },
    
    
  8. template.json ファイル内の location プロパティを編集して、ターゲット リージョンを指定します。 この例では、ターゲット リージョンを centralus に設定します。

    "resources": [{
         "type": "Microsoft.Storage/storageAccounts",
         "apiVersion": "2019-04-01",
         "name": "[parameters('storageAccounts_mysourceaccount_name')]",
         "location": "centralus"
         }]          
    

    リージョンの場所コードを取得するには、「Azure の場所」を参照してください。 リージョンのコードは、スペースを含まないリージョン名です (Central US = centralus)。

Redeploy

テンプレートをデプロイして、ターゲット リージョンに新しいストレージ アカウントを作成します。

  1. template.json ファイルを保存します。

  2. プロパティ値を入力または選択します。

    • サブスクリプション:Azure サブスクリプションを選択します。

    • [リソース グループ] : [新規作成] を選択して、リソース グループに名前を付けます。

    • [場所] :Azure の場所を選択します。

  3. [上記の使用条件に同意する] を選択し、[購入を選択] を選択します。

ヒント

指定された XML が構文的に有効ではないことを示すエラーが発生した場合は、テンプレート内の JSON を Azure Resource Manager ドキュメントで説明されているスキーマと比較します。

新しいストレージ アカウントを構成する

一部の機能はテンプレートにエクスポートされないため、新しいストレージ アカウントに追加する必要があります。

次の表に、これらの機能と、新しいストレージ アカウントに追加するためのガイダンスを一覧表示します。

機能 ガイダンス
ライフサイクル管理ポリシー Azure Blob Storage のライフサイクルの管理
静的な Web サイト Azure Storage で静的 Web サイトをホストする
イベントのサブスクリプション Blob Storage のイベント処理
警告 Azure Monitor を使用してアクティビティ ログ アラートを作成、表示、管理する
Content Delivery Network (CDN) Azure CDN を使用して HTTPS 経由でカスタム ドメインを使用した BLOB にアクセスする

Note

元のストレージ アカウントに対して CDN を設定する場合は、単に既存の CDN の配信元を新しいアカウントのプライマリ BLOB サービス エンドポイント (またはプライマリ静的 Web サイト エンドポイント) に変更します。

新しいストレージ アカウントにデータを移動する

AzCopy は、パフォーマンスの最適化のためにデータを移動する場合におすすめのツールです。 AzCopy では、データはストレージ サーバー間で直接コピーされるため、コンピューターのネットワーク帯域幅は使用されません。 コマンド ラインまたはカスタム スクリプトの一部として AzCopy を実行できます。 詳細については、「 AzCopy を使用して Azure ストレージアカウント間で blob をコピーする」を参照してください。

Azure Data Factory を使用してデータを移動することもできます。 Data Factory を使用してデータを再配置する方法については、次のいずれかのガイドを参照してください:

破棄またはクリーンアップ

デプロイ後に、最初からやり直す場合は、ターゲット ストレージ アカウントを削除し、この記事の「準備」と「再デプロイ」のセクションに示した手順を繰り返します。

変更をコミットしてストレージ アカウントの移動を完了するには、元のストレージ アカウントを削除します。

Azure portal を使用してストレージ アカウントを削除するには:

  1. Azure portal 上で、左側のメニューを展開してサービスのメニューを開き、 [ストレージ アカウント] を選択して、ストレージ アカウントの一覧を表示します。

  2. 削除するターゲット ストレージ アカウントを見つけて、一覧の右側にある [詳細] ボタン ( ... ) を右クリックします。

  3. [削除] を選択して、確定します。

次のステップ

リージョン間でのリソースの移動と Azure でのディザスター リカバリーの詳細については、以下を参照してください。