Events
Mar 17, 9 PM - Mar 21, 10 AM
Join the meetup series to build scalable AI solutions based on real-world use cases with fellow developers and experts.
Register nowThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Azure Storage is Microsoft's cloud storage solution for modern data storage scenarios. Azure Storage offers highly available, massively scalable, durable, and secure storage for a variety of data objects in the cloud. This guide shows how to mount Azure Storage Files as a network share in Windows code (noncontainer) in App Service. Only Azure Files Shares and Premium Files Shares are supported. Azure Storage is non-default storage for App Service and billed separately. You can also configure Azure Storage in an ARM template.
The benefits of custom-mounted storage include:
The following features are supported for Windows code:
<path-name>
".Here are the three options to mount Azure storage to your app:
Mounting option | Usage |
---|---|
Basic | Choose this option when mounting storage using the Azure portal. You can use the basic option as long as the storage account isn't using service endpoints, private endpoints, or Azure Key Vault. In this case, the portal gets and stores the access key for you. |
Access Key | If you plan to mount storage using the Azure CLI, you need to obtain an access key. Choose this option storage account isn't using service endpoints, private endpoints, or Azure Key Vault. |
Key Vault | Also use this option when you plan to mount storage using the Azure CLI, which requires the access key. Choose this option when using Azure Key Vault to securely store and retrieve access keys. Azure Key Vault has the benefits of storing application secrets centrally and securely with the ability to monitor, administer, and integrate with other Azure services like Azure App Service. |
/mounts
, mounts/foo/bar
, /
, and /mounts/foo.bar/
to custom-mounted storage isn't supported (you can only use /mounts/pathname for mounting custom storage to your web app.)No extra steps are required because the portal gets and stores the access key for you.
In the Azure portal, navigate to the app.
From the left navigation, click Configuration > Path Mappings > New Azure Storage Mount.
Configure the storage mount according to the following table. When finished, click OK.
Setting | Description |
---|---|
Name | Name of the mount configuration. Spaces aren't allowed. |
Configuration options | Select Basic if the storage account isn't using private endpoints or Azure Key Vault. Otherwise, select Advanced. |
Storage accounts | Azure Storage account. It must contain an Azure Files share. |
Share name | Files share to mount. |
Storage access | Select Key vault reference for Azure Key Vault. Otherwise, select Manual input |
Access key (Advanced only) | Access key for your storage account. |
Mount path | Directory inside your app service that you want to mount. Only /mounts/pathname is supported. |
Application settings | Select the app setting that's configured with the Azure Key Vault secret. |
Deployment slot setting | When checked, the storage mount settings also apply to deployment slots. |
Note
Adding, editing, or deleting a storage mount causes the app to be restarted.
Azure Storage mounts can be configured as a virtual directory to serve static content. To configure the virtual directory, in the left navigation click Configuration > Path Mappings > New Virtual Application or Directory. Set the Physical path to the Mount path defined on the Azure Storage mount.
To avoid latency issues, place the app and the Azure Storage account in the same region. If you grant access from App Service IP addresses in the Azure Storage firewall configuration when the app and Azure Storage account are in the same region, then these IP restrictions aren't honored.
In the Azure Storage account, avoid regenerating the access key that's used to mount the storage in the app. The storage account contains two different keys. Azure App Services stores Azure storage account key. Use a stepwise approach to ensure that the storage mount remains available to the app during key regeneration. For example, assuming that you used key1 to configure storage mount in your app:
If you delete an Azure Storage account, container, or share, remove the corresponding storage mount configuration in the app to avoid possible error scenarios.
The mounted Azure Storage account can be either Standard or Premium performance tier. Based on the app capacity and throughput requirements, choose the appropriate performance tier for the storage account. See the scalability and performance targets for Files.
If your app scales to multiple instances, all the instances connect to the same mounted Azure Storage account. To avoid performance bottlenecks and throughput issues, choose the appropriate performance tier for the storage account.
It isn't recommended to use storage mounts for local databases (such as SQLite) or for any other applications and components that rely on file handles and locks.
If you initiate a storage failover when the storage account is mounted to the app, the mount won't connect until the app is restarted or the storage mount is removed and readded.
When VNET integration is used, ensure app setting, WEBSITE_CONTENTOVERVNET
is set to 1
and the following ports are open:
The mounted Azure Storage account can be either Standard or Premium performance tier. Based on the app capacity and throughput requirements, choose the appropriate performance tier for the storage account. See the scalability and performance targets for Files
Azure Storage is Microsoft's cloud storage solution for modern data storage scenarios. Azure Storage offers highly available, massively scalable, durable, and secure storage for a variety of data objects in the cloud. This guide shows how to mount Azure Storage Files as a network share in a Windows container in App Service. Only Azure Files Shares and Premium Files Shares are supported. Azure Storage is non-default storage for App Service and billed separately. You can also configure Azure Storage in an ARM template.
The benefits of custom-mounted storage include:
The following features are supported for Windows containers:
C:
to Z:
).Here are the three options to mount Azure storage to your app:
Mounting option | Usage |
---|---|
Basic | Choose this option when mounting storage using the Azure portal. You can use the basic option as long as the storage account isn't using service endpoints, private endpoints, or Azure Key Vault. In this case, the portal gets and stores the access key for you. |
Access Key | If you plan to mount storage using the Azure CLI, you need to obtain an access key. Choose this option storage account isn't using service endpoints, private endpoints, or Azure Key Vault. |
Key Vault | Also use this option when you plan to mount storage using the Azure CLI, which requires the access key. Choose this option when using Azure Key Vault to securely store and retrieve access keys. Azure Key Vault has the benefits of storing application secrets centrally and securely with the ability to monitor, administer, and integrate with other Azure services like Azure App Service. |
[C-Z]:\
, [C-Z]:\home
, /
, and /home
to custom-mounted storage isn't supported.No extra steps are required because the portal gets and stores the access key for you.
In the Azure portal, navigate to the app.
From the left navigation, click Configuration > Path Mappings > New Azure Storage Mount.
Configure the storage mount according to the following table. When finished, click OK.
Setting | Description |
---|---|
Name | Name of the mount configuration. Spaces are not allowed. |
Configuration options | Select Basic |
Storage accounts | Azure Storage account. It must contain an Azure Files share. |
Share name | Files share to mount. |
Mount path | Directory inside your Windows container that you want to mount. Do not use a root directory ([C-Z]:\ or / ) or the home directory ([C-Z]:\home , or /home ) as it's not supported. |
Deployment slot setting | When checked, the storage mount settings also apply to deployment slots. |
Note
Adding, editing, or deleting a storage mount causes the app to be restarted.
To avoid latency issues, place the app and the Azure Storage account in the same region. If you grant access from App Service IP addresses in the Azure Storage firewall configuration when the app and Azure Storage account are in the same region, then these IP restrictions aren't honored.
In the Azure Storage account, avoid regenerating the access key that's used to mount the storage in the app. The storage account contains two different keys. Azure App Services stores Azure storage account key. Use a stepwise approach to ensure that the storage mount remains available to the app during key regeneration. For example, assuming that you used key1 to configure storage mount in your app:
If you delete an Azure Storage account, container, or share, remove the corresponding storage mount configuration in the app to avoid possible error scenarios.
The mounted Azure Storage account can be either Standard or Premium performance tier. Based on the app capacity and throughput requirements, choose the appropriate performance tier for the storage account. See the scalability and performance targets for Files.
If your app scales to multiple instances, all the instances connect to the same mounted Azure Storage account. To avoid performance bottlenecks and throughput issues, choose the appropriate performance tier for the storage account.
It isn't recommended to use storage mounts for local databases (such as SQLite) or for any other applications and components that rely on file handles and locks.
Ensure ports 80 and 445 are open when using Azure Files with VNET integration.
If you initiate a storage failover when the storage account is mounted to the app, the mount won't connect until the app is restarted or the storage mount is removed and readded.
Note
NFS support is now available for App Service on Linux.
This guide shows how to mount Azure Storage as a network share in a built-in Linux container or a custom Linux container in App Service. Azure Storage is Microsoft's cloud storage solution for modern data storage scenarios. Azure Storage offers highly available, massively scalable, durable, and secure storage for a variety of data objects in the cloud. Azure Storage is non-default storage for App Service and billed separately. You can also configure Azure Storage in an ARM template.
The benefits of custom-mounted storage include:
The limitations of custom-mounted storage include:
/
or /home
to custom-mounted storage isn't supported./tmp
or its subdirectories as this action may cause a timeout during app startup.You first need to mount the storage to the app. Here are three mounting options for Azure storage:
Mounting option | Usage |
---|---|
Basic | Choose this option when mounting storage using the Azure portal. You can use the basic option as long as the storage account isn't using service endpoints, private endpoints, or Azure Key Vault. In this case, the portal gets and stores the access key for you. |
Access Key | If you plan to mount storage using the Azure CLI, you need to obtain an access key. Choose this option storage account isn't using service endpoints, private endpoints, or Azure Key Vault. |
Key Vault | Also use this option when you plan to mount storage using the Azure CLI, which requires the access key. Choose this option when using Azure Key Vault to securely store and retrieve access keys. Azure Key Vault has the benefits of storing application secrets centrally and securely with the ability to monitor, administer, and integrate with other Azure services like Azure App Service. |
No extra steps are required because the portal gets and stores the access key for you.
The way that you mount storage depends on your storage access option and whether you are using the portal or the Azure CLI.
In the Azure portal, navigate to the app.
From the left navigation, click Configuration > Path Mappings > New Azure Storage Mount.
Configure the storage mount according to the following table. When finished, click OK.
Setting | Description |
---|---|
Name | Name of the mount configuration. Spaces aren't allowed. |
Configuration options | Select Basic. if the storage account isn't using service endpoints, private endpoints, or Azure Key Vault. Otherwise, select Advanced. |
Storage accounts | Azure Storage account. |
Storage type | Select the type based on the storage you want to mount. Azure Blobs only supports read-only access. |
Storage container or Share name | Files share or Blobs container to mount. |
Mount path | Directory inside the Linux container to mount to Azure Storage. Don't use / or /home . |
Deployment slot setting | When checked, the storage mount settings also apply to deployment slots. |
Note
Adding, editing, or deleting a storage mount causes the app to be restarted.
To validate that the Azure Storage is mounted successfully for the app:
Open an SSH session into the container.
In the SSH terminal, execute the following command:
df –h
Check if the storage share is mounted. If it's not present, there's an issue with mounting the storage share.
Check latency or general reachability of the storage mount with the following command:
tcpping Storageaccount.file.core.windows.net
To avoid latency issues, place the app and the Azure Storage account in the same region. If you grant access from App Service IP addresses in the Azure Storage firewall configuration when the app and Azure Storage account are in the same region, then these IP restrictions aren't honored.
The mounted Azure Storage account can be either Standard or Premium performance tier. Based on the app capacity and throughput requirements, choose the appropriate performance tier for the storage account. See the scalability and performance targets that correspond to the storage type: Files and Blobs.
If your app scales to multiple instances, all the instances connect to the same mounted Azure Storage account. To avoid performance bottlenecks and throughput issues, choose the appropriate performance tier for the storage account.
/home
, for example). If you are migrating files for an existing app, make a backup of the app and its content before you begin.Events
Mar 17, 9 PM - Mar 21, 10 AM
Join the meetup series to build scalable AI solutions based on real-world use cases with fellow developers and experts.
Register nowTraining
Learning path
AZ-104: Implement and manage storage in Azure - Training
AZ-104: Implement and manage storage in Azure
Certification
Microsoft Certified: Azure Administrator Associate - Certifications
Demonstrate key skills to configure, manage, secure, and administer key professional functions in Microsoft Azure.