Skip to content

Commit f0d048f

Browse files
author
Jill Grant
authored
Merge pull request #273945 from KarlErickson/haoozhang-haozhan/pri-link-doc-271978
edit "document for private storage access feature #271978"
2 parents 08140c2 + 7fbc8f1 commit f0d048f

File tree

2 files changed

+87
-0
lines changed

2 files changed

+87
-0
lines changed
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
title: Configure private network access for backend storage in your virtual network (Preview)
3+
description: Learn how to configure private network access to backend storage in your virtual network.
4+
author: KarlErickson
5+
ms.author: haozhan
6+
ms.service: spring-apps
7+
ms.topic: how-to
8+
ms.date: 05/01/2024
9+
ms.custom: devx-track-java, devx-track-extended-java, devx-track-azurecli
10+
---
11+
12+
# Configure private network access for backend storage in your virtual network (Preview)
13+
14+
> [!NOTE]
15+
> Azure Spring Apps is the new name for the Azure Spring Cloud service. Although the service has a new name, you'll see the old name in some places for a while as we work to update assets such as screenshots, videos, and diagrams.
16+
17+
**This article applies to:** ✔️ Standard ✔️ Enterprise
18+
19+
This article explains how to configure private network access to backend storage for your application within your virtual network.
20+
21+
When you deploy an application in an Azure Spring Apps service instance with virtual network injection, the service instance relies on backend storage for housing associated assets, including JAR files and logs. While the default configuration routes traffic to this backend storage over the public network, you can turn on the private storage access feature. This feature enables you to direct the traffic through your private network, enhancing security, and potentially improving performance.
22+
23+
> [!NOTE]
24+
> This feature applies to an Azure Spring Apps virtual network injected service instance only.
25+
>
26+
> Before you enable this feature for your Azure Spring Apps service instance, ensure that there are at least two available IP addresses in the service runtime subnet.
27+
>
28+
> Enabling or disabling this feature changes the DNS resolution to the backend storage. For a short period of time, you might experience deployments that fail to establish a connection to the backend storage or are unable to resolve their endpoint during the update.
29+
>
30+
> After you enable this feature, the backend storage is only accessible privately, so you have to deploy your application within the virtual network.
31+
32+
## Prerequisites
33+
34+
- An Azure subscription. If you don't have a subscription, create a [free account](https://azure.microsoft.com/free/) before you begin.
35+
- [Azure CLI](/cli/azure/install-azure-cli) version 2.56.0 or higher.
36+
- An existing Azure Spring Apps service instance deployed to a virtual network. For more information, see [Deploy Azure Spring Apps in a virtual network](./how-to-deploy-in-azure-virtual-network.md).
37+
38+
## Enable private storage access when you create a new Azure Spring Apps instance
39+
40+
When you create an Azure Spring Apps instance in the virtual network, use the following command to pass the argument `--enable-private-storage-access true` to enable private storage access. For more information, see [Deploy Azure Spring Apps in a virtual network](how-to-deploy-in-azure-virtual-network.md).
41+
42+
```azurecli
43+
az spring create \
44+
--resource-group "<resource-group>" \
45+
--name "<Azure-Spring-Apps-instance-name>" \
46+
--vnet "<virtual-network-name>" \
47+
--service-runtime-subnet "<service-runtime-subnet>" \
48+
--app-subnet "<apps-subnet>" \
49+
--location "<location>" \
50+
--enable-private-storage-access true
51+
```
52+
53+
One more resource group is created in your subscription to host the private link resources for the Azure Spring Apps instance. This resource group is named `ap-res_{service instance name}_{service instance region}`.
54+
55+
There are two sets of private link resources deployed in the resource group, each composed of the following Azure resources:
56+
57+
- A private endpoint that represents the backend storage account's private endpoint.
58+
- A network interface (NIC) that maintains a private IP address within the service runtime subnet.
59+
- A private DNS zone that's deployed for your virtual network, with a DNS A record also created for the storage account within this DNS zone.
60+
61+
> [!IMPORTANT]
62+
> The resource groups are fully managed by the Azure Spring Apps service. Don't manually delete or modify any resource inside these resource groups.
63+
64+
## Enable or disable private storage access for an existing Azure Spring Apps instance
65+
66+
Use the following command to update an existing Azure Spring Apps instance to enable or disable private storage access:
67+
68+
```azurecli
69+
az spring update \
70+
--resource-group "<resource-group>" \
71+
--name "<Azure-Spring-Apps-instance-name>" \
72+
--enable-private-storage-access <true-or-false>
73+
```
74+
75+
## Extra costs
76+
77+
The Azure Spring Apps instance doesn't incur charges for this feature. However, you're billed for the private link resources hosted in your subscription that support this feature. For more information, see [Azure Private Link Pricing](https://azure.microsoft.com/pricing/details/private-link/) and [Azure DNS Pricing](https://azure.microsoft.com/pricing/details/dns/).
78+
79+
## Use custom DNS servers
80+
81+
If you're using a custom domain name system (DNS) server and the Azure DNS IP `168.63.129.16` isn't configured as the upstream DNS server, you must manually bind all the DNS records of the private DNS zones shown in the resource group `ap-res_{service instance name}_{service instance region}` to resolve the private IP addresses.
82+
83+
## Next step
84+
85+
[Customer responsibilities for running Azure Spring Apps in a virtual network](vnet-customer-responsibilities.md)

articles/spring-apps/enterprise/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,8 @@ items:
176176
href: how-to-enterprise-large-cpu-memory-applications.md
177177
- name: Deploy applications at scale for Enterprise plan
178178
href: how-to-enterprise-deploy-app-at-scale.md
179+
- name: Configure private network access for backend storage
180+
href: how-to-private-network-access-backend-storage.md
179181
- name: Manage
180182
items:
181183
- name: Start or stop a service

0 commit comments

Comments
 (0)