이중 스택 네트워크로 Azure 가상 머신 만들기
이 문서의 내용
이 문서에서는 Azure Portal을 사용하여 Azure에서 가상 머신을 만듭니다. 가상 머신은 절차의 일부로 이중 스택 네트워크와 함께 만들어집니다. 이 문서의 단계를 완료하려면 Azure Portal, Azure CLI 또는 Azure PowerShell 중에서 선택합니다. 완료되면 가상 머신에서 IPv4 및 IPv6 통신을 지원합니다.
필수 조건
이 자습서에는 Azure CLI 버전 2.0.28 이상이 필요합니다. Azure Cloud Shell을 사용하는 경우 최신 버전이 이미 설치되어 있습니다.
활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다 .
로컬로 설치된 Azure PowerShell 또는 Azure Cloud Shell.
Azure PowerShell에 로그인하고 사용하려는 구독을 선택합니다. 자세한 내용은 Azure PowerShell로 로그인 을 참조하세요.
Az. Network 모듈이 4.3.0 이상입니다. 설치된 모듈을 확인하려면 Get-InstalledModule -Name "Az.Network" 명령을 사용합니다. 모듈을 업데이트해야 하는 경우 필요하다면 Update-Module -Name "Az 네트워크".
PowerShell을 로컬로 설치하고 사용하도록 선택하는 경우 이 문서에는 Azure PowerShell 모듈 버전 5.4.1 이상이 필요합니다. 설치되어 있는 버전을 확인하려면 Get-Module -ListAvailable Az
을 실행합니다. 업그레이드해야 하는 경우 Azure PowerShell 모듈 설치 를 참조하세요. 또한 PowerShell을 로컬로 실행하는 경우 Connect-AzAccount
를 실행하여 Azure와 연결해야 합니다.
리소스 그룹 및 가상 네트워크 만들기
이 섹션에서는 Azure Portal의 가상 머신에 대한 리소스 그룹과 이중 스택 가상 네트워크를 만듭니다.
Azure 포털 에 로그인합니다.
포털 맨 위에 있는 검색 상자에 가상 네트워크 를 입력합니다. 검색 결과에서 가상 네트워크 를 선택합니다.
+ 만들기 를 선택합니다.
가상 네트워크 만들기 의 기본 사항 탭에서 다음 정보를 입력하거나 선택합니다.
설정
값
프로젝트 세부 정보
Subscription
구독을 선택합니다.
Resource group
새로 만들기 를 선택합니다. 이름 에서 myResourceGroup 을 입력합니다. 확인 을 선택합니다.
인스턴스 세부 정보
이름
myVNet 을 입력합니다.
지역
미국 동부 2 를 선택합니다.
IP 주소 탭 또는 다음 >다음 을 선택합니다.
IPv4 주소 공간은 기본값인 10.0.0.0/16 으로 그대로 둡니다. 기본값이 없거나 이와 다른 경우 IPv4 주소 공간에 10.0.0.0/16 을 입력합니다.
기본 서브넷을 선택합니다.
서브넷 편집 페이지에서 서브넷 이름 에 myBackendSubnet 을 입력하고 저장 을 선택합니다.
드롭다운 메뉴에서 IPv6 주소 공간 추가 를 선택합니다.
IPv6 주소 공간 에서 기본 주소 공간을 편집하고 값을 2404:f800:8000:122::/63 으로 변경합니다.
IPv6 서브넷을 추가하려면 + 서브넷 추가 를 선택하고 다음 정보를 입력하거나 선택합니다.
설정
값
서브넷
서브넷 이름
myBackendSubnet 을 입력합니다.
주소 범위
2404:f800:8000:122:: (기본값)를 그대로 둡니다.
크기
/64 (기본값)를 그대로 둡니다.
추가 를 선택합니다.
검토 + 만들기 를 선택합니다.
만들기 를 실행합니다.
이 섹션에서는 Azure CLI를 사용하여 가상 머신에 대한 리소스 그룹 이중 스택 가상 네트워크를 만듭니다.
eastus2 위치에 myResourceGroup 이라는 az group create 를 사용하여 리소스 그룹을 만듭니다.
az group create \
--name myResourceGroup \
--location eastus2
az network vnet create 를 사용하여 가상 네트워크를 만듭니다.
az network vnet create \
--resource-group myResourceGroup \
--location eastus2 \
--name myVNet \
--address-prefixes 10.0.0.0/16 2404:f800:8000:122::/63 \
--subnet-name myBackendSubnet \
--subnet-prefixes 10.0.0.0/24 2404:f800:8000:122::/64
이 섹션에서는 Azure PowerShell을 사용하여 가상 머신에 대한 이중 스택 가상 네트워크를 만듭니다.
eastus2 위치에 myResourceGroup 이라는 New-AzResourceGroup 을 사용하여 리소스 그룹을 만듭니다.
$rg =@{
Name = 'myResourceGroup'
Location = 'eastus2'
}
New-AzResourceGroup @rg
New-AzVirtualNetwork 및 New-AzVirtualNetworkSubnetConfig 을 사용하여 가상 네트워크를 만듭니다.
## Create backend subnet config ##
$subnet = @{
Name = 'myBackendSubnet'
AddressPrefix = '10.0.0.0/24','2404:f800:8000:122::/64'
}
$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet
## Create the virtual network ##
$net = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
AddressPrefix = '10.0.0.0/16','2404:f800:8000:122::/63'
Subnet = $subnetConfig
}
New-AzVirtualNetwork @net
공용 IP 주소 만들기
이 섹션에서는 Azure Portal에서 IPv4와 IPv6의 두 개의 공용 IP 주소를 만듭니다.
IPv4 공용 IP 주소 만들기
포털 상단의 검색 상자에 공용 IP 주소 를 입력합니다. 검색 결과에서 공용 IP 주소 를 선택합니다.
+ 만들기 를 선택합니다.
공용 IP 주소 만들기 에서 다음 정보를 입력하거나 선택합니다.
설정
값
프로젝트 세부 정보
Subscription
구독을 선택합니다.
Resource group
myResourceGroup 을 선택합니다.
위치
미국 동부 2 를 선택합니다.
가용성 영역
영역 중복 을 선택합니다.
인스턴스 세부 정보
이름
myPublicIP-IPv4 를 입력합니다.
IP 버전
IPv4 를 선택합니다.
SKU
기본값인 표준 을 그대로 둡니다.
계층
지역 (기본값)을 그대로 둡니다.
IP 주소 할당
라우팅 기본 설정
Microsoft 네트워크 의 기본값을 그대로 둡니다.
유휴 제한 시간(분)
기본값 4 를 그대로 둡니다.
DNS 이름 레이블
myPublicIP-IPv4 를 입력합니다.
검토 + 만들기 를 선택한 후 만들기 를 선택합니다.
IPv6 공용 IP 주소 만들기
포털 상단의 검색 상자에 공용 IP 주소 를 입력합니다. 검색 결과에서 공용 IP 주소 를 선택합니다.
+ 만들기 를 선택합니다.
공용 IP 주소 만들기 에서 다음 정보를 입력하거나 선택합니다.
설정
값
프로젝트 세부 정보
Subscription
구독을 선택합니다.
Resource group
myResourceGroup 을 선택합니다.
위치
미국 동부 2 를 선택합니다.
가용성 영역
영역 중복 을 선택합니다.
인스턴스 세부 정보
이름
myPublicIP-IPv6 을 입력합니다.
IP 버전
IPv6 을 선택합니다.
SKU
기본값인 표준 을 그대로 둡니다.
계층
지역 (기본값)을 그대로 둡니다.
IP 주소 할당
DNS 이름 레이블
myPublicIP-IPv6 을 입력합니다.
검토 + 만들기 를 선택한 후 만들기 를 선택합니다.
이 섹션에서는 Azure CLI를 사용하여 IPv4와 IPv6의 두 개의 공용 IP 주소를 만듭니다.
az network public-ip create 를 사용하여 공용 IP 주소를 만듭니다.
az network public-ip create \
--resource-group myResourceGroup \
--name myPublicIP-Ipv4 \
--sku Standard \
--version IPv4 \
--zone 1 2 3
az network public-ip create \
--resource-group myResourceGroup \
--name myPublicIP-Ipv6 \
--sku Standard \
--version IPv6 \
--zone 1 2 3
이 섹션에서는 두 개의 공용 IP 주소(IPv4 및 IPv6)를 만듭니다.
New-AzPublicIpAddress 를 사용하여 공용 IP 주소를 만듭니다.
$ip4 = @{
Name = 'myPublicIP-IPv4'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
IpAddressVersion = 'IPv4'
Zone = 1,2,3
}
New-AzPublicIpAddress @ip4
$ip6 = @{
Name = 'myPublicIP-IPv6'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
IpAddressVersion = 'IPv6'
Zone = 1,2,3
}
New-AzPublicIpAddress @ip6
가상 머신 만들기
이 섹션에서는 가상 머신 및 해당 지원 리소스를 만듭니다.
가상 머신 만들기
포털 맨 위에 있는 검색 상자에 가상 머신 을 입력합니다. 검색 결과에서 가상 머신 을 선택합니다.
+ 만들기 를 선택한 다음 Azure 가상 머신 을 선택합니다.
기본 탭에서 다음 정보를 입력하거나 선택합니다.
설정
값
프로젝트 세부 정보
Subscription
구독을 선택합니다.
Resource group
myResourceGroup 을 선택합니다.
인스턴스 세부 정보
가상 머신 이름
myVM 을 입력합니다.
지역
미국 동부 2 를 선택합니다.
가용성 옵션
인프라 중복이 필요하지 않습니다. 를 선택합니다.
보안 유형
표준 을 선택합니다.
이미지
Ubuntu Server 20.04 LTS - Gen2 를 선택합니다.
크기
기본 크기를 선택합니다.
관리자 계정
인증 유형
SSH 공개 키 를 선택합니다.
사용자 이름
사용자 이름을 입력합니다.
SSH 공개 키 원본
새 키 쌍 생성 을 선택합니다.
키 쌍 이름
mySSHKey 를 입력합니다.
인바운드 포트 규칙
공용 인바운드 포트
없음 을 선택합니다.
네트워킹 탭 또는 다음: 디스크 를 선택한 후 다음: 네트워킹 을 선택합니다.
네트워킹 탭에서 다음 정보를 입력하거나 선택합니다.
설정
값
네트워크 인터페이스
가상 네트워크
myVNet 을 선택합니다.
서브넷
myBackendSubnet(10.1.0.0/24,2404:f800:8000:122:/64) 을 선택합니다.
공용 IP
myPublicIP-IPv4 를 선택합니다.
NIC 네트워크 보안 그룹 추가
고급 을 선택합니다.
네트워크 보안 그룹 구성
새로 만들기 를 선택합니다. 이름에 myNSG 를 입력합니다. 확인 을 선택합니다.
검토 + 만들기 를 선택합니다.
만들기 를 선택합니다.
새 키 쌍 생성 이 나타납니다. 프라이빗 키 다운로드 및 리소스 만들기 를 선택합니다.
프라이빗 키가 로컬 컴퓨터에 다운로드됩니다. 프라이빗 키를 컴퓨터의 디렉터리에 복사합니다. 다음 예에서는 ~/.ssh 입니다.
만드는 동안 네트워크 인터페이스가 자동으로 만들어져 선택한 가상 네트워크에 연결됩니다. 이 섹션에서는 기존 네트워크 인터페이스에 IPv6 구성을 추가합니다.
포털 맨 위에 있는 검색 상자에 가상 머신 을 입력합니다. 검색 결과에서 가상 머신 을 선택합니다.
myVM 또는 기존 가상 머신 이름을 선택합니다.
설정 에서 네트워킹 을 선택합니다.
기본 네트워크 인터페이스의 이름은 myvmxx 이며 xx는 임의의 숫자입니다. 이 예에서는 myvm281 입니다. 네트워크 인터페이스: 옆에 있는 myvm281 을 선택합니다.
네트워크 인터페이스의 속성에서 설정 의 IP 구성 을 선택합니다.
IP 구성 에서 + 추가 를 선택합니다.
IP 구성 추가 에서 다음 정보를 입력하거나 선택합니다.
설정
값
속성
Ipv6config 를 입력합니다.
IP 버전
IPv6 을 선택합니다.
개인 IP 주소 설정
할당
기본값인 동적 을 그대로 둡니다.
공용 IP 주소
연결 을 선택합니다.
공용 IP 주소
myPublicIP-IPv6 을 선택합니다.
확인 을 선택합니다.
이 섹션에서는 가상 머신 및 해당 지원 리소스를 만듭니다.
네트워크 인터페이스 만들기
az network nic create 를 사용하여 가상 머신에 대한 네트워크 인터페이스를 만듭니다. 이전에 만든 공용 IP 주소와 NSG는 NIC와 연결됩니다. 네트워크 인터페이스는 이전에 만든 가상 네트워크에 연결됩니다.
az network nic create \
--resource-group myResourceGroup \
--name myNIC1 \
--vnet-name myVNet \
--subnet myBackEndSubnet \
--network-security-group myNSG \
--public-ip-address myPublicIP-IPv4
IPv6 IP 구성 만들기
az network nic ip-config create 를 사용하여 NIC에 대한 IPv6 구성을 만듭니다.
az network nic ip-config create \
--resource-group myResourceGroup \
--name myIPv6config \
--nic-name myNIC1 \
--private-ip-address-version IPv6 \
--vnet-name myVNet \
--subnet myBackendSubnet \
--public-ip-address myPublicIP-IPv6
가상 머신 만들기
az vm create 를 사용하여 가상 머신을 만듭니다.
az vm create \
--resource-group myResourceGroup \
--name myVM \
--nics myNIC1 \
--image Ubuntu2204 \
--admin-username azureuser \
--authentication-type ssh \
--generate-ssh-keys
이 섹션에서는 가상 머신 및 해당 지원 리소스를 만듭니다.
네트워크 인터페이스 만들기
New-AzNetworkInterface 및 New-AzNetworkInterfaceIpConfig 를 사용하여 가상 머신에 대한 네트워크 인터페이스를 만듭니다. 이전에 만든 공용 IP 주소와 NSG는 NIC와 연결됩니다. 네트워크 인터페이스는 이전에 만든 가상 네트워크에 연결됩니다.
## Place the virtual network into a variable. ##
$net = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net
## Place the network security group into a variable. ##
$ns = @{
Name = 'myNSG'
ResourceGroupName = 'myResourceGroup'
}
$nsg = Get-AzNetworkSecurityGroup @ns
## Place the IPv4 public IP address into a variable. ##
$pub4 = @{
Name = 'myPublicIP-IPv4'
ResourceGroupName = 'myResourceGroup'
}
$pubIPv4 = Get-AzPublicIPAddress @pub4
## Place the IPv6 public IP address into a variable. ##
$pub6 = @{
Name = 'myPublicIP-IPv6'
ResourceGroupName = 'myResourceGroup'
}
$pubIPv6 = Get-AzPublicIPAddress @pub6
## Create IPv4 configuration for NIC. ##
$IP4c = @{
Name = 'ipconfig-ipv4'
Subnet = $vnet.Subnets[0]
PrivateIpAddressVersion = 'IPv4'
PublicIPAddress = $pubIPv4
}
$IPv4Config = New-AzNetworkInterfaceIpConfig @IP4c
## Create IPv6 configuration for NIC. ##
$IP6c = @{
Name = 'ipconfig-ipv6'
Subnet = $vnet.Subnets[0]
PrivateIpAddressVersion = 'IPv6'
PublicIPAddress = $pubIPv6
}
$IPv6Config = New-AzNetworkInterfaceIpConfig @IP6c
## Command to create network interface for VM ##
$nic = @{
Name = 'myNIC1'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
NetworkSecurityGroup = $nsg
IpConfiguration = $IPv4Config,$IPv6Config
}
New-AzNetworkInterface @nic
가상 머신 만들기
다음 명령을 사용하여 가상 머신을 만듭니다.
$cred = Get-Credential
## Place network interface into a variable. ##
$nic = @{
Name = 'myNIC1'
ResourceGroupName = 'myResourceGroup'
}
$nicVM = Get-AzNetworkInterface @nic
## Create a virtual machine configuration for VMs ##
$vmsz = @{
VMName = 'myVM'
VMSize = 'Standard_DS1_v2'
}
$vmos = @{
ComputerName = 'myVM'
Credential = $cred
}
$vmimage = @{
PublisherName = 'Debian'
Offer = 'debian-11'
Skus = '11'
Version = 'latest'
}
$vmConfig = New-AzVMConfig @vmsz `
| Set-AzVMOperatingSystem @vmos -Linux `
| Set-AzVMSourceImage @vmimage `
| Add-AzVMNetworkInterface -Id $nicVM.Id
## Create the virtual machine for VMs ##
$vm = @{
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
VM = $vmConfig
SshKeyName = 'mySSHKey'
}
New-AzVM @vm -GenerateSshKey
SSH 연결 테스트
SSH를 사용하여 가상 머신에 연결하여 IPv4 공용 IP 주소를 테스트합니다.
포털 상단의 검색 상자에 공용 IP 주소 를 입력합니다. 검색 결과에서 공용 IP 주소 를 선택합니다.
myPublicIP-IPv4 를 선택합니다.
공용 IPv4 주소는 IP 주소 의 개요 에 있습니다. 이 예제에서는 20.22.46.19 입니다.
다음 명령을 사용하여 가상 머신에 대한 SSH 연결을 엽니다. IP 주소를 가상 머신의 IP 주소로 바꿉니다. azureuser
를 가상 머신 만들기 중에 선택한 사용자 이름으로 바꿉니다. -i
는 이전에 다운로드한 프라이빗 키의 경로입니다. 이 예에서는 ~/.ssh/mySSHKey.pem 입니다.
ssh -i ~/.ssh/mySSHkey.pem azureuser@20.22.46.19
az network public-ip show 를 사용하여 가상 머신의 IP 주소를 표시합니다.
az network public-ip show \
--resource-group myResourceGroup \
--name myPublicIP-IPv4 \
--query ipAddress \
--output tsv
user@Azure:~$ az network public-ip show \
> --resource-group myResourceGroup \
> --name myPublicIP-IPv4 \
> --query ipAddress \
> --output tsv
20.119.201.208
az network public-ip show \
--resource-group myResourceGroup \
--name myPublicIP-IPv6 \
--query ipAddress \
--output tsv
user@Azure:~$ az network public-ip show \
> --resource-group myResourceGroup \
> --name myPublicIP-IPv6 \
> --query ipAddress \
> --output tsv
2603:1030:408:6::9d
다음 명령을 사용하여 가상 머신에 대한 SSH 연결을 엽니다. IP 주소를 가상 머신의 IP 주소로 바꿉니다.
ssh azureuser@20.119.201.208
Get-AzPublicIpAddress 를 사용하여 가상 머신의 IP 주소를 표시합니다.
$ip4 = @{
ResourceGroupName = 'myResourceGroup'
Name = 'myPublicIP-IPv4'
}
Get-AzPublicIPAddress @ip4 | select IpAddress
PS /home/user> Get-AzPublicIPAddress @ip4 | select IpAddress
IpAddress
---------
20.72.115.187
$ip6 = @{
ResourceGroupName = 'myResourceGroup'
Name = 'myPublicIP-IPv6'
}
Get-AzPublicIPAddress @ip6 | select IpAddress
PS /home/user> Get-AzPublicIPAddress @ip6 | select IpAddress
IpAddress
---------
2603:1030:403:3::1ca
다음 명령을 사용하여 가상 머신에 대한 SSH 연결을 엽니다. IP 주소를 가상 머신의 IP 주소로 바꿉니다.
ssh azureuser@20.72.115.187
리소스 정리
이 문서에서 만든 리소스를 완료하면 리소스 그룹과 여기에 포함된 모든 리소스를 삭제합니다.
포털 맨 위에 있는 검색 상자에 myResourceGroup 을 입력합니다. 리소스 그룹 의 검색 결과에서 myResourceGroup 을 선택합니다.
리소스 그룹 삭제 를 선택합니다.
리소스 그룹 이름 입력 에 대해 myResourceGroup 을 입력하고 삭제 를 선택합니다.
더 이상 필요하지 않은 경우 az group delete 명령을 사용하여 리소스 그룹, 가상 머신 및 모든 관련 리소스를 제거합니다.
az group delete \
--name myResourceGroup
더 이상 필요하지 않은 경우 Remove-AzResourceGroup 명령을 사용하여 리소스 그룹, 가상 머신 및 모든 관련 리소스를 제거합니다.
Remove-AzResourceGroup -Name 'myResourceGroup'
다음 단계
이 문서에서는 이중 스택 네트워크와 함께 Azure 가상 머신을 만드는 방법을 알아보았습니다.
Azure의 IPv6 및 IP 주소에 대한 자세한 내용은 다음을 참조하세요.