Joindre un runtime d’intégration Azure-SSIS à un réseau virtuel via Azure PowerShell

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Conseil

Data Factory dans Microsoft Fabric est la prochaine génération de Azure Data Factory, avec une architecture plus simple, une IA intégrée et de nouvelles fonctionnalités. Si vous débutez avec l'intégration des données, commencez par Fabric Data Factory. Les charges de travail ADF existantes peuvent être mises à niveau vers Fabric pour accéder à de nouvelles fonctionnalités dans la science des données, l’analytique en temps réel et la création de rapports.

Cet article explique comment joindre votre runtime d’intégration Azure-SQL Server Integration Services (SSIS) existant dans Azure Data Factory à un réseau virtuel via Azure PowerShell.

Note

Pour Azure-SSIS IR dans Azure Synapse Analytics, remplacez par les interfaces PowerShell Azure Synapse Analytics correspondantes : Set-AzSynapseIntegrationRuntime (AZ. Synapse), Start-AzSynapseIntegrationRuntime et Stop-AzSynapseIntegrationRuntime.

Créer des variables

$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]"

Obtenir un ID d’application Azure Batch

  1. Accédez au portail Azure.
  2. Dans la barre de recherche, tapez Microsoft Azure Batch et sélectionnez-le dans la liste déroulante, sous Microsoft Entra ID.
  3. Sur la page Microsoft Azure Batch, notez ou copiez l’ID d’application dans le Presse-papiers.
  4. Dans le script suivant, définissez la variable $BatchApplicationId sur cette valeur avant de l’exécuter.

Configurer un réseau virtuel

Avant de joindre votre runtime d’intégration Azure-SSIS à un réseau virtuel, vous devez configurer ce dernier. Pour configurer automatiquement les paramètres et les autorisations du réseau virtuel pour votre Azure-SSIS IR pour joindre un réseau virtuel, ajoutez le script suivant :

# 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
    }
}

Créer un runtime d’intégration Azure-SSIS et le joindre à un réseau virtuel

Vous pouvez créer un Azure-SSIS IR et le joindre à un réseau virtuel en même temps. Pour obtenir le script complet et toutes les instructions, consultez Créer un runtime d’intégration Azure-SSIS.

Ajouter un Azure-SSIS IR à un réseau virtuel

L’article Créer un runtime d’intégration Azure-SSIS explique comment créer un runtime d’intégration Azure-SSIS IR et le joindre à un réseau virtuel dans le même script. Si vous disposez déjà d’un Azure-SSIS IR, effectuez les opérations suivantes pour le joindre au réseau virtuel :

  1. arrêtez votre Azure-SSIS IR
  2. configurez votre Azure-SSIS IR pour joindre un réseau virtuel
  3. démarrez votre Azure-SSIS IR

arrêtez votre Azure-SSIS IR.

Vous devez arrêter votre Azure-SSIS IR avant de le joindre à un réseau virtuel. Cette commande libère tous ses nœuds et arrête la facturation :

Stop-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $DataFactoryName `
    -Name $AzureSSISName `
    -Force 

Configurer votre Azure-SSIS IR pour joindre un réseau virtuel

Pour joindre votre Azure-SSIS IR à un réseau virtuel, exécutez la commande Set-AzDataFactoryV2IntegrationRuntime :

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
    }
}

Démarrer votre Azure-SSIS IR

Pour démarrer votre Azure-SSIS IR, exécutez la commande suivante :

Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $DataFactoryName `
    -Name $AzureSSISName `
    -Force

Si vous utilisez la méthode d’injection de réseau virtuel express/standard, cette commande prend, respectivement, 5/20-30 minutes.

Pour plus d’informations sur Azure-SSIS IR, voir les articles suivants :

  • Azure-SSIS IR. Cet article fournit des informations conceptuelles générales sur les runtimes d’intégration, notamment sur Azure-SSIS IR.
  • Tutoriel : Déployer des packages SSIS vers Azure. Ce didacticiel fournit des instructions pas à pas pour créer votre Azure-SSIS IR. Il utilise le serveur Azure SQL Database pour héberger SSISDB.
  • Créez un runtime d’intégration Azure-SSIS IR. Cet article s’appuie sur le didacticiel. Il donne des instructions sur l’utilisation d’un serveur Azure SQL Database configuré avec un point de terminaison de service de réseau virtuel/une règle de pare-feu IP/un point de terminaison privé ou une instance Azure SQL Managed Instance jointe à un réseau virtuel pour héberger SSISDB. Il vous montre comment joindre votre runtime Azure-SSIS IR à un réseau virtuel.
  • Surveiller le runtime d’intégration Azure-SSIS. Cet article explique comment récupérer et comprendre des informations sur votre Azure-SSIS IR.
  • Gérer un runtime d’intégration Azure-SSIS. Cet article vous explique comment arrêter, démarrer ou supprimer votre Azure-SSIS IR. Il vous montre également comment effectuer un scale-out de votre IR Azure-SSIS en ajoutant des nœuds.