Azure PowerShell を使用して Azure-SSIS 統合ランタイムを仮想ネットワークに参加させる
適用対象: Azure Data Factory Azure Synapse Analytics
ヒント
企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新たに試用を開始する方法については、こちらをご覧ください。
この記事では、Azure PowerShell を使用して、Azure Data Factory の既存の Azure-SQL Server Integration Services (SSIS) 統合ランタイム (IR) を仮想ネットワークに参加させる方法について説明します。
Note
Azure Synapse Analytics の Azure-SSIS IR については、対応する Azure Synapse Analytics PowerShell インターフェイスに置き換えてください: Set-AzSynapseIntegrationRuntime (Az.Synapse)、Start-AzSynapseIntegrationRuntime、および Stop-AzSynapseIntegrationRuntime.。
変数の作成
$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]"
仮想ネットワークを構成する
Azure-SSIS IR を仮想ネットワークに参加させる前に、仮想ネットワークを構成する必要があります。 Azure-SSIS IR を仮想ネットワークに参加させるよう、仮想ネットワークのアクセス許可および設定を自動的に構成するには、次のスクリプトを追加します。
# Make sure to run this script against the subscription to which the virtual network belongs.
if(![string]::IsNullOrEmpty($VnetId) -and ![string]::IsNullOrEmpty($SubnetName))
{
# Register to the Azure Batch resource provider
$BatchApplicationId = "ddbf3205-c6bd-46ae-8127-60eb93363864"
$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
}
}
Azure-SSIS IR を作成して仮想ネットワークに参加させる
Azure-SSIS IR を作成し、作成と同時に仮想ネットワークに参加させることができます。 完全なスクリプトと手順については、Azure-SSIS IR の作成に関する記事を参照してください。
既存の Azure-SSIS IR を仮想ネットワークに参加させる
Azure-SSISIR の作成に関する記事では、Azure-SSIS IR を作成し、同じスクリプト内の仮想ネットワークに参加させる方法が説明されています。 既に Azure-SSIS IR がある場合は、次の手順に従って仮想ネットワークに参加させます。
- Azure-SSIS IR を停止します。
- 仮想ネットワークに参加させるよう Azure-SSIS IR を構成します。
- Azure-SSIS IR を開始します。
Azure-SSIS IR を停止する
Azure-SSIS IR を仮想ネットワークに参加させるには、先に停止させる必要があります。 このコマンドは、そのすべてのノードを解放し、課金を停止します。
Stop-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
-DataFactoryName $DataFactoryName `
-Name $AzureSSISName `
-Force
仮想ネットワークに参加させるよう Azure-SSIS IR を構成する
Azure-SSIS IR を仮想ネットワークに参加させるには、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
}
}
Azure-SSIS IR を開始する
Azure-SSIS IR を開始するには、次のコマンドを実行します。
Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
-DataFactoryName $DataFactoryName `
-Name $AzureSSISName `
-Force
高速または標準の仮想ネットワーク インジェクション方法を使用した場合、このコマンドの完了には、それぞれ 5 分、または 20 ~ 30 分かかります。
関連するコンテンツ
- 仮想ネットワークを構成して Azure-SSIS IR のインジェクションを行う
- 高速仮想ネットワーク インジェクション方法
- 標準仮想ネットワーク インジェクション方法
- ADF UI を使用して仮想ネットワークに Azure SSIS IR を参加させる
Azure-SSIS IR の詳細については、次の記事を参照してください。
- 「Azure-SSIS IR」。 この記事では、Azure-SSIS IR を含め、IR に関する全般的な概念情報が説明されています。
- チュートリアル:Azure への SSIS パッケージのデプロイに関するチュートリアルの手順に従って作成します。 このチュートリアルでは、Azure-SSIS IR の作成手順を示しています。 ここでは、SSISDB をホストするために Azure SQL Database サーバーを使用しています。
- 「Azure-SSIS IR を作成する」。 この記事は、このチュートリアルを拡張しています。 仮想ネットワーク サービス エンドポイント、IP ファイアウォール規則、プライベート エンドポイントで構成された Azure SQL Database サーバー、または仮想ネットワークに参加する Azure SQL Managed Instance を使用して SSISDB をホストする手順について説明しています。 Azure-SSIS IR を仮想ネットワークに参加させる方法について説明します。
- Azure-SSIS IR を監視する: この記事では、Azure-SSIS IR についての情報を取得して理解するための方法を示します。
- Azure-SSIS IR を管理する: この記事では、Azure-SSIS IR を停止、開始、または削除する方法を示しています。 また、ノードを追加することで Azure-SSIS IR をスケールアウトする方法も説明されています。