Skip to content

Commit dafeb7a

Browse files
authored
Merge pull request #96075 from xuyangit/master
Add document for public ip feature of Azure SSIS-IR (in Data factory)
2 parents 04d5d9b + 11addc3 commit dafeb7a

File tree

4 files changed

+81
-9
lines changed

4 files changed

+81
-9
lines changed

articles/data-factory/join-azure-ssis-integration-runtime-virtual-network.md

Lines changed: 46 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Join an Azure-SSIS integration runtime to a virtual network
2+
title: Join an Azure-SSIS integration runtime to a virtual network
33
description: Learn how to join an Azure-SSIS integration runtime to an Azure virtual network.
44
services: data-factory
55
documentationcenter: ''
@@ -24,6 +24,8 @@ When using SQL Server Integration Services (SSIS) in Azure Data Factory, you sho
2424

2525
- You're hosting an SSIS catalog database (SSISDB) in Azure SQL Database with virtual network service endpoints or managed instance in a virtual network.
2626

27+
- You want to connect to data sources or resources that only allow access from specific static public IP addresses from SSIS packages that run on your Azure-SSIS IR.
28+
2729
Data Factory lets you join your Azure-SSIS IR to a virtual network created through the classic deployment model or the Azure Resource Manager deployment model.
2830

2931
> [!IMPORTANT]
@@ -45,6 +47,10 @@ When joining your Azure-SSIS IR to a virtual network, remember these important p
4547
## Access to Azure services
4648
If your SSIS packages access Azure service resources supported with [virtual network service endpoints](../virtual-network/virtual-network-service-endpoints-overview.md) and you want to secure those resources to Azure-SSIS IR, you can join your Azure-SSIS IR to the virtual network subnet configured with virtual network service endpoints. Meanwhile, add a virtual network rule to the Azure service resources to allow access from same subnet.
4749

