Прочитать на английском

Поделиться через


Перемещение ресурса Azure SignalR в другой регион

Ресурсы Azure SignalR зависят от региона и не могут быть перемещены из одного региона в другой. Однако существуют сценарии, в которых может потребоваться переместить существующий ресурс SignalR в другой регион.

Вы можете использовать шаблон Azure Resource Manager для экспорта существующей конфигурации ресурса Azure SignalR, изменения параметров в соответствии с целевым регионом и создания копии ресурса SignalR в другом регионе. Дополнительные сведения о Resource Manager и шаблонах см. в документе Краткое руководство по созданию и развертыванию шаблонов Azure Resource Manager с помощью портала Azure.

Необходимые компоненты

  • Убедитесь, что служба и функции, которые вы используете, поддерживаются в целевом регионе.
  • Убедитесь, что подписка Azure позволяет создать ресурс SignalR в целевом регионе.
  • Свяжитесь со службой поддержки, чтобы включить необходимые квоты.
  • Если используются предварительные версии функции, убедитесь, что ваша подписка внесена в список разрешенных подписок для целевого региона.

Подготовка и перемещение ресурса SignalR

Чтобы приступить к работе, экспортируйте и измените шаблон Resource Manager.

Экспорт шаблона и развертывание из портал Azure

Ниже показано, как подготовить перемещение ресурсов SignalR с помощью шаблона Resource Manager и переместить его в целевой регион с помощью портала.

  1. Войдите на портал Azure.

  2. Выберите Группы ресурсов. Найдите группу ресурсов, содержащую исходный ресурс SignalR, и выберите ее.

  3. В разделе Автоматизация выберите Экспорт шаблона.

  4. Выберите Развернуть.

  5. Выберите параметры "Изменить шаблон">, чтобы открыть файл parameters.json в интерактивном редакторе.

  6. Чтобы изменить параметр имени ресурса SignalR, измените value свойство в разделе parameters:

    JSON
          {
            "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
            "contentVersion": "1.0.0.0",
            "parameters": {
              "SignalR_mySignalR_name": {
                "value": "<target-signalr-name>"
              }
            }
          }
    
  7. Измените значение в редакторе на имя выбранного ресурса SignalR. Убедитесь, что имя заключено в кавычки.

  8. Выберите в редакторе команду Сохранить.

  9. Выберите шаблон "Изменить шаблон", чтобы открыть файл template.json> в интерактивном редакторе.

  10. Чтобы изменить целевой регион, измените location свойство resources в интерактивном редакторе:

    JSON
        "resources": [
          {
            "type": "Microsoft.SignalRService/SignalR",
            "apiVersion": "2021-10-01",
            "name": "[parameters('SignalR_mySignalR_name')]",
            "location": "<target-region>",
            "properties": {
            }
          }
        ]
    
    
  11. Чтобы получить коды расположения региона, см. сведения о расположениях Azure SignalR. Код региона — это имя региона без пробелов, Central US = centralus.

  12. При выборе можно также изменить другие параметры в шаблоне и быть необязательными в зависимости от ваших требований.

  13. Выберите Сохранить в интерактивном редакторе.

  14. Выберите подписку BASICS>, чтобы выбрать подписку, в которой будет развернут целевой ресурс.

  15. Выберите группу ресурсов BASICS>, чтобы выбрать группу ресурсов, в которой будет развернут целевой ресурс. Вы можете выбрать "Создать" , чтобы создать новую группу ресурсов для целевого ресурса. Убедитесь, что имя не совпадает с исходной группой ресурсов существующего ресурса.

  16. Убедитесь, что расположение BASICS>задано в целевом расположении, в котором требуется развернуть ресурс.

  17. Выберите "Проверка и создание ", чтобы развернуть целевой ресурс Azure SignalR.

Экспорт шаблона и развертывание с помощью Azure PowerShell

