Associar o tempo de execução de integração Azure-SSIS a uma rede virtual através do Azure PowerShell
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Gorjeta
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!
Este artigo mostra como unir seu tempo de execução de integração (IR) existente do Azure-SQL Server Integration Services (SSIS) no Azure Data Factory a uma rede virtual por meio do Azure PowerShell.
Nota
Para o IR do Azure-SSIS no Azure Synapse Analytics, substitua pelas interfaces correspondentes do PowerShell do Azure Synapse Analytics: Set-AzSynapseIntegrationRuntime (Az.Synapse), Start-AzSynapseIntegrationRuntime e Stop-AzSynapseIntegrationRuntime.
Criar variáveis
$ResourceGroupName = "[your Azure resource group name]"
$DataFactoryName = "[your data factory name]"
$AzureSSISName = "[your Azure-SSIS IR name]"
# Virtual network info: Azure Resource Manager or Classic
$VnetId = "[your virtual network resource ID or leave it empty]" # REQUIRED if you use Azure SQL Database server configured with a private endpoint/IP firewall rule/virtual network service endpoint or Azure SQL Managed Instance that joins a virtual network to host SSISDB, or if you require access to on-premises data without configuring a self-hosted IR. We recommend Azure Resource Manager virtual network, because classic virtual network will be deprecated soon.
$SubnetName = "[your subnet name or leave it empty]" # WARNING: Use the same subnet as the one used for Azure SQL Database server configured with a virtual network service endpoint or a different subnet from the one used for Azure SQL Managed Instance that joins a virtual network
$SubnetId = $VnetId + '/subnets/' + $SubnetName
# Virtual network injection method: Standard or Express. For comparison, see https://learn.microsoft.com/azure/data-factory/azure-ssis-integration-runtime-virtual-network-configuration.
$VnetInjectionMethod = "Standard" # Standard by default, whereas Express lets you use the express virtual network injection method
# Public IP address info: OPTIONAL to provide two standard static public IP addresses with DNS name under the same subscription and in the same region as your virtual network
$FirstPublicIP = "[your first public IP address resource ID or leave it empty]"
$SecondPublicIP = "[your second public IP address resource ID or leave it empty]"
Obter a ID do aplicativo Azure Batch
- Navegue para o portal do Azure.
- Na barra de pesquisa, digite
Microsoft Azure Batch
e selecione-o na lista suspensa, em ID do Microsoft Entra. - Na página Lote do Microsoft Azure, anote ou copie a ID do Aplicativo para a área de transferência.
- No script a seguir, defina a
$BatchApplicationId
variável para esse valor antes de executá-la.
Configurar uma rede virtual
Antes de poder associar seu IR do Azure-SSIS a uma rede virtual, você precisa configurar a rede virtual. Para configurar automaticamente as permissões e configurações de rede virtual para que seu IR do Azure-SSIS ingresse em uma rede virtual, adicione o seguinte script:
# Make sure to run this script against the subscription to which the virtual network belongs.
$BatchApplicationId = "[REPLACE_WITH_AZURE_BATCH_APP_ID]"
if(![string]::IsNullOrEmpty($VnetId) -and ![string]::IsNullOrEmpty($SubnetName))
{
# Register to the Azure Batch resource provider
$BatchObjectId = (Get-AzADServicePrincipal -ServicePrincipalName $BatchApplicationId).Id
Register-AzResourceProvider -ProviderNamespace Microsoft.Batch
while(!(Get-AzResourceProvider -ProviderNamespace "Microsoft.Batch").RegistrationState.Contains("Registered"))
{
Start-Sleep -s 10
}
if($VnetId -match "/providers/Microsoft.ClassicNetwork/")
{
# Assign the VM contributor role to Microsoft.Batch
New-AzRoleAssignment -ObjectId $BatchObjectId -RoleDefinitionName "Classic Virtual Machine Contributor" -Scope $VnetId
}
}
Criar um IR do Azure-SSIS e associá-lo a uma rede virtual
Você pode criar um IR do Azure-SSIS e associá-lo a uma rede virtual ao mesmo tempo. Para obter o script completo e as instruções, consulte Criar um IR do Azure-SSIS.
Associar um IR existente do Azure-SSIS a uma rede virtual
O artigo Criar um IR do Azure-SSIS mostra como criar um IR do Azure-SSIS e associá-lo a uma rede virtual no mesmo script. Se você já tiver um IR do Azure-SSIS, siga estas etapas para associá-lo a uma rede virtual:
- Pare seu IR do Azure-SSIS.
- Configure seu IR do Azure-SSIS para ingressar em uma rede virtual.
- Inicie seu IR do Azure-SSIS.
Pare seu IR do Azure-SSIS
Você precisa parar seu IR do Azure-SSIS antes de poder associá-lo a uma rede virtual. Este comando libera todos os seus nós e interrompe o faturamento:
Stop-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
-DataFactoryName $DataFactoryName `
-Name $AzureSSISName `
-Force
Configurar seu IR do Azure-SSIS para ingressar em uma rede virtual
Para associar o IR do Azure-SSIS a uma rede virtual, execute o Set-AzDataFactoryV2IntegrationRuntime
comando:
Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
-DataFactoryName $DataFactoryName `
-Name $AzureSSISName `
-SubnetId $SubnetId `
-VNetInjectionMethod $VnetInjectionMethod
# Add public IP address parameters if you use the standard virtual network injection method and bring your own static public IP addresses
if($VnetInjectionMethod -eq "Standard")
{
if(![string]::IsNullOrEmpty($FirstPublicIP) -and ![string]::IsNullOrEmpty($SecondPublicIP))
{
$publicIPs = @($FirstPublicIP, $SecondPublicIP)
Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
-DataFactoryName $DataFactoryName `
-Name $AzureSSISName `
-PublicIPs $publicIPs
}
}
Inicie seu IR do Azure-SSIS
Para iniciar o IR do Azure-SSIS, execute o seguinte comando:
Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
-DataFactoryName $DataFactoryName `
-Name $AzureSSISName `
-Force
Se você usar o método de injeção de rede virtual express/padrão, esse comando levará de 5/20 a 30 minutos para ser concluído, respectivamente.
Conteúdos relacionados
- Configurar uma rede virtual para injetar o IR do Azure-SSIS
- Método de injeção de rede virtual expressa
- Método padrão de injeção de rede virtual
- Associar o IR do Azure-SSIS a uma rede virtual através da IU do ADF
Para obter mais informações sobre o Azure-SSIS IR, consulte os seguintes artigos:
- IR do Azure-SSIS. Este artigo fornece informações conceituais gerais sobre RIs, incluindo o IR do Azure-SSIS.
- Tutorial: Implantar pacotes SSIS no Azure. Este tutorial fornece instruções passo a passo para criar seu IR do Azure-SSIS. Ele usa o servidor do Banco de Dados SQL do Azure para hospedar o SSISDB.
- Crie um IR do Azure-SSIS. Este artigo expande o tutorial. Ele fornece instruções sobre como usar o servidor do Banco de Dados SQL do Azure configurado com um ponto de extremidade de serviço de rede virtual/regra de firewall IP/ponto de extremidade privado ou uma Instância Gerenciada SQL do Azure que ingressa em uma rede virtual para hospedar o SSISDB. Ele mostra como unir seu IR do Azure-SSIS a uma rede virtual.
- Monitorizar um Azure-SSIS IR. Este artigo mostra como obter e compreender as informações sobre o Azure-SSIS IR.
- Gerir o Azure-SSIS IR. Este artigo mostra-lhe como parar, iniciar ou eliminar o Azure-SSIS IR. Mostra também como aumentá-lo horizontalmente mediante a adição de mais nós.