Aggiungere il runtime di integrazione SSIS di Azure a una rete virtuale tramite Azure PowerShell
SI APPLICA A: Azure Data Factory Azure Synapse Analytics
Suggerimento
Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!
Questo articolo illustra come aggiungere il runtime di integrazione di Azure-SQL Server Integration Services (SSIS) esistente in Azure Data Factory a una rete virtuale tramite Azure PowerShell.
Nota
Per Azure-SSIS IR in Azure Synapse Analytics, sostituire con le interfacce di PowerShell di Azure Synapse Analytics corrispondenti: Set-AzSynapseIntegrationRuntime (Az.Synapse),Start-AzSynapseIntegrationRuntime e Stop-AzSynapseIntegrationRuntime.
Creare le variabili
$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]"
Ottenere l'ID dell'applicazione Azure Batch
- Passare al portale di Azure.
- Nella barra di ricerca digitare
Microsoft Azure Batch
e selezionarlo nell'elenco a discesa, in Microsoft Entra ID. - Nella pagina Microsoft Azure Batch annotare o copiare l'ID applicazione negli Appunti.
- Nello script seguente impostare la
$BatchApplicationId
variabile su questo valore prima di eseguirla.
Configurare una rete virtuale
Prima di poter aggiungere il runtime di integrazione Azure-SSIS a una rete virtuale, è necessario configurare la rete virtuale. Per configurare automaticamente le autorizzazioni e le impostazioni della rete virtuale per il runtime di integrazione Azure-SSIS per l'aggiunta a una rete virtuale, aggiungere lo script seguente:
# 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
}
}
Creare un runtime di integrazione Azure-SSIS e aggiungerlo a una rete virtuale
È possibile creare un runtime di integrazione Azure-SSIS e contemporaneamente aggiungerlo a una rete virtuale. Per lo script completo e le istruzioni, vedere Creare un runtime di integrazione Azure-SSIS.
Aggiungere un runtime di integrazione Azure-SSIS esistente a una rete virtuale
L'articolo Creare un runtime di integrazione Azure-SSIS illustra come creare un runtime di integrazione Azure-SSIS e aggiungerlo a una rete virtuale nello stesso script. Se si ha già un runtime di integrazione Azure-SSIS, seguire questa procedura per aggiungerlo a una rete virtuale:
- Arrestare azure-SSIS IR.
- Configurare il runtime di integrazione Azure-SSIS per l'aggiunta a una rete virtuale.
- Avviare azure-SSIS IR.
Arrestare il runtime di integrazione Azure-SSIS
È necessario arrestare il runtime di integrazione Azure-SSIS prima di aggiungerlo a una rete virtuale. Questo comando rilascia tutti i nodi e arresta la fatturazione:
Stop-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
-DataFactoryName $DataFactoryName `
-Name $AzureSSISName `
-Force
Configurare il runtime di integrazione Azure-SSIS per l'aggiunta a una rete virtuale
Per aggiungere il runtime di integrazione Azure-SSIS a una rete virtuale, eseguire il 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
}
}
Avviare il runtime di integrazione Azure-SSIS
Per avviare azure-SSIS IR, eseguire il comando seguente:
Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
-DataFactoryName $DataFactoryName `
-Name $AzureSSISName `
-Force
Se si usa il metodo express/standard virtual network injection, il completamento di questo comando richiede rispettivamente 5/20-30 minuti.
Contenuto correlato
- Configurare una rete virtuale per inserire Azure-SSIS IR
- Metodo express virtual network injection
- Metodo standard di inserimento della rete virtuale
- Aggiungere Azure-SSIS IR a una rete virtuale tramite l'interfaccia utente di Azure Data Factory
Per altre informazioni su Azure-SSIS IR, vedere gli articoli seguenti:
- Azure-SSIS IR. Questo articolo fornisce informazioni concettuali generali sugli IR, incluso Azure-SSIS IR.
- Esercitazione: Distribuire pacchetti SSIS in Azure. Questa esercitazione fornisce istruzioni dettagliate per creare il runtime di integrazione Azure-SSIS. Usa database SQL di Azure server per ospitare SSISDB.
- Creare un runtime di integrazione SSIS di Azure. Questo articolo si espande sull'esercitazione. Vengono fornite istruzioni sull'uso di database SQL di Azure server configurato con un endpoint servizio di rete virtuale/una regola del firewall IP/un endpoint privato o un Istanza gestita di SQL di Azure che unisce una rete virtuale all'host SSISDB. Illustra come aggiungere il runtime di integrazione Azure-SSIS a una rete virtuale.
- Monitorare un runtime di integrazione SSIS di Azure. Questo articolo illustra come recuperare e comprendere le informazioni su Azure-SSIS IR.
- Gestire un runtime di integrazione SSIS di Azure. In questo articolo viene illustrato come arrestare, avviare o rimuovere Azure-SSIS IR. Viene anche illustrato come aumentare il numero di istanze per Azure-SSIS IR tramite l'aggiunta di nodi.