You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> 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
+
13
18
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.
Copy file name to clipboardExpand all lines: articles/availability-zones/az-region.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,7 +70,7 @@ In the Product Catalog, always-available services are listed as "non-regional" s
70
70
|[Azure Storage: Azure Data Lake Storage](migrate-storage.md)||
71
71
|[Azure Storage: Disk Storage](migrate-storage.md)||
72
72
|[Azure Storage: Blob Storage](migrate-storage.md)||
73
-
|[Azure Storage: Managed Disks](migrate-storage.md)||
73
+
|[Azure Storage: Managed Disks](migrate-vm.md)||
74
74
|[Azure Virtual Machine Scale Sets](migrate-vm.md)||
75
75
|[Azure Virtual Machines](migrate-vm.md)||
76
76
| Virtual Machines: [Av2-Series](migrate-vm.md)||
Copy file name to clipboardExpand all lines: articles/availability-zones/migrate-vm.md
+63-4Lines changed: 63 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,31 +38,90 @@ Because zonal VMs are created across the availability zones, all migration optio
38
38
39
39
### When to use redeployment
40
40
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.
42
42
43
43
### Redeployment considerations
44
44
45
45
- 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.
46
46
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
+
47
49
- 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)
48
50
51
+
49
52
### How to redeploy
50
53
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).
52
55
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:
54
57
55
58
-[Create VM using Azure CLI](../virtual-machines/linux/create-cli-availability-zone.md)
56
59
-[Create VM using Azure PowerShell](../virtual-machines/windows/create-PowerShell-availability-zone.md)
57
60
-[Create VM using Azure portal](../virtual-machines/create-portal-availability-zone.md?tabs=standard)
58
61
59
62
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).
60
63
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
+
61
120
## Migration Option 2: Azure Resource Mover
62
121
63
122
### When to use Azure Resource Mover
64
123
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).
+[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.
40
47
41
48
---
42
49
@@ -84,6 +91,13 @@ In Azure Functions, a function project is the unit of deployment and execution f
84
91
```console
85
92
func init LocalFunctionProj --python
86
93
```
94
+
95
+
# [PowerShell](#tab/powershell)
96
+
97
+
98
+
```console
99
+
func init LocalFunctionProj --powershell
100
+
```
87
101
88
102
---
89
103
@@ -108,7 +122,7 @@ In Azure Functions, a function project is the unit of deployment and execution f
108
122
109
123
Before you can deploy your function code to your new App Service Kubernetes environment, you need to create two more resources:
110
124
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.
112
126
- 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.
> 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.
127
141
128
142
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.
129
143
@@ -133,25 +147,32 @@ Run the [az functionapp create](/cli/azure/functionapp#az-functionapp-create) co
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.
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:
155
176
156
177
```command
157
178
func azure functionapp list-functions
@@ -178,4 +199,9 @@ Now that you have your function app running in a container an Azure Arc-enabled
178
199
> [!div class="nextstepaction"]
179
200
> [Connect to an Azure Storage queue](functions-add-output-binding-storage-queue-cli.md?pivots=programming-language-python)
180
201
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)
0 commit comments