クイック スタート: PowerShell を使用して Azure VM に SQL Server を作成する
適用対象: Azure VM 上の SQL Server
このクイックスタートでは、Azure PowerShell を使用して Azure Virtual Machines (VM) 上に Windows SQL Server を作成する手順を説明します。
ヒント
- このクイック スタートでは、SQL Server VM を迅速にプロビジョニングして接続する方法を説明します。 SQL Server VM を作成するための、その他の Azure PowerShell オプションの情報については、「Azure PowerShell を使用して Azure VM 上に SQL Server を作成する」を参照してください。
- SQL Server の仮想マシンに関するご質問については、よくあるご質問に関するページをご覧ください。
前提条件
このクイックスタートを終えるには、次のものが必要です。
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
- 最新バージョンの Azure PowerShell
Note
この記事では、Azure と対話するために推奨される PowerShell モジュールである Azure Az PowerShell モジュールを使用します。 Az PowerShell モジュールの使用を開始するには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。
Azure に接続する
PowerShell を開き、Connect-AzAccount コマンドを実行して Azure アカウントへのアクセスを確立し、Set-AzContext でサブスクリプション コンテキストを設定します。
Connect-AzAccount Set-AzContext -subscription <Subscription ID>
サインイン ウィンドウが表示されたら、資格情報を入力します。 Azure ポータルへのサインインに使用しているものと同じ電子メールとパスワードを使用します。
リソース グループを作成する
一意のリソース グループ名のための変数を定義し、すべての VM リソースに対するターゲット Azure リージョンの場所を指定します。 次に、New-AzResourceGroup を使ってリソース グループを作成します。 クイック スタートの以降の手順を簡略化するために、残りのコマンドでは、この名前を他のリソース名のベースとして使用します。
$ResourceGroupName = "sqlvm1"
$Location = "East US"
$ResourceGroupParams = @{
Name = $ResourceGroupName
Location = $Location
Tag = @{Owner="SQLDocs-Samples"}
}
New-AzResourceGroup @ResourceGroupParams
ネットワーク設定の構成
New-AzVirtualNetworkSubnetConfig、New-AzVirtualNetwork、New-AzPublicIpAddress を使って、仮想ネットワーク、サブネット、パブリック IP アドレスを作成します。 これらのリソースは、仮想マシンへのネットワーク接続を提供し、その仮想マシンをインターネットに接続するために使用されます。
$SubnetName = $ResourceGroupName + "subnet" $VnetName = $ResourceGroupName + "vnet" $PipName = $ResourceGroupName + $(Get-Random) # Create a subnet configuration $SubnetConfig = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix 192.168.1.0/24 # Create a virtual network $Vnet = New-AzVirtualNetwork -ResourceGroupName $ResourceGroupName -Location $Location ` -Name $VnetName -AddressPrefix 192.168.0.0/16 -Subnet $SubnetConfig # Create a public IP address and specify a DNS name $Pip = New-AzPublicIpAddress -ResourceGroupName $ResourceGroupName -Location $Location ` -AllocationMethod Static -IdleTimeoutInMinutes 4 -Name $PipName
New-AzNetworkSecurityRuleConfig を使ってリモート デスクトップ (RDP) と SQL Server の接続を許可する規則を構成した後、New-AzNetworkSecurityGroup を使ってネットワーク セキュリティ グループを作成します。
# Rule to allow remote desktop (RDP) $NsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name "RDPRule" -Protocol Tcp ` -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * ` -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow #Rule to allow SQL Server connections on port 1433 $NsgRuleSQL = New-AzNetworkSecurityRuleConfig -Name "MSSQLRule" -Protocol Tcp ` -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * ` -DestinationAddressPrefix * -DestinationPortRange 1433 -Access Allow # Create the network security group $NsgName = $ResourceGroupName + "nsg" $Nsg = New-AzNetworkSecurityGroup -ResourceGroupName $ResourceGroupName ` -Location $Location -Name $NsgName ` -SecurityRules $NsgRuleRDP,$NsgRuleSQL
New-AzNetworkInterface を使ってネットワーク インターフェイスを作成します。
$InterfaceName = $ResourceGroupName + "int" $Interface = New-AzNetworkInterface -Name $InterfaceName ` -ResourceGroupName $ResourceGroupName -Location $Location ` -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $Pip.Id ` -NetworkSecurityGroupId $Nsg.Id
SQL VM の作成
VM にサインインするための資格情報を定義します。 ユーザー名は "azureadmin" です。 コマンドを実行する前に、<password> を変更してください。
# Define a credential object $userName = "azureadmin" $SecurePassword = ConvertTo-SecureString '<strong password>' ` -AsPlainText -Force $Cred = New-Object System.Management.Automation.PSCredential ($userName, $securePassword)
New-AzVMConfig をって仮想マシン構成オブジェクトを作成してから、New-AzVM を使って VM を作成します。 次のコマンドでは、Windows Server 2022 上に SQL Server 2022 Developer Edition VM が作成されます。
# Create a virtual machine configuration $VMName = $ResourceGroupName + "VM" $VMConfig = New-AzVMConfig -VMName $VMName -VMSize Standard_DS13_V2 | Set-AzVMOperatingSystem -Windows -ComputerName $VMName -Credential $Cred -ProvisionVMAgent -EnableAutoUpdate | Set-AzVMSourceImage -PublisherName "MicrosoftSQLServer" -Offer "sql2022-ws2022" -Skus "sqldev-gen2" -Version "latest" | Add-AzVMNetworkInterface -Id $Interface.Id # Create the VM New-AzVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VMConfig
ヒント
VM の作成には数分かかります。
SQL VM RP への登録
ポータル統合と SQL VM の機能を利用するには、SQL IaaS Agent 拡張機能に登録する必要があります。
そのためには、まず、Register-AzResourceProvider を使って、リソース プロバイダーに自分のサブスクリプションを登録します。
# Register the SQL IaaS Agent extension to your subscription
Register-AzResourceProvider -ProviderNamespace Microsoft.SqlVirtualMachine
次に、New-AzSqlVM を使って、SQL Server VM を SQL IaaS Agent 拡張機能に登録します。
$License = 'PAYG'
# Register SQL Server VM with the extension
New-AzSqlVM -Name $VMName -ResourceGroupName $ResourceGroupName -Location $Location `
-LicenseType $License
VM へのリモート デスクトップ接続
Get-AzPublicIpAddress を使って、新しい VM のパブリック IP アドレスを取得します。
Get-AzPublicIpAddress -ResourceGroupName $ResourceGroupName | Select IpAddress
返された IP アドレスをコマンド ライン パラメーターとして mstsc に渡し、新しい VM へのリモート デスクトップ セッションを開始します。
mstsc /v:<publicIpAddress>
資格情報を求められたら、別のアカウントの資格情報の入力を選択します。 先頭にバックスラッシュを付けたユーザー名 (例:
\azureadmin
) と、このクイック スタートの前の手順で設定したパスワードを入力します。
SQL Server への接続
リモート デスクトップ セッションにサインインしたら、スタート メニューから SQL Server Management Studio 2017 を起動します。
[サーバーに接続] ダイアログ ボックスでは、既定の設定をそのまま使用します。 サーバー名は VM の名前です。 認証は [Windows 認証] に設定されます。 [接続] を選択します。
これで、SQL Server にローカル接続されました。 リモート接続する場合は、Azure portal から、または手動で接続を構成する必要があります。
リソースをクリーンアップする
VM を継続的に実行する必要がない場合は、使用中でないときに停止することで、不要な料金の発生を回避できます。 次のコマンドでは、VM を停止しますが、後から使用できるように残しておきます。
Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName
Remove-AzResourceGroup コマンドを使用して、仮想マシンに関連付けられているすべてのリソースを完全に削除することもできます。 そのようにすると仮想マシンも完全に削除されるため、このコマンドは注意して使用してください。
次のステップ
このクイックスタートでは、Azure PowerShell を使って SQL Server 2022 仮想マシンを作成しました。 新しい SQL Server にデータを移行する方法の詳細については、次の記事を参照してください。