기존 NSG의 구성 정보와 규칙을 Azure Resource Manager Template (Json) 형태로 내보낸 후 몇 가지 매개 변수(Parameters)들을 수정하여 새로운 NSG를 생성하는 방법을 설명합니다.
예를 들어, NSG에 수십, 수백개의 규칙을 등록해서 사용 중인 상황에서
동일한 규칙을 가진 새로운 이름의 NSG를 생성하거나, NSG를 다른 지역으로 복사할 때 사용하는 방법입니다.
예제에서는 Azure Korea Central의 NSG(PUB1-T1-SN-NSG)를 json 파일로 Export 후, Korea South에 새로운 NSG(koreasouth-nsg)로 배포합니다.
<참고 - 원본 NSG>
1. 원본 NSG를 .json 파일로 내보내기
아래 Script에서 $resourceGroupName과 $nsgName을 실제 사용 환경에 맞게 수정합니다.
$resourceGroupName = "PUB1-NW-RG"
$nsgName = "PUB1-T1-SN-NSG"
$sourceNSGID = (Get-AzNetworkSecurityGroup -Name $nsgName -ResourceGroupName $resourceGroupName).Id
Export-AzResourceGroup -ResourceGroupName $resourceGroupName -Resource $sourceNSGID -IncludeParameterDefaultValue
스크립트 실행 결과로 '리소스 그룹 명.json' 파일이 만들어집니다.
2. .json 파일 수정
json 파일을 수정합니다.
수정 대상
-
parameters
-
networkSecurityGroups_PUB1_T1_SN_NSG_name 의 defaultValue (PUB1-T1-SN-NSG -> koreasouth-nsg)
-
resources
-
location (koreacentral -> koreasouth)
.json 파일을 저장합니다.
3. 대상 지역에 새 Resource Group 생성
대상 지역(koreasouth)에 아래와 같이 새 Resource Group (KRSOUTH-NW-RG)을 만듭니다.
$newResourceGroupName = "KRSOUTH-NW-RG"
$newLocation = "koreasouth"
New-AzResourceGroup -Name $newResourceGroupName -location $newLocation
4. 새 NSG 배포
New-AzResourceGroupDeployment 명령을 사용하여 새 NSG를 배포합니다.
$templateFile = "D:\move-nsg\PUB1-NW-RG.json"
New-AzResourceGroupDeployment -ResourceGroupName $newResourceGroupName -TemplateFile $templateFile
json 템플릿을 이용한 배포이기 때문에, Resource Group의 Deployments 메뉴에서 배포 상태를 확인할 수 있습니다.
새로 배포된 NSG를 확인해보면 지역은 다르지만, 기존 NSG와 동일한 규칙을 가지고 있습니다.
-끝-
'Microsoft > Azure' 카테고리의 다른 글
Azure NSG Flow log #2 - 활성화 (0) | 2020.09.26 |
---|---|
Azure NSG Flow log #1 - Overview (0) | 2020.09.26 |
Azure Cache for Redis 연결 테스트 - Node.js 사용 (0) | 2020.09.17 |
Azure Standard Internal Load Balancer의 Backend VM 인터넷 연결 허용 - NAT Gateway (0) | 2020.09.17 |
Azure Bastion 배포 및 사용 방법 (0) | 2020.09.13 |