Skip to content

Commit 203f895

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into dns-bug-fix
2 parents d891a37 + b6b838f commit 203f895

File tree

43 files changed

+1011
-565
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1011
-565
lines changed

.openpublishing.publish.config.json

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -374,12 +374,6 @@
374374
"branch": "master",
375375
"branch_mapping": {}
376376
},
377-
{
378-
"path_to_root": "media-services-v3-dotnet-quickstarts",
379-
"url": "https://github.com/Azure-Samples/media-services-v3-dotnet-quickstarts",
380-
"branch": "master",
381-
"branch_mapping": {}
382-
},
383377
{
384378
"path_to_root": "media-services-v3-dotnet-tutorials",
385379
"url": "https://github.com/Azure-Samples/media-services-v3-dotnet-tutorials",

articles/automation/automation-solution-vm-management.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ ms.custom: devx-track-azurepowershell
1010

1111
# Start/Stop VMs during off-hours overview
1212

13+
> [!NOTE]
14+
> Start/Stop VM during off-hours, version 1 is currently being deprecated and will be unavailable from the marketplace soon. We recommend that you start using version 2, which is now generally available.
15+
The new version offers all existing capabilities and provides new features, such as multi-subscription support from a single Start/Stop instance. If you have the version 1 solution already deployed, you can still use the feature, and we will provide support until further announcement.
16+
17+
1318
The Start/Stop VMs during off-hours feature start or stops enabled Azure VMs. It starts or stops machines on user-defined schedules, provides insights through Azure Monitor logs, and sends optional emails by using [action groups](../azure-monitor/alerts/action-groups.md). The feature can be enabled on both Azure Resource Manager and classic VMs for most scenarios.
1419

1520
> [!NOTE]

articles/availability-zones/az-region.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ In the Product Catalog, always-available services are listed as "non-regional" s
7070
| [Azure Storage: Azure Data Lake Storage](migrate-storage.md) | ![An icon that signifies this service is zone redundant.](media/icon-zone-redundant.svg) |
7171
| [Azure Storage: Disk Storage](migrate-storage.md) | ![An icon that signifies this service is zone redundant.](media/icon-zone-redundant.svg) |
7272
| [Azure Storage: Blob Storage](migrate-storage.md) | ![An icon that signifies this service is zone redundant.](media/icon-zone-redundant.svg) |
73-
| [Azure Storage: Managed Disks](migrate-storage.md) | ![An icon that signifies this service is zone redundant.](media/icon-zone-redundant.svg) ![An icon that signifies this service is zonal](media/icon-zonal.svg) |
73+
| [Azure Storage: Managed Disks](migrate-vm.md) | ![An icon that signifies this service is zone redundant.](media/icon-zone-redundant.svg) ![An icon that signifies this service is zonal](media/icon-zonal.svg) |
7474
| [Azure Virtual Machine Scale Sets](migrate-vm.md) | ![An icon that signifies this service is zone redundant.](media/icon-zone-redundant.svg) ![An icon that signifies this service is zonal.](media/icon-zonal.svg) |
7575
| [Azure Virtual Machines](migrate-vm.md) | ![An icon that signifies this service is zonal.](media/icon-zonal.svg) |
7676
| Virtual Machines: [Av2-Series](migrate-vm.md) | ![An icon that signifies this service is zonal.](media/icon-zonal.svg) |

articles/availability-zones/migrate-vm.md

Lines changed: 63 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,31 +38,90 @@ Because zonal VMs are created across the availability zones, all migration optio
3838

3939
### When to use redeployment
4040

41-
Use the redeployment option if you have good Infrastructure as Code (IaC) practices setup to manage infrastructure. The redeployment option gives you more control, and the ability to automate various processes within your deployment pipelines.
41+
Use the redeployment option if you have set up good Infrastructure as Code (IaC) practices to manage infrastructure. This redeployment option gives you more control and the ability to automate various processes within your deployment pipelines.
4242

4343
### Redeployment considerations
4444

4545
- When you redeploy your VM and VMSS resources, the underlying resources such as managed disk and IP address for the VM are created in the same availability zone. You must use a Standard SKU public IP address and load balancer to create zone-redundant network resources.
4646

47+
- Existing managed disks without availability zone support can't be attached to a VM with availability zone support. To attach existing managed disks to a VM with availability zone support, you'll need to take a snapshot of the current disks, and then create your VM with the new managed disks attached.
48+
4749
- For zonal deployments that require reasonably low network latency and good performance between application tier and data tier, use [proximity placement groups](../virtual-machines/co-location.md). Proximity groups can force grouping of different VM resources under a single network spine. For an example of an SAP workload that uses proximity placement groups, see [Azure proximity placement groups for optimal network latency with SAP applications](../virtual-machines/workloads/sap/sap-proximity-placement-scenarios.md)
4850

51+
4952
### How to redeploy
5053

51-
To redeploy, you'll need to recreate your VM and VMSS resources. To ensure high-availability of your compute resources, it's recommended that you select multiple zones for your new VMs and VMSS.
54+
If you want to migrate the data on your current managed disks when creating a new VM, follow the directions in [Migrate your managed disks](#migrate-your-managed-disks).
5255

53-
To learn how create VMs in an availability zone, see:
56+
If you only want to create new VM with new managed disks in an availability zone, see:
5457

5558
- [Create VM using Azure CLI](../virtual-machines/linux/create-cli-availability-zone.md)
5659
- [Create VM using Azure PowerShell](../virtual-machines/windows/create-PowerShell-availability-zone.md)
5760
- [Create VM using Azure portal](../virtual-machines/create-portal-availability-zone.md?tabs=standard)
5861

5962
To learn how to create VMSS in an availability zone, see [Create a virtual machine scale set that uses Availability Zones](../virtual-machine-scale-sets/virtual-machine-scale-sets-use-availability-zones.md).
6063

64+
### Migrate your managed disks
65+
66+
In this section, you'll migrate the data from your current managed disks to either zone-redundant storage (ZRS) managed disks or zonal managed disks.
67+
68+
#### Step 1: Create your snapshot
69+
70+
The easiest and cleanest way to create a snapshot is to do so while the VM is offline. See [Create snapshots while the VM is offline](../virtual-machines/backup-and-disaster-recovery-for-azure-iaas-disks.md#create-snapshots-while-the-vm-is-offline). If you choose this approach, some downtime should be expected. To create a snapshot of your VM using the Azure portal, PowerShell, or Azure CLI, see [Create a snapshot of a virtual hard disk](../virtual-machines/snapshot-copy-managed-disk.md)
71+
72+
If you'll be taking a snapshot of a disk that's attached to a running VM, read the guidance in [Create snapshots while the VM is running](../virtual-machines/backup-and-disaster-recovery-for-azure-iaas-disks.md#create-snapshots-while-the-vm-is-running) before proceeding.
73+
74+
>[!NOTE]
75+
> The source managed disks remain intact with their current configurations and you'll continue to be billed for them. To avoid this, you must manually delete the disks once you've finished your migration and confirmed the new disks are working. For more information, see [Find and delete unattached Azure managed and unmanaged disks](../virtual-machines/windows/find-unattached-disks.md).
76+
77+
78+
#### Step 2: Migrate the data on your managed disks
79+
80+
Now that you have snapshots of your original disks, you can use them to create either ZRS managed disks or zonal managed disks.
81+
##### Migrate your data to zonal managed disks
82+
83+
To migrate a non-zonal managed disk to zonal:
84+
85+
1. Create a zonal managed disk from the source disk snapshot. The zone parameter should match your zonal VM. To create a zonal managed disk from the snapshot, you can use [Azure CLI](../virtual-machines/scripts/create-managed-disk-from-snapshot.md)(example below), [PowerShell](../virtual-machines/scripts/virtual-machines-powershell-sample-create-managed-disk-from-snapshot.md), or the Azure Portal.
86+
87+
```azurecli
88+
az disk create --resource-group $resourceGroupName --name $diskName --location $location --zone $zone --sku $storageType --size-gb $diskSize --source $snapshotId
89+
```
90+
91+
92+
93+
##### Migrate your data to ZRS managed disks
94+
95+
>[!IMPORTANT]
96+
> Zone-redundant storage (ZRS) for managed disks has some restrictions. For more information see [Limitations](../virtual-machines/disks-deploy-zrs.md?tabs=portal#limitations).
97+
98+
1. Create a ZRS managed disk from the source disk snapshot by using the following Azure CLI snippet:
99+
100+
```azurecli
101+
# Create a new ZRS Managed Disks using the snapshot Id and the SKU supported
102+
storageType=Premium_ZRS
103+
location=westus2
104+
105+
az disk create --resource-group $resourceGroupName --name $diskName --sku $storageType --size-gb $diskSize --source $snapshotId
106+
107+
```
108+
109+
#### Step 3: Create a new VM with your new disks
110+
111+
Now that you have migrated your data to ZRS managed disks or zonal managed disks, create a new VM with these new disks set as the OS and data disks:
112+
113+
```azurecli
114+
115+
az vm create -g MyResourceGroup -n MyVm --attach-os-disk newZonalOSDiskCopy --attach-data-disks newZonalDataDiskCopy --os-type linux
116+
117+
```
118+
119+
61120
## Migration Option 2: Azure Resource Mover
62121

63122
### When to use Azure Resource Mover
64123

65-
Use Azure Resource Mover for an easy way to move VMs or encrypted VMs from one region without availability zones to another with availability zones. If you want to learn more about the benefits of using Azure Resource Mover, see [Why use Azure Resource Mover?](../resource-mover/overview.md#why-use-resource-mover).
124+
Use Azure Resource Mover for an easy way to move VMs or encrypted VMs from one region without availability zones to another with availability zone support. If you want to learn more about the benefits of using Azure Resource Mover, see [Why use Azure Resource Mover?](../resource-mover/overview.md#why-use-resource-mover).
66125

67126
### Azure Resource Mover considerations
68127

articles/azure-functions/create-first-function-arc-cli.md

Lines changed: 40 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: 'Quickstart: Create a function app on Azure Arc'
33
description: Get started with Azure Functions on Azure Arc by deploying your first function app.
44
ms.topic: quickstart
5-
ms.date: 05/10/2021
5+
ms.date: 09/02/2022
66
ms.custom: mode-other, devx-track-azurecli
77
ms.devlang: azurecli
88
---
@@ -22,21 +22,28 @@ On your local computer:
2222

2323
# [C\#](#tab/csharp)
2424

25-
+ [.NET Core 3.1 SDK](https://dotnet.microsoft.com/download)
26-
+ [Azure Functions Core Tools](functions-run-local.md#v2) version 3.0.3245.
27-
+ [Azure CLI](/cli/azure/install-azure-cli) version 2.4 or later.
25+
+ [.NET 6.0 SDK](https://dotnet.microsoft.com/download)
26+
+ [Azure Functions Core Tools version 4.x](functions-run-local.md?tabs=v4%2Ccsharp#install-the-azure-functions-core-tools)
27+
+ [Azure CLI](/cli/azure/install-azure-cli) version 2.4 or later
2828

2929
# [JavaScript](#tab/nodejs)
3030

3131
+ [Node.js](https://nodejs.org/) version 12. Node.js version 10 is also supported.
32-
+ [Azure Functions Core Tools](functions-run-local.md#v2) version 3.0.3245.
33-
+ [Azure CLI](/cli/azure/install-azure-cli) version 2.4 or later.
32+
+ [Azure Functions Core Tools version 4.x.](functions-run-local.md?tabs=v4%2Cnode#install-the-azure-functions-core-tools).
33+
+ [Azure CLI](/cli/azure/install-azure-cli) version 2.4 or later
3434

3535
# [Python](#tab/python)
3636

3737
+ [Python versions that are supported by Azure Functions](supported-languages.md#languages-by-runtime-version)
38-
+ [Azure Functions Core Tools](functions-run-local.md#v2) version 3.0.3245.
39-
+ [Azure CLI](/cli/azure/install-azure-cli) version 2.4 or later.
38+
+ [Azure Functions Core Tools version 4.x.](functions-run-local.md?tabs=v4%2Cpython#install-the-azure-functions-core-tools)
39+
+ [Azure CLI](/cli/azure/install-azure-cli) version 2.4 or later
40+
41+
# [PowerShell](#tab/powershell)
42+
43+
+ [PowerShell 7](/powershell/scripting/install/installing-powershell-core-on-windows)
44+
+ [Azure Functions Core Tools version 4.x.](functions-run-local.md?tabs=v4%2Cpowershell#install-the-azure-functions-core-tools)
45+
+ [Azure CLI](/cli/azure/install-azure-cli) version 2.4 or later
46+
+ PowerShell 7 requires version 1.2.5 of the connectedk8s Azure CLI extension, or a later version. It also requires version 0.1.3 of the appservice-kube Azure CLI extension, or a later version. Make sure you install the correct version of both of these extensions as you complete this quickstart article.
4047

4148
---
4249

@@ -84,6 +91,13 @@ In Azure Functions, a function project is the unit of deployment and execution f
8491
```console
8592
func init LocalFunctionProj --python
8693
```
94+
95+
# [PowerShell](#tab/powershell)
96+
97+
98+
```console
99+
func init LocalFunctionProj --powershell
100+
```
87101

88102
---
89103

@@ -108,7 +122,7 @@ In Azure Functions, a function project is the unit of deployment and execution f
108122

109123
Before you can deploy your function code to your new App Service Kubernetes environment, you need to create two more resources:
110124

111-
- A [Storage account](../storage/common/storage-account-create.md), which is currently required by tooling and isn't part of the environment.
125+
- A [Storage account](../storage/common/storage-account-create.md). While this article creates a storage account, in some cases a storage account may not be required. For more information, see [Azure Arc-enabled clusters](storage-considerations.md#azure-arc-enabled-clusters) in the storage considerations article.
112126
- A function app, which provides the context for executing your function code. The function app runs in the App Service Kubernetes environment and maps to your local function project. A function app lets you group functions as a logical unit for easier management, deployment, and sharing of resources.
113127

114128
> [!NOTE]
@@ -123,7 +137,7 @@ az storage account create --name <STORAGE_NAME> --location westeurope --resource
123137
```
124138

125139
> [!NOTE]
126-
> A storage account is currently required by Azure Functions tooling.
140+
> In some cases, a storage account may not be required. For more information, see [Azure Arc-enabled clusters](storage-considerations.md#azure-arc-enabled-clusters) in the storage considerations article.
127141
128142
In the previous example, replace `<STORAGE_NAME>` with a name that is appropriate to you and unique in Azure Storage. Names must contain three to 24 characters numbers and lowercase letters only. `Standard_LRS` specifies a general-purpose account, which is [supported by Functions](storage-considerations.md#storage-account-requirements). The `--location` value is a standard Azure region.
129143

@@ -133,25 +147,32 @@ Run the [az functionapp create](/cli/azure/functionapp#az-functionapp-create) co
133147

134148
# [C\#](#tab/csharp)
135149
```azurecli
136-
az functionapp create --resource-group MyResourceGroup --name <APP_NAME> --custom-location <CUSTOM_LOCATION_ID> --storage-account <STORAGE_NAME> --functions-version 3 --runtime dotnet
150+
az functionapp create --resource-group MyResourceGroup --name <APP_NAME> --custom-location <CUSTOM_LOCATION_ID> --storage-account <STORAGE_NAME> --functions-version 4 --runtime dotnet
137151
```
138152

139153
# [JavaScript](#tab/nodejs)
140154
```azurecli
141-
az functionapp create --resource-group MyResourceGroup --name <APP_NAME> --custom-location <CUSTOM_LOCATION_ID> --storage-account <STORAGE_NAME> --functions-version 3 --runtime node --runtime-version 12
155+
az functionapp create --resource-group MyResourceGroup --name <APP_NAME> --custom-location <CUSTOM_LOCATION_ID> --storage-account <STORAGE_NAME> --functions-version 4 --runtime node --runtime-version 12
142156
```
143157

144158
# [Python](#tab/python)
145159
```azurecli
146-
az functionapp create --resource-group MyResourceGroup --name <APP_NAME> --custom-location <CUSTOM_LOCATION_ID> --storage-account <STORAGE_NAME> --functions-version 3 --runtime python --runtime-version 3.8
160+
az functionapp create --resource-group MyResourceGroup --name <APP_NAME> --custom-location <CUSTOM_LOCATION_ID> --storage-account <STORAGE_NAME> --functions-version 4 --runtime python --runtime-version 3.8
147161
```
162+
163+
# [PowerShell](#tab/powershell)
164+
165+
```azurecli
166+
az functionapp create --resource-group myResourceGroup --name <APP_NAME> --custom-location <CUSTOM_LOCATION_ID> --storage-account <STORAGE_NAME> --functions-version 4 --runtime powershell --runtime-version 7.0
167+
```
168+
148169
---
149170

150171
In this example, replace `<CUSTOM_LOCATION_ID>` with the ID of the custom location you determined for the App Service Kubernetes environment. Also, replace `<STORAGE_NAME>` with the name of the account you used in the previous step, and replace `<APP_NAME>` with a globally unique name appropriate to you.
151172

152173
[!INCLUDE [functions-publish-project-cli](../../includes/functions-publish-project-cli.md)]
153174

154-
Because it can take some time for a full deployment to complete on an Azure Arc-enabled Kubernetes cluster, you may want to re-run the following command to verify your published functions:
175+
Because it can take some time for a full deployment to complete on an Azure Arc-enabled Kubernetes cluster, you may want to rerun the following command to verify your published functions:
155176

156177
```command
157178
func azure functionapp list-functions
@@ -178,4 +199,9 @@ Now that you have your function app running in a container an Azure Arc-enabled
178199
> [!div class="nextstepaction"]
179200
> [Connect to an Azure Storage queue](functions-add-output-binding-storage-queue-cli.md?pivots=programming-language-python)
180201
202+
# [PowerShell](#tab/powershell)
203+
204+
> [!div class="nextstepaction"]
205+
> [Connect to an Azure Storage queue](functions-add-output-binding-storage-queue-cli.md?pivots=programming-language-powershell)
206+
181207
---

0 commit comments

Comments
 (0)