次の方法で共有


Azure ネットワーク セキュリティ グループ (NSG) を別のリージョンに再配置する

この記事では、NSG のソース構成とセキュリティ規則のコピーを別のリージョンに作成することで、NSG を新しいリージョンに再配置する方法について説明します。

[前提条件]

  • Azure ネットワーク セキュリティ グループがターゲットの Azure リージョンにあることを確認します。
  • 新しい NSG をターゲット リージョン内のリソースに関連付けます。
  • NSG 構成をエクスポートし、テンプレートをデプロイして別のリージョンで NSG を作成するには、ネットワーク共同作成者ロール以上が必要です。
  • ソース ネットワーク レイアウトと現在使用しているすべてのリソースを特定します。 このレイアウトには、ロード バランサー、パブリック IP、仮想ネットワークが含まれますが、この限りではありません。
  • あなたの Azure サブスクリプションで、ターゲットとして使用されるリージョンに NSG を作成できることを確認します。 サポートに連絡して、必要なクォータを有効にしてください。
  • 使用するサブスクリプションに、このプロセスでの NSG の追加をサポートするのに十分なリソースがあることを確認します。 「Azure サブスクリプションとサービスの制限、クォータ、制約」をご覧ください。

稼働停止時間 (ダウンタイム)

発生の可能性があるダウンタイムを理解するには、Azure 向けのクラウド導入フレームワーク: 再配置方法の選択に関する記事を参照してください。

準備する

次の手順では、構成とセキュリティ規則を移動する目的で Resource Manager テンプレートを使用してネットワーク セキュリティ グループの準備を行い、ポータルを使用して NSG の構成とセキュリティ規則を移動先リージョンに移動する方法を示します。

テンプレートのエクスポートと変更

Azure portal を使ってテンプレートをエクスポートおよび変更するには:

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

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

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

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

  5. [テンプレート]>[パラメーターの編集] の順に選択して、オンライン エディターで parameters.json ファイルを開きます。

  6. NSG 名のパラメーターを編集するには、parametersvalue プロパティを変更します。

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "networkSecurityGroups_myVM1_nsg_name": {
          "value": "<target-nsg-name>"
        }
      }
    }
    
  7. エディターで、移動元 NSG の値を、移動先 NSG として選択した名前に変更します。 名前は確実に引用符で囲みます。

  8. エディターで [保存] を選択します。

  9. [テンプレート]>[テンプレートの編集] の順に選択して、オンライン エディターで template.json ファイルを開きます。

  10. NSG の構成とセキュリティ規則を移動する移動先リージョンを編集するには、オンライン エディターで resources の下の location プロパティを変更します。

    "resources": [
      {
        "type": "Microsoft.Network/networkSecurityGroups",
        "apiVersion": "2019-06-01",
        "name": "[parameters('networkSecurityGroups_myVM1_nsg_name')]",
        "location": "<target-region>",
        "properties": {
            "provisioningState": "Succeeded",
            "resourceGuid": "2c846acf-58c8-416d-be97-ccd00a4ccd78",
        }
      }
    ]
    
    
  11. リージョンの場所コードを取得するには、「Azure の場所」を参照してください。 リージョンのコードは、スペースを含まないリージョン名です (Central US = centralus)。

  12. また、必要に応じて、テンプレート内の他のパラメーターも変更できます。これらは、実際の要件に応じて省略可能です。

    • セキュリティ規則 - template.json ファイルの securityRules セクションで規則を追加または削除することで、移動先 NSG にデプロイされた規則を編集できます。

      "resources": [
      {
        "type": "Microsoft.Network/networkSecurityGroups",
        "apiVersion": "2019-06-01",
        "name": "[parameters('networkSecurityGroups_myVM1_nsg_name')]",
        "location": "<target-region>",
        "properties": {
          "provisioningState": "Succeeded",
          "resourceGuid": "2c846acf-58c8-416d-be97-ccd00a4ccd78",
          "securityRules": [
            {
              "name": "RDP",
              "etag": "W/\"c630c458-6b52-4202-8fd7-172b7ab49cf5\"",
              "properties": {
                "provisioningState": "Succeeded",
                "protocol": "TCP",
                "sourcePortRange": "*",
                "destinationPortRange": "3389",
                "sourceAddressPrefix": "*",
                "destinationAddressPrefix": "*",
                "access": "Allow",
                "priority": 300,
                "direction": "Inbound",
                "sourcePortRanges": [],
                "destinationPortRanges": [],
                "sourceAddressPrefixes": [],
                "destinationAddressPrefixes": []
              }
            }
          ]
        }
      }
      

      移動先 NSG で規則を追加したり、削除したりするには、下の例の形式で、template.json ファイルの末尾でカスタム規則の種類を変更する必要もあります。

      {
        "type": "Microsoft.Network/networkSecurityGroups/securityRules",
        "apiVersion": "2019-06-01",
        "name": "[concat(parameters('networkSecurityGroups_myVM1_nsg_name'), '/Port_80')]",
        "dependsOn": [
          "[resourceId('Microsoft.Network/networkSecurityGroups', parameters('networkSecurityGroups_myVM1_nsg_name'))]"
        ],
        "properties": {
          "provisioningState": "Succeeded",
          "protocol": "*",
          "sourcePortRange": "*",
          "destinationPortRange": "80",
          "sourceAddressPrefix": "*",
          "destinationAddressPrefix": "*",
          "access": "Allow",
          "priority": 310,
          "direction": "Inbound",
          "sourcePortRanges": [],
          "destinationPortRanges": [],
          "sourceAddressPrefixes": [],
          "destinationAddressPrefixes": []
        }
      }
      
  13. オンライン エディターで [保存] を選択します。

再デプロイ

  1. [基本]>[サブスクリプション] を選んで、移動先 NSG をデプロイするサブスクリプションを選びます。
  2. [基本]>[リソース グループ] を選んで、移動先 NSG をデプロイするリソース グループを選びます。 [新規作成] をクリックして、移動先 NSG 用の新しいリソース グループを作成できます。 既存の NSG のソース リソース グループとは違う名前にしてください。
  3. [基本]>[場所] を選択して、NSG のデプロイ先となるターゲットの場所に設定されていることを確認します。
  4. [設定] で、名前が上記のパラメーター エディターで入力した名前と一致することを確認します。
  5. [使用条件] のチェック ボックスをオンにします。
  6. [購入] ボタンを選んで、移動先のネットワーク セキュリティ グループをデプロイします。

廃棄

移動先 NSG を破棄する場合は、移動先 NSG が含まれるリソース グループを削除します。 これを行うには、ポータルのダッシュボードでリソース グループを選択し、概要ページの上部にある [削除] を選択します。

クリーンアップ

変更をコミットし、NSG の移動を完了するには、移動元の NSG またはリソース グループを削除します。 これを行うには、ポータルのダッシュボードでネットワーク セキュリティ グループまたはリソース グループを選択し、各ページの上部にある [削除] を選択します。

次のステップ

このチュートリアルでは、Azure ネットワーク セキュリティ グループをあるリージョンから別のリージョンに移動し、移動元リソースをクリーンアップしました。 リージョン間でのリソースの移動と Azure でのディザスター リカバリーの詳細については、以下を参照してください。