我正在尝试将资源从一个订阅中的资源组移动到 Azure 中的另一个。我使用 Powershell 如下:
证实
Invoke-AzResourceAction -Action validateMoveResources `
-ResourceId "/subscriptions/{subscription-id}/resourceGroups/{source-rg}" `
-Parameters @{ resources= @("/subscriptions/{subscription-id}/resourceGroups/{source-
rg}/providers/{resource-provider}/{resource-type}/{resource-name}",
"/subscriptions/{subscription-id}/resourceGroups/{source-rg}/providers/{resource-
provider}/{resource-type}/{resource-name}", "/subscriptions/{subscription-
id}/resourceGroups/{source-rg}/providers/{resource-provider}/{resource-type}/{resource-
name}");targetResourceGroup = '/subscriptions/{subscription-
id}/resourceGroups/{destination-rg}' }
移动
$webapp = Get-AzResource -ResourceGroupName OldRG -ResourceName ExampleSite
$plan = Get-AzResource -ResourceGroupName OldRG -ResourceName ExamplePlan
Move-AzResource -DestinationResourceGroupName NewRG -ResourceId $webapp.ResourceId,
$plan.ResourceId
我已经连接到数据库的应用程序服务,所以我假设数据库需要在同一个 RG 中才能移动?此外,例如应用服务的每个资源都位于应用服务计划下,应用服务计划是否被创建并移至新的订阅?是否也移动了数据库防火墙规则?
回答1
如果跨订阅/资源组移动资源,则必须移动要移动的整个资源。
如果您的移动需要设置新的依赖资源,您将在这些服务中遇到中断,直到它们被重新配置。
我已经连接到数据库的应用服务,所以我假设数据库需要在同一个 RG 中才能移动?
是的,它应该在同一个资源组中。或者您必须根据您的重新配置数据库连接。
此外,每个资源(例如应用服务)都位于应用服务计划下,是否会创建应用服务计划并将其移至新订阅?
是的,应用服务计划可以转移到新订阅。但是我们有一些限制将应用服务从一个资源组/订阅移动到另一个。
将资源移至新的资源组或订阅只是对元数据的修改,不会影响资源的工作方式。例如,应用服务的入站 IP 地址不会随着应用服务的移动而改变。
目标资源组中必须没有现有的应用服务资源。应用服务的资源包括:
- Web 应用
- 上传或导入的应用服务计划
- TLS/SSL 证书
- 应用服务环境
资源组中的所有应用服务资源必须一起移动。