Для экспорта шаблона выполните с помощью PowerShel следующие действия.

  1. С помощью команды Connect-AzAccount войдите в подписку Azure и следуйте инструкциям на экране:

    Azure PowerShell
    Connect-AzAccount
    
  2. Если удостоверение связано с несколькими подписками, установите активную подписку на подписку ресурса SignalR, который требуется переместить.

    Azure PowerShell
    $context = Get-AzSubscription -SubscriptionId <subscription-id>
    Set-AzContext $context
    
  3. Экспортируйте шаблон исходного ресурса SignalR. Эти команды сохраняют шаблон JSON в текущем каталоге.

    Azure PowerShell
    $resource = Get-AzResource `
       -ResourceGroupName <resource-group-name> `
       -ResourceName <signalr-resource-name> `
       -ResourceType Microsoft.SignalRService/SignalR
    Export-AzResourceGroup `
       -ResourceGroupName <resource-group-name> `
       -Resource $resource.ResourceId `
       -IncludeParameterDefaultValue
    
  4. Скачанный файл будет называться именем группы ресурсов, из которой был экспортирован ресурс. Выберите файл, экспортированный из команды, с именем <имя_группы_ресурсов>.json, и откройте его в любом редакторе:

    Azure PowerShell
    notepad <source-resource-group-name>.json
    
  5. Чтобы изменить параметр имени ресурса SignalR, измените свойство defaultValue исходного имени ресурса SignalR на имя целевого ресурса SignalR. Убедитесь, что имя находится в кавычках:

    JSON
      {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
          "SignalR_mySignalR_name": {
          "defaultValue": "<target-signalr-name>",
            "type": "String"
          }
        }
      }
    
  6. Чтобы изменить целевой регион, в котором будет перемещаться ресурс SignalR, измените location свойство в разделе resources:

    JSON
        "resources": [
          {
            "type": "Microsoft.SignalRService/SignalR",
            "apiVersion": "2021-10-01",
            "name": "[parameters('SignalR_mySignalR_name')]",
            "location": "<target-region>",
            "properties": {
            }
          }
        ]
    
  7. Чтобы получить коды расположения региона, см. сведения о расположениях Azure SignalR. Код региона — это имя региона без пробелов, Central US = centralus.

    При выборе можно также изменить другие параметры в шаблоне в зависимости от ваших требований.

  8. Сохраните файл <имя_группы_ресурсов>.json.

  9. Создайте группу ресурсов в целевом регионе для развертывания целевого ресурса SignalR с помощью New-AzResourceGroup.

    Azure PowerShell
    New-AzResourceGroup -Name <target-resource-group-name> -location <target-region>
    
  10. Разверните измененный файл <имя_группы_ресурсов>.json в группе ресурсов, созданной на предыдущем шаге, с помощью команды New-AzResourceGroupDeployment:

    Azure PowerShell
    New-AzResourceGroupDeployment -ResourceGroupName <target-resource-group-name> -TemplateFile <source-resource-group-name>.json
    
  11. Чтобы убедиться, что ресурсы были созданы в целевом регионе, используйте Get-AzResourceGroup и Get-AzSignalR:

    Azure PowerShell
    Get-AzResourceGroup -Name <target-resource-group-name>
    Get-AzSignalR -Name <target-signalr-name> -ResourceGroupName <target-resource-group-name>
    

Примечание

После развертывания, если вы хотите начать или отменить карта ресурс SignalR в целевом объекте удалите группу ресурсов, созданную в целевом объекте, которая удаляет перемещаемый ресурс SignalR. Для этого выберите группу ресурсов на панели мониторинга портала, а затем выберите Удалить в верхней части страницы обзора. Кроме того, можно использовать Remove-AzResourceGroup:

Azure PowerShell
Remove-AzResourceGroup -Name <target-resource-group-name>

Очистка исходного региона

Чтобы зафиксировать изменения и завершить перемещение ресурса SignalR, удалите исходный ресурс SignalR или группу ресурсов. Для этого выберите ресурс SignalR или группу ресурсов на панели мониторинга на портале и выберите "Удалить " в верхней части каждой страницы.

Следующие шаги

В этом руководстве вы переместили ресурс Azure SignalR из одного региона в другой и очистили исходные ресурсы. Дополнительные сведения о перемещении ресурсов между регионами и аварийном восстановлении в Azure см. в следующих статьях: