クイック スタート:Azure PowerShell を使用して Windows 仮想マシンに SQL Server を作成する

適用対象:Azure VM 上の SQL Server

このクイックスタートでは、Azure PowerShell を使用して SQL Server 仮想マシン (VM) を作成する方法について説明します。

ヒント

Azure サブスクリプションを取得する

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

Azure PowerShell を入手する

Note

この記事では、Azure と対話するために推奨される PowerShell モジュールである Azure Az PowerShell モジュールを使用します。 Az PowerShell モジュールの使用を開始するには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

PowerShell の構成

  1. PowerShell を開き、Connect-AzAccount コマンドを実行することで、Azure アカウントへのアクセスを確立します。

    Connect-AzAccount
    
  2. サインイン ウィンドウが表示されたら、資格情報を入力します。 Azure portal へのサインインに使用しているものと同じ電子メールとパスワードを使用します。

リソース グループを作成する

  1. 一意のリソース グループ名を持つ変数を定義します。 クイック スタートの以降の手順を簡略化するために、残りのコマンドでは、この名前を他のリソース名のベースとして使用します。

    $ResourceGroupName = "sqlvm1"
    
  2. すべての VM リソースのターゲット Azure リージョンの場所を定義します。

    $Location = "East US"
    
  3. リソース グループを作成します。

    New-AzResourceGroup -Name $ResourceGroupName -Location $Location
    

ネットワーク設定の構成

  1. 仮想ネットワーク、サブネット、パブリック 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
    
  2. ネットワーク セキュリティ グループを作成します。 リモート デスクトップ (RDP) および SQL Server 接続を許可するように規則を構成します。

    # 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
    
  3. ネットワーク インターフェイスを作成します。

    $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 の作成

  1. VM にサインインするための資格情報を定義します。 ユーザー名は "azureadmin" です。 コマンドを実行する前に、<password> を変更してください。

    # Define a credential object
    $SecurePassword = ConvertTo-SecureString '<password>' `
       -AsPlainText -Force
    $Cred = New-Object System.Management.Automation.PSCredential ("azureadmin", $securePassword)
    
  2. 仮想マシン構成オブジェクトを作成してから、VM を作成します。 次のコマンドでは、Windows Server 2016 で SQL Server 2017 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 "SQL2017-WS2016" -Skus "SQLDEV" -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 拡張機能登録する必要があります。

VM へのリモート デスクトップ接続

  1. 次のコマンドを使用して、新しい VM のパブリック IP アドレスを取得します。

    Get-AzPublicIpAddress -ResourceGroupName $ResourceGroupName | Select IpAddress
    
  2. 返された IP アドレスをコマンド ライン パラメーターとして mstsc に渡し、新しい VM へのリモート デスクトップ セッションを開始します。

    mstsc /v:<publicIpAddress>
    
  3. 資格情報を求められたら、別のアカウントの資格情報の入力を選択します。 先頭にバックスラッシュを付けたユーザー名 (例: \azureadmin) と、このクイック スタートの前の手順で設定したパスワードを入力します。

SQL Server への接続

  1. リモート デスクトップ セッションにサインインしたら、スタート メニューから SQL Server Management Studio 2017 を起動します。

  2. [サーバーに接続] ダイアログ ボックスでは、既定の設定をそのまま使用します。 サーバー名は VM の名前です。 認証は [Windows 認証] に設定されます。 [接続] を選択します。

これで、SQL Server にローカル接続されました。 リモート接続する場合は、Azure portal から、または手動で接続を構成する必要があります。

リソースをクリーンアップする

VM を継続的に実行する必要がない場合は、使用中でないときに停止することで、不要な料金の発生を回避できます。 次のコマンドでは、VM を停止しますが、後から使用できるように残しておきます。

Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName

Remove-AzResourceGroup コマンドを使用して、仮想マシンに関連付けられているすべてのリソースを完全に削除することもできます。 そのようにすると仮想マシンも完全に削除されるため、このコマンドは注意して使用してください。

次のステップ

このクイック スタートでは、Azure PowerShell を使用して SQL Server 2017 仮想マシンを作成しました。 新しい SQL Server にデータを移行する方法の詳細については、次の記事を参照してください。