가상 네트워크 서브넷에서 NAT 게이트웨이 리소스를 만들고 제거하는 방법을 알아봅니다. NAT 게이트웨이를 사용하면 Azure Virtual Network 리소스에 대한 아웃바운드 연결을 사용할 수 있습니다. 배포 후 변경된 NAT Gateway와 연결된 공용 IP 주소 및 공용 IP 주소 접두사를 변경할 수 있습니다.
PowerShell을 로컬로 설치하고 사용하도록 선택하는 경우 이 문서에는 Azure PowerShell 모듈 버전 5.4.1 이상이 필요합니다. 설치되어 있는 버전을 확인하려면 Get-Module -ListAvailable Az을 실행합니다. 업그레이드해야 하는 경우 Azure PowerShell 모듈 설치를 참조하세요.
PowerShell을 로컬로 실행하는 경우 Connect-AzAccount도 실행하여 Azure와의 연결을 만들어야 합니다.
Az.Network 모듈이 4.3.0 이상인지 확인합니다. 설치된 모듈을 확인하려면 Get-InstalledModule -Name "Az.Network" 명령을 사용합니다. 모듈에 업데이트가 필요한 경우 Update-Module -Name Az.Network 명령을 사용합니다.
CLI 참조 명령을 로컬에서 실행하려면 Azure CLI를 설치합니다. Windows 또는 macOS에서 실행 중인 경우 Docker 컨테이너에서 Azure CLI를 실행하는 것이 좋습니다. 자세한 내용은 Docker 컨테이너에서 Azure CLI를 실행하는 방법을 참조하세요.
로컬 설치를 사용하는 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다. 인증 프로세스를 완료하려면 터미널에 표시되는 단계를 수행합니다. 다른 로그인 옵션은 Azure CLI를 사용하여 로그인을 참조하세요.
메시지가 표시되면 처음 사용할 때 Azure CLI 확장을 설치합니다. 확장에 대한 자세한 내용은 Azure CLI에서 확장 사용을 참조하세요.
Azure Portal 상단의 검색 상자에 NAT Gateway를 입력합니다. 검색 결과에서 NAT 게이트웨이를 선택합니다.
nat-gateway를 선택합니다.
설정에서 서브넷을 선택합니다.
모든 서브넷에서 NAT 게이트웨이를 제거하려면 연결 해제를 선택합니다.
여러 서브넷 중 하나에서만 NAT 게이트웨이를 제거하려면 서브넷 옆에 있는 확인란의 선택을 취소하고 저장을 선택합니다.
이제 NAT 게이트웨이를 구독의 다른 서브넷 또는 가상 네트워크에 연결할 수 있습니다. NAT 게이트웨이 리소스를 삭제하려면 다음 단계를 완료합니다.
Azure Portal 상단의 검색 상자에 NAT Gateway를 입력합니다. 검색 결과에서 NAT 게이트웨이를 선택합니다.
nat-gateway를 선택합니다.
삭제를 선택합니다.
예를 선택합니다.
Set-AzVirtualNetworkSubnetConfig를 사용하여 값을 $null 설정하여 서브넷에서 NAT 게이트웨이 연결을 제거합니다. Set-AzVirtualNetwork를 사용하여 가상 네트워크 구성을 업데이트합니다.
# Specify the resource group and NAT gateway name
$resourceGroupName = "test-rg"
# Specify the virtual network name and subnet name
$virtualNetworkName = "vnet-1"
$subnetName = "subnet-1"
# Get the virtual network
$vnet = @{
Name = $virtualNetworkName
ResourceGroupName = $resourceGroupName
}
$virtualNetwork = Get-AzVirtualNetwork @vnet
# Get the subnet
$subnet = $virtualNetwork.Subnets | Where-Object {$_.Name -eq $subnetName}
# Remove the NAT gateway association from the subnet
$subnet.NatGateway = $null
# Update the subnet configuration
$subConfig = @{
Name = $subnetName
VirtualNetwork = $virtualNetwork
AddressPrefix = $subnet.AddressPrefix
}
Set-AzVirtualNetworkSubnetConfig @subConfig
# Update the virtual network
Set-AzVirtualNetwork -VirtualNetwork $virtualNetwork
Azure Portal 상단의 검색 상자에 공용 IP 주소를 입력합니다. 검색 결과에서 공용 IP 주소를 선택합니다.
만들기를 실행합니다.
공용 IP 주소 만들기에 다음 정보를 입력합니다.
설정
값
Subscription
구독을 선택합니다.
Resource group
리소스 그룹을 선택합니다. 이 예제에서는 test-rg를 사용합니다.
지역
지역을 선택합니다. 이 예에서는 미국 동부 2를 사용합니다.
속성
public-ip-nat2를 입력 합니다.
IP 버전
IPv4를 선택합니다.
SKU
표준을 선택합니다.
가용성 영역
기본값인 영역 중복을 선택합니다.
계층
지역을 선택합니다.
검토 + 생성를 선택한 다음, 생성를 선택합니다.
Azure Portal 상단의 검색 상자에 NAT Gateway를 입력합니다. 검색 결과에서 NAT 게이트웨이를 선택합니다.
nat-gateway를 선택합니다.
설정에서 아웃바운드 IP를 선택합니다.
NAT 게이트웨이와 연결된 IP 주소 및 접두사가 표시됩니다. 공용 IP 주소 옆에 있는 변경을 선택합니다.
공용 IP 주소 옆에 있는 IP 주소 드롭다운을 선택합니다. NAT Gateway에 추가하기 위해 만든 IP 주소를 선택합니다. 주소를 제거하려면 선택을 취소합니다.
확인을 선택합니다.
저장을 선택합니다.
공용 IP 주소 추가
NAT Gateway에 공용 IP 주소를 추가하려면 현재 IP 주소와 함께 배열 개체에 추가합니다. PowerShell cmdlet은 모든 주소를 바꿉니다.
이 예제에서는 NAT 게이트웨이와 연결된 기존 IP 주소의 이름을 public-ip-nat로 지정 합니다. 이 값을 public-ip-nat 및 새 IP 주소를 모두 포함하는 배열로 대체합니다. 여러 IP 주소가 이미 구성되어 있는 경우 해당 주소도 배열에 추가해야 합니다.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP address associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
}
$publicIP1 = Get-AzPublicIPaddress @ip
## Place the public IP address you created previously into a variable. ##
$ip = @{
Name = 'public-ip-nat2'
ResourceGroupName = 'test-rg'
}
$publicIP2 = Get-AzPublicIPaddress @ip
## Place the public IP address variables into an array. ##
$pipArray = $publicIP1,$publicIP2
## Add the IP address to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpAddress = $pipArray
}
Set-AzNatGateway @nt
공용 IP 주소 제거
NAT Gateway에서 공용 IP를 제거하려면 제거하려는 IP 주소를 포함하지 않는 배열 개체를 만듭니다. 예를 들어 두 개의 공용 IP 주소로 구성된 NAT 게이트웨이가 있습니다. IP 주소 중 하나를 제거하려고 합니다. NAT 게이트웨이와 연결된 IP 주소의 이름은 public-ip-nat 및 public-ip-nat2입니다. public-ip-nat2를 제거하려면 public-ip-nat만 포함하는 PowerShell 명령에 대한 배열 개체를 만듭니다. 명령을 적용하면 배열이 NAT 게이트웨이에 다시 적용되고 public-ip-nat는 연결된 유일한 공용 IP 주소입니다.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP address associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
}
$publicIP1 = Get-AzPublicIPaddress @ip
## Place the second public IP address into a variable. ##
$ip = @{
Name = 'public-ip-nat2'
ResourceGroupName = 'test-rg'
}
$publicIP2 = Get-AzPublicIPAddress @ip
## Place ONLY the public IP you wish to keep in the array. ##
$pipArray = $publicIP1
## Add the public IP address to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpAddress = $pipArray
}
Set-AzNatGateway @nt
공용 IP 주소 추가
이 예제에서는 NAT 게이트웨이와 연결된 기존 공용 IP 주소의 이름을 public-ip-nat로 지정 합니다.
az network public-ip create \
--resource-group test-rg \
--location eastus2 \
--name public-ip-nat2 \
--sku standard
az network nat gateway update를 사용하여 만든 공용 IP 주소를 NAT Gateway에 추가합니다. Azure CLI 명령은 값을 바꿉니다. 새로운 값을 추가하지 않습니다. NAT Gateway에 새 IP 주소를 추가하려면 NAT Gateway와 연결된 다른 모든 IP 주소도 포함해야 합니다.
az network nat gateway update를 사용하여 NAT 게이트웨이에서 공용 IP 주소를 제거합니다. Azure CLI 명령은 값을 바꿉니다. 값을 제거하지 않습니다. 공용 IP 주소를 제거하려면 유지하려는 명령에 IP 주소를 포함합니다. 제거할 값을 생략합니다. 예를 들어 두 개의 공용 IP 주소로 구성된 NAT 게이트웨이가 있습니다. IP 주소 중 하나를 제거하려고 합니다. NAT 게이트웨이와 연결된 IP 주소의 이름은 public-ip-nat 및 public-ip-nat2입니다. public-ip-nat2를 제거하려면 명령에서 IP 주소의 이름을 생략합니다. 이 명령은 명령에 나열된 IP 주소를 NAT Gateway에 다시 적용합니다. 목록에 없는 모든 IP 주소를 제거합니다.
Azure Portal 상단의 검색 상자에 공용 IP 접두사를 입력합니다. 검색 결과에서 공용 IP 접두사를 선택합니다.
만들기를 실행합니다.
공용 IP 접두사 만들기의 기본 탭에 다음 정보를 입력합니다.
설정
값
프로젝트 세부 정보
Subscription
구독을 선택합니다.
Resource group
리소스 그룹을 선택합니다. 이 예제에서는 test-rg를 사용합니다.
인스턴스 세부 정보
속성
public-ip-prefix-nat를 입력 합니다.
지역
지역을 선택합니다. 이 예에서는 미국 동부 2를 사용합니다.
IP 버전
IPv4를 선택합니다.
접두사 소유권
Microsoft 소유를 선택합니다.
접두사 크기
접두사 크기를 선택합니다. 이 예에서는 /28(주소 16개)을 사용합니다.
검토 + 생성를 선택한 다음, 생성를 선택합니다.
Azure Portal 상단의 검색 상자에 NAT Gateway를 입력합니다. 검색 결과에서 NAT 게이트웨이를 선택합니다.
nat-gateway를 선택합니다.
설정에서 아웃바운드 IP를 선택합니다.
이 페이지에는 NAT Gateway와 연결된 IP 주소 및 접두사가 표시됩니다. 공용 IP 접두사 옆에 있는 변경을 선택합니다.
공용 IP 접두사 옆에 있는 드롭다운 상자를 선택합니다. NAT Gateway에 접두사를 추가하기 위해 만든 IP 주소 접두사를 선택합니다. 접두사를 제거하려면 선택을 취소합니다.
확인을 선택합니다.
저장을 선택합니다.
공용 IP 접두사 추가
NAT Gateway에 공용 IP 접두사를 추가하려면 현재 IP 접두사와 함께 배열 개체에 추가합니다. PowerShell cmdlet은 모든 IP 접두사를 바꿉니다.
이 예제에서는 NAT 게이트웨이와 연결된 기존 공용 IP 접두사 이름을 public-ip-prefix-nat로 지정 합니다. 이 값을 public-ip-prefix-nat 및 새 IP 주소 접두사를 모두 포함하는 배열로 대체합니다. 여러 IP 접두사가 이미 구성되어 있는 경우 배열에도 추가해야 합니다.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP prefix associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat'
ResourceGroupName = 'test-rg'
}
$prefixIP1 = Get-AzPublicIPPrefix @ip
## Place the public IP prefix you created previously into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat2'
ResourceGroupName = 'test-rg'
}
$prefixIP2 = Get-AzPublicIPprefix @ip
## Place the public IP address variables into an array. ##
$preArray = $prefixIP1,$prefixIP2
## Add the IP address prefix to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpPrefix = $preArray
}
Set-AzNatGateway @nt
공용 IP 접두사 제거
NAT Gateway에서 공용 IP 접두사를 제거하려면 제거하려는 IP 주소 접두사를 포함하지 않는 배열 개체를 만듭니다. 예를 들어 두 개의 공용 IP 접두사로 구성된 NAT 게이트웨이가 있습니다. IP 접두사 중 하나를 제거하려고 합니다. NAT 게이트웨이와 연결된 IP 접두사는 public-ip-prefix-nat 및 public-ip-prefix-nat2로 명명됩니다. public-ip-prefix-nat2를 제거하려면 public-ip-prefix-nat만 포함하는 PowerShell 명령에 대한 배열 개체를 만듭니다. 명령을 적용하면 배열이 NAT 게이트웨이에 다시 적용되고 public-ip-prefix-nat가 연결된 유일한 접두사입니다.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP prefix associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat'
ResourceGroupName = 'test-rg'
}
$prefixIP1 = Get-AzPublicIPPrefix @ip
## Place the secondary public IP prefix into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat2'
ResourceGroupName = 'test-rg'
}
$prefixIP2 = Get-AzPublicIPprefix @ip
## Place ONLY the prefix you wish to keep in the array. DO NOT ADD THE SECONDARY VARIABLE ##
$preArray = $prefixIP1
## Add the IP address prefix to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpPrefix = $preArray
}
Set-AzNatGateway @nt
공용 IP 접두사 추가
이 예제에서는 NAT 게이트웨이와 연결된 기존 공용 IP 접두사 이름을 public-ip-prefix-nat로 지정 합니다.
az network nat gateway update를 사용하여 만든 공용 IP 접두사를 NAT Gateway에 추가합니다. Azure CLI 명령은 값을 바꿉니다. 값을 추가하지 않습니다. NAT Gateway에 새 IP 주소 접두사를 추가하려면 NAT Gateway에 연결된 다른 IP 접두사도 포함해야 합니다.
az network nat gateway update를 사용하여 NAT 게이트웨이에서 공용 IP 접두사를 제거합니다. Azure CLI 명령은 값을 바꿉니다. 값을 제거하지 않습니다. 공용 IP 접두사를 제거하려면 유지하려는 명령에 접두사를 포함합니다. 제거하려는 항목을 생략합니다. 예를 들어 두 개의 공용 IP 접두사로 구성된 NAT 게이트웨이가 있습니다. 접두사 중 하나를 제거하려고 합니다. NAT 게이트웨이와 연결된 IP 접두사는 public-ip-prefix-nat 및 public-ip-prefix-nat2로 명명됩니다. public-ip-prefix-nat2를 제거하려면 명령에서 IP 접두사 이름을 생략합니다. 이 명령은 명령에 나열된 IP 접두사를 NAT Gateway에 다시 적용합니다. 목록에 없는 모든 IP 주소를 제거합니다.