빠른 시작: PowerShell을 사용하여 Azure VM에서 SQL Server 만들기
적용 대상: Azure VM 기반 SQL Server
이 빠른 시작에서는 Azure PowerShell을 사용하여 Azure VM(가상 머신)에서 Windows SQL Server를 만드는 단계를 안내합니다.
팁
- 이 빠른 시작에서는 신속하게 SQL Server VM을 프로비전하고 연결하는 경로를 제공합니다. SQL VM을 만들기 위한 다른 Azure PowerShell 옵션에 대한 자세한 내용은 Azure PowerShell을 사용한 SQL Server VM 프로비전 가이드를 참조하세요.
- SQL Server 가상 머신에 대한 질문이 있으면 질문과 대답을 참조하세요.
필수 조건
이 빠른 시작을 완료하려면 다음이 있어야 합니다.
- Azure 구독 Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
- 최신 버전의 Azure PowerShell
참고 항목
이 문서에서는 Azure와 상호 작용하는 데 권장되는 PowerShell 모듈인 Azure Az PowerShell 모듈을 사용합니다. Az PowerShell 모듈을 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.
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-AzNetworkSecurityGroup을 사용하여 New-AzNetworkSecurityRuleConfig를 사용하여 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
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"입니다. 명령을 실행하기 전에 <암호>를 변경했는지 확인합니다.
# 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 에이전트 익스텐션에 등록해야 합니다.
이렇게 하려면 먼저 Register-AzResourceProvider를 사용하여 리소스 공급자에 구독을 등록합니다.
# Register the SQL IaaS Agent extension to your subscription
Register-AzResourceProvider -ProviderNamespace Microsoft.SqlVirtualMachine
다음으로 New-AzSqlVM을 사용하여 SQL Server VM을 SQL IaaS 에이전트 확장에 등록합니다.
$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을 중지하여 불필요한 요금을 방지할 수 있습니다. 다음 명령은 VM을 중지하지만 나중에 사용할 수 있도록 유지합니다.
Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName
Remove-AzResourceGroup 명령을 사용하여 가상 머신과 연결된 모든 리소스를 영구적으로 삭제할 수도 있습니다. 그러면 가상 머신도 영구적으로 삭제되므로 이 명령을 사용할 때는 주의해야 합니다.
다음 단계
이 빠른 시작에서는 Azure PowerShell을 사용하여 SQL Server 2022 가상 머신을 만들었습니다. 새 SQL Server 데이터를 마이그레이션하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.