50+
## Access to data sources protected by IP firewall rule
51+
52+
If you want to secure data sources or resources by only allowing access from specific static public IP addresses, you can bring your own [public IP addresses](https://docs.microsoft.com/azure/virtual-network/virtual-network-public-ip-address) while joining your Azure-SSIS IR to the virtual network subnet. In this case, the Azure-SSIS IR's IP addresses will be fixed to your provided ones. Then, add an IP address firewall rule to the data sources or resources to allow access from these IP addresses.
53+
4854
## Hosting the SSIS catalog in SQL Database
4955
If you host your SSIS catalog in Azure SQL Database with virtual network service endpoints, make sure that you join your Azure-SSIS IR to the same virtual network and subnet.
5056

@@ -64,13 +70,15 @@ Set up your virtual network to meet these requirements:
6470

6571
- Select the proper subnet to host the Azure-SSIS IR. For more information, see [Select the subnet](#subnet).
6672

73+
- If you bring your own public IP addresses for the Azure-SSIS IR, see [Select the static public IP addresses](#publicIP)
74+
6775
- If you use your own Domain Name System (DNS) server on the virtual network, see [Set up the DNS server](#dns_server).
6876

6977
- If you use a network security group (NSG) on the subnet, see [Set up an NSG](#nsg).
7078

7179
- If you use Azure ExpressRoute or a user-defined route (UDR), see [Use Azure ExpressRoute or a UDR](#route).
7280

73-
- Make sure the virtual network's resource group can create and delete certain Azure network resources. For more information, see [Set up the resource group](#resource-group).
81+
- Make sure the virtual network's resource group (or the public IP addresses' resource group if you bring your own public IP addresses) can create and delete certain Azure network resources. For more information, see [Set up the resource group](#resource-group).
7482

7583
- If you customize your Azure-SSIS IR as described in [Custom setup for Azure-SSIS IR](https://docs.microsoft.com/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup), your Azure-SSIS IR nodes will get private IP addresses from a predefined range of 172.16.0.0 to 172.31.255.255. So make sure that the private IP address ranges of your virtual or on-premises networks don't collide with this range.
7684

@@ -86,7 +94,7 @@ The user who creates the Azure-SSIS IR must have the following permissions:
8694

8795
- Use the built-in Network Contributor role. This role comes with the _Microsoft.Network/\*_ permission, which has a much larger scope than necessary.
8896

89-
- Create a custom role that includes only the necessary _Microsoft.Network/virtualNetworks/\*/join/action_ permission.
97+
- Create a custom role that includes only the necessary _Microsoft.Network/virtualNetworks/\*/join/action_ permission. If you also want to bring your own public IP addresses for your SSIS IR besides joining it to an Azure Resource Manager virtual network, please also include _Microsoft.Network/publicIPAddresses/*/join/action_ permission in the role.
9098

9199
- If you're joining your SSIS IR to a classic virtual network, we recommend that you use the built-in Classic Virtual Machine Contributor role. Otherwise you have to define a custom role that includes the permission to join the virtual network.
92100

@@ -100,6 +108,19 @@ As you choose a subnet:
100108

101109
- Don’t use a subnet that is exclusively occupied by other Azure services (for example, SQL Database managed instance, App Service, and so on).
102110

111+
### <a name="publicIP"></a>Select the static public IP addresses
112+
If you want to bring your own static public IP addresses for the Azure-SSIS IR while joining it to a virtual network, make sure they meet the following requirements:
113+
114+
- Provide two unused static public IP addresses, which are not already associated with other Azure service resources. The extra one will be used when we upgrade your Azure-SSIS IR.
115+
116+
- The public IP addresses should be static and standard ones. Refer to [SKUs of Public IP Address](https://docs.microsoft.com/azure/virtual-network/virtual-network-ip-addresses-overview-arm#sku) for more details.
117+
118+
- The static public IP addresses should both have DNS names. If you have not setup the DNS name when creating the public IP address, you can also setup this in the Azure portal.
119+
120+
![Azure-SSIS IR](media/ssis-integration-runtime-management-troubleshoot/setup-publicipdns-name.png)
121+
122+
- The static public IP addresses and the virtual network should be under the same subscription and in the same region.
123+
103124
### <a name="dns_server"></a> Set up the DNS server
104125
If you need to use your own DNS server in a virtual network joined by your Azure-SSIS IR, make sure it can resolve global Azure host names (for example, an Azure Storage blob named `<your storage account>.blob.core.windows.net`).
105126

@@ -148,11 +169,14 @@ The Azure-SSIS IR needs to create certain network resources under the same resou
148169
- An Azure public IP address, with the name *\<Guid>-azurebatch-cloudservicepublicip*.
149170
- A network work security group, with the name *\<Guid>-azurebatch-cloudservicenetworksecuritygroup*.
150171

151-
Those resources will be created when the IR starts. They'll be deleted when the IR stops. To avoid blocking the IR stop, don't reuse these network resources in your other resources.
172+
> [!NOTE]
173+
> You can bring your own static public IP addresses now for your Azure-SSIS IR. In this scenario, we will only create the Azure load balancer and network security group for you. Besides, the resources will be created under the same resource group as your public IP addresses instead of the virtual network.
174+
175+
Those resources will be created when the IR starts. They'll be deleted when the IR stops. Note that if you bring your own public IP addresses, the public IP addresses won't be deleted after IR stops. To avoid blocking the IR stop, don't reuse these network resources in your other resources.
152176

153-
Make sure that you have no resource lock on the resource group or subscription to which the virtual network belongs. If you configure a read-only lock or a delete lock, starting and stopping the IR might fail, or the IR might stop responding.
177+
Make sure that you have no resource lock on the resource group or subscription to which the virtual network (or public IP addresses if you bring your own ones) belongs. If you configure a read-only lock or a delete lock, starting and stopping the IR might fail, or the IR might stop responding.
154178

155-
Make sure that you don't have an Azure policy that prevents the following resources from being created under the resource group or subscription to which the virtual network belongs:
179+
Make sure that you don't have an Azure policy that prevents the following resources from being created under the resource group or subscription to which the virtual network (or public IP addresses if you bring your own ones) belongs:
156180
- Microsoft.Network/LoadBalancers
157181
- Microsoft.Network/NetworkSecurityGroups
158182
- Microsoft.Network/PublicIPAddresses
@@ -166,12 +190,23 @@ Make sure that you don't have an Azure policy that prevents the following resour
166190
If you don't want the public IP address to be exposed, consider [configuring the self-hosted IR as a proxy for the Azure-SSIS IR](https://docs.microsoft.com/azure/data-factory/self-hosted-integration-runtime-proxy-ssis) instead of the virtual network, if this applies to your scenario.
167191

168192
- Can I add the static IP address of the Azure-SSIS IR to the firewall's allow list for the data source?
169-
193+
194+
You are now able to bring your own static public IP addresses for the Azure-SSIS IR. In this case, you can add the provided IP addresses to the firewall's allow lists of your data sources. You can also consider below options to allow Azure-SSIS IR to access your data source depending on your scenario:
195+
170196
- If your data source is on-premises, after you connect the virtual network to your on-premises network and join your Azure-SSIS IR into the virtual network subnet, you can add the IP range of that subnet to the allow list.
171197
- If your data source is an Azure service supported with a virtual network service endpoint, you can configure a virtual network service point on your virtual network and join your Azure-SSIS IR into that virtual network subnet. Then you can allow access by using the virtual network rule of the Azure services instead of the IP range.
172198
- If your data source is a different kind of cloud data source, you can use UDR to route outbound traffic from the Azure-SSIS IR to the NVA or to Azure Firewall by using a static public IP address. You can add the public IP address of the NVA or Azure Firewall to the allow list.
173199
- If the previous answers don't meet your needs, consider providing data source access by [configuring a self-hosted IR as a proxy for the Azure-SSIS IR](https://docs.microsoft.com/azure/data-factory/self-hosted-integration-runtime-proxy-ssis). Then you can add the IP address of the machine that hosts the self-hosted IR to the allow list instead of joining the Azure-SSIS IR into the virtual network.
174200

201+
- Why do I need to provide two static public addresses if I want to bring my own public IP addresses for the Azure-SSIS IR?
202+
203+
Azure-SSIS IR is automatically updated on a regular basis. New IR nodes are created during upgrade and the old nodes will be deleted. However, to avoid downtime, the old nodes will not be deleted until the new nodes are ready. Thus, your first public IP address used by the old nodes cannot be released immediately and we need another public IP address to create the new IR nodes.
204+
- I have brought my own static public IP addresses for the Azure-SSIS IR, but the IR still cannot access the data sources or resources.
205+
206+
- Confirm that the two static public IP addresses are both added to the allow list of your data sources or resources. After upgrade of the Azure-SSIS IR, the IR's public IP address is switched to the secondary public IP address. If you only add one of them to the allow list, the access may be broken after upgrade.
207+
208+
- If your data source is an Azure service, please check whether you have setup the virtual network subnet with service endpoint. If service endpoints are set, the service traffic switches to use private addresses managed by Azure services as the source IP addresses when accessing the Azure service from a virtual network. In this case, adding your own public IP addresses to the allow list will not make effect.
209+
175210
## Azure portal (Data Factory UI)
176211
This section shows you how to join an existing Azure-SSIS IR to a virtual network (classic or Azure Resource Manager) by using the Azure portal and Data Factory UI.
177212

@@ -298,9 +333,11 @@ After you've configured your Azure Resource Manager virtual network or classic v
298333

299334
d. For **Subnet Name**, select your subnet in the virtual network.
300335

301-
e. If you also want to configure or manage a self-hosted IR as a proxy for your Azure-SSIS IR, select the **Set-up Self-Hosted** check box. For more information, see [Configure a self-hosted IR as a proxy for an Azure-SSIS IR](https://docs.microsoft.com/azure/data-factory/self-hosted-integration-runtime-proxy-ssis).
336+
e. If you want to bring your own static public IP address for the Azure-SSIS IR, select the **Bring static public IP addresses** checkbox. Then, please provide the first and second static public IP address for your Azure-SSIS IR. You can also click **Create new** button to create new public IP address, see [Select the static public IP addresses](#publicIP) for requirements of the public IP addresses.
337+
338+
f. If you also want to configure or manage a self-hosted IR as a proxy for your Azure-SSIS IR, select the **Set-up Self-Hosted** check box. For more information, see [Configure a self-hosted IR as a proxy for an Azure-SSIS IR](https://docs.microsoft.com/azure/data-factory/self-hosted-integration-runtime-proxy-ssis).
302339

303-
f. Select the **VNet Validation** button. If the validation is successful, select the **Next** button.
340+
g. Select the **VNet Validation** button. If the validation is successful, select the **Next** button.
304341

305342
![Advanced settings for IR setup](media/join-azure-ssis-integration-runtime-virtual-network/ir-setup-advanced-settings.png)
306343

126 KB
Loading
124 KB
Loading

articles/data-factory/ssis-integration-runtime-management-troubleshoot.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,3 +152,38 @@ When you stop SSIS IR, all the resources related to Virtual Network are deleted.
152152
### NodeUnavailable
153153

154154
This error occurs when IR is running, and it means that IR has become unhealthy. This error is always caused by a change in the DNS server or NSG configuration that blocks SSIS IR from connecting to a necessary service. Because configuration of DNS server and NSG is controlled by the customer, the customer must fix the blocking issues on their end. For more information, see [SSIS IR Virtual Network configuration](https://docs.microsoft.com/azure/data-factory/join-azure-ssis-integration-runtime-virtual-network). If you’re still having problems, contact the Azure Data Factory support team.
155+
156+
## Static public IP addresses configuration
157+
158+
When you join the Azure-SSIS IR to Azure Virtual Network, you are also able to bring your own static public IP addresses for the IR so that the IR can access data sources which limit access to specific IP addresses. For more information, see [Join an Azure-SSIS Integration Runtime to a virtual network](https://docs.microsoft.com/azure/data-factory/join-azure-ssis-integration-runtime-virtual-network).
159+
160+
Besides the above virtual network issues, you may also meet static public IP addresses-related issue. Please check the following errors for help.
161+
162+
### <a name="InvalidPublicIPSpecified"></a>InvalidPublicIPSpecified
163+
164+
This error can occur for a variety of reasons when you start the Azure-SSIS IR:
165+
166+
| Error message | Solution|
167+
|:--- |:--- |
168+
| The provided static public IP address is already used, please provide two unused ones for your Azure-SSIS Integration Runtime. | You should select two unused static public IP addresses or remove current references to the specified public IP address, and then restart the Azure-SSIS IR. |
169+
| The provided static public IP address has no DNS name, please provide two of them with DNS name for your Azure-SSIS Integration Runtime. | You can setup the DNS name of the public IP address in Azure portal, as the picture below shows. Specific steps are as follows: (1) Open Azure portal and goto the resource page of this public IP address; (2) Select the **Configuration** section and set up the DNS name, then click **Save** button; (3) Restart your Azure-SSIS IR. |
170+
| The provided VNet and static public IP addresses for your Azure-SSIS Integration Runtime must be in the same location. | According to the Azure Network's requirements, the static public IP address and the virtual network should be in the same location and subscription. Please provide two valid static public IP addresses and restart the Azure-SSIS IR. |
171+
| The provided static public IP address is a basic one, please provide two standard ones for your Azure-SSIS Integration Runtime. | Refer to [SKUs of Public IP Address](https://docs.microsoft.com/azure/virtual-network/virtual-network-ip-addresses-overview-arm#sku) for help. |
172+
173+
![Azure-SSIS IR](media/ssis-integration-runtime-management-troubleshoot/setup-publicipdns-name.png)
174+
175+
### PublicIPResourceGroupLockedDuringStart
176+
177+
If Azure-SSIS IR provisioning fails, all the resources that were created are deleted. However, if there's a resource delete lock at the subscription or resource group (which contains your static public IP address) level, the network resources are not deleted as expected. To fix the error, please remove the delete lock and restart the IR.
178+
179+
### PublicIPResourceGroupLockedDuringStop
180+
181+
When you stop Azure-SSIS IR, all the network resources created in the resource group containing your public IP address will be deleted. But deletion can fail if there's a resource delete lock at the subscription or resource group (which contains your static public IP address) level. Please remove the delete lock and restart the IR.
182+
183+
### PublicIPResourceGroupLockedDuringUpgrade
184+
185+
Azure-SSIS IR is automatically updated on a regular basis. New IR nodes are created during upgrade and the old nodes will be deleted. Also, the created network resources (e.g., the load balancer and the network security group) for the old nodes are deleted, and the new network resources are created under your subscription. This error means that deleting the network resources for the old nodes failed due to a delete lock at the subscription or resource group (which contains your static public IP address) level. Please remove the delete lock so that we can cleanup the old nodes and release the static public IP address for the old nodes. Otherwise the static public IP address cannot be released and we will not be able to upgrade your IR further.
186+
187+
### PublicIPNotUsableDuringUpgrade
188+
189+
When you want to bring your own static public IP addresses, two public IP addresses should be provided. One of them will be used to create the IR nodes immediately and another one will be used during upgrade of the IR. This error can occur when the other public IP address is unusable during upgrade. Please refer to [InvalidPublicIPSpecified](#InvalidPublicIPSpecified) for possible causes.

0 commit comments

Comments
 (0)