AzureCLIïŒazã³ãã³ãïŒãå©çšããŠNSGãäœæãã倿Žãå ããæåŸã«åé€ãããšããäžé£ã®æµãã詊ããŠã¿ãã®ã§ãã®ããæ¹ãã³ãã³ãäŸã泚æç¹ãªã©ã玹ä»ããŠãããŸãã
NSGã«å€æŽãå ããã³ãã³ãäžèЧ
NSGèªäœã«å€æŽãå ããã³ãã³ããšNSGã®ã«ãŒã«ã«å€æŽãå ããã³ãã³ãã§å°ãã ãå 容ãç°ãªããŸãã
NSGèªäœã«å€æŽãå ããã³ãã³ãïŒaz network nsg âŠïŒ
| az network nsg create | ãããã¯ãŒã¯ ã»ãã¥ãªã㣠ã°ã«ãŒããäœæããŸãã |
| az network nsg delete | ãããã¯ãŒã¯ã»ãã¥ãªãã£ã°ã«ãŒããåé€ããŸãã |
| az network nsg list | ãããã¯ãŒã¯ã»ãã¥ãªãã£ã°ã«ãŒããäžèŠ§è¡šç€ºããŸãã |
| az network nsg show | ãããã¯ãŒã¯ã»ãã¥ãªãã£ã°ã«ãŒãã«é¢ããæ å ±ãååŸããŸãã |
| az network nsg update | ãããã¯ãŒã¯ã»ãã¥ãªãã£ã°ã«ãŒããæŽæ°ããŸãã |
NSGã®ã«ãŒã«ã«å€æŽãå ããã³ãã³ãïŒaz network nsg rule âŠïŒ
| az network nsg rule create | ãããã¯ãŒã¯ã»ãã¥ãªãã£ã°ã«ãŒãã®èŠåãäœæããŸãã |
| az network nsg rule delete | ãããã¯ãŒã¯ã»ãã¥ãªãã£ã°ã«ãŒãã®èŠåãåé€ããŸãã |
| az network nsg rule list | ãããã¯ãŒã¯ã»ãã¥ãªãã£ã°ã«ãŒãå ã®ãã¹ãŠã®èŠåãäžèŠ§è¡šç€ºããŸãã |
| az network nsg rule show | ãããã¯ãŒã¯ã»ãã¥ãªãã£ã°ã«ãŒãã®èŠåã®è©³çްãååŸããŸãã |
| az network nsg rule update | ãããã¯ãŒã¯ã»ãã¥ãªãã£ã°ã«ãŒãã®èŠåãæŽæ°ããŸãã |
| az network nsg show | ãããã¯ãŒã¯ã»ãã¥ãªãã£ã°ã«ãŒãã«é¢ããæ å ±ãååŸããŸãã |
| az network nsg update | ãããã¯ãŒã¯ã»ãã¥ãªãã£ã°ã«ãŒããæŽæ°ããŸãã |
ãã®èšäºã§å®æœããå 容
NSGã®äœæããåé€ãŸã§äžéãã®ã³ãã³ãã詊ããŠã¿ãŸãã
æµããšããŠã¯ä»¥äžã®éãã§ãã
- NSGãäœæãã
- NSGã«ã«ãŒã«ã远å ãã
- NSGã«è¿œå ããã«ãŒã«ã«å€æŽãå ãã
- NSGãåé€ãã
ä»åã¯ã€ã³ã¿ãŒãã§ãŒã¹ãšããŠpowershellãå©çšããŠããŸãã
1.NSGãäœæãã
NSGã®äœæã«ã¯äºåã«ãªãœãŒã¹ã°ã«ãŒãïŒRGïŒãäœæããŠããå¿ èŠãããã®ã§ãRGã䜵ããŠäœæããŸãã
ãæ±æ¥æ¬ããªãŒãžã§ã³ã«ãTest-RGããšããååã®RGãäœæãããã®äžã«ãTest-NSGããäœæããŸãã
#RGã®äœæ
az group create -n "Test-RG" -l "japaneast"
#NSGã®äœæ
az network nsg create -n "Test-NSG" -g "Test-RG"å°ãRGã倿°ãšããŠæž¡ã以äžã®ããã«äœæããããšãã§ããŸãã
å®è¡ããŠããå 容ã¯åãã§ãã
$rg = az group create -n "Test-RG" -l "japaneast" | ConvertFrom-Json
az network nsg create -n "Test-NSG" -g $rg.nameå®è¡åŸä»¥äžã®ããã«åºåãèŠããŠããã°äœæå®äºã§ãã

ãaz network nsg listããå©çšããŠäœæãããŠããããšã確èªããŸãã
az network nsg list | select-string "Test-NSG"
2.NSGã«ã«ãŒã«ã远å ãã
äžèšã§äœæãããTest-NSGãã«ãSSHããšããã«ãŒã«ã远å ããŸãã
az network nsg rule create -g "Test-RG" --nsg-name "Test-NSG" -n "SSH" --source-address-prefixes 1.1.1.1/32 --destination-port-range 22 --priority 200åªå 床ïŒ200ãéä¿¡å ããŒãïŒ22ãéä¿¡å IPã¢ãã¬ã¹ã¯ã1.1.1.1/32ãããã®ã¿èš±å¯ããèšå®ãšããŠããŸãã
å®è¡åŸä»¥äžã®ããã«åºåãèŠããŠããã°äœæå®äºã§ãã

ãaz network nsg rule showããå©çšããŠäœæãããŠããããšã確èªããŸãã
az network nsg rule show -g "Test-RG" --nsg-name "Test-NSG" -n "SSH"
ã«ãŒã«äœææã«åºåãããå 容ãšåããã®ã確èªã§ããããšæããŸãã
ãåèãã«ãŒã«äœææã«ãã©ã¡ãŒã¿ãæå®ããã«äœæãããšã©ããªãã®ãïŒ
ã«ãŒã«äœææã«ãã©ã¡ãŒã¿ãæå®ããã«äœæãããšã©ããªãã®ãïŒãã«ã€ããŠæ°ã«ãªã£ãã®ã§å®éã«ãã£ãŠã¿ãŸããã
ã«ãŒã«åã ããDefaultããšæå®ãããã®ã»ãã®ãã©ã¡ãŒã¿ã¯æå®ããã«äœæããŠã¿ãŸãã
az network nsg rule create -g "Test-RG" --nsg-name "Test-NSG" -n "Default"
ãåªå åºŠã¯æå®ããŠãã ããããšãšã©ãŒãåãããæãããŸããããïŒã§ãããåæã«äŸæãŸã§åºåã«è¡šç€ºããŠãããŸããã®ã§ãšãŠãåªãã仿§ã§ãããç¬ïŒ
ãªã®ã§åªå 床ïŒ800ãšããŠååºŠäœæããŠã¿ãŸãã
az network nsg rule create -g "Test-RG" --nsg-name "Test-NSG" -n "Default" --priority 800
ä»åºŠã¯æåããŸããã
ãŸããããã©ã«ãå€ã¯ä»¥äžã®ããã«ãªã£ãŠããããšãããããŸããã
- èš±å¯ã®èšå®ã¯ãAllowãaccess”: “Allow”ïŒ
- éä¿¡å ã¯ãanyãdestinationAddressPrefix”: “*”ïŒ
- éä¿¡å ããŒãã¯ã80ãdestinationPortRange”: “80”ïŒ
- ã«ãŒã«ã®åãã¯ãåä¿¡èŠåãdirection”: “Inbound”ïŒ
- ãããã³ã«ã¯ãanyãprotocol”: “*”ïŒ
- éä¿¡å ããanyãsourceAddressPrefix”: “*”ïŒ
- éä¿¡å ããŒãããanyãsourcePortRange”: “*”ïŒ
ããã©ã«ãå€ã§èšå®ããããšã¯ããŸããªããšã¯æããŸãããããã©ã«ããåä¿¡èŠåã®èšå®ãªã®ã§ããæ¬æ¥éä¿¡èŠåãèšå®ãããã®ã«ééããŠåä¿¡èŠåãèšå®ããŠããŸãããšãã£ãééãã¯ãããããšæããã®ã§ãæå®ãããªãã·ã§ã³ãšããã©ã«ãå€ã¯èŠããŠãããã»ããããããã§ãã
3.NSGã«è¿œå ããã«ãŒã«ã«å€æŽãå ãã
äžèšã§äœæãããSSHããšããã«ãŒã«ã«å¯ŸããŠå€æŽãå ããŸãã
èš±å¯ããéä¿¡å IPã¢ãã¬ã¹ãã1.1.1.1/32ãâã20.20.20.20./32ããžãšå€æŽããŸãã
az network nsg rule update -g "Test-RG" --nsg-name "Test-NSG" -n "SSH" --source-address-prefixes 20.20.20.20/32å®è¡åŸä»¥äžã®ããã«åºåãèŠããŠããã°æŽæ°å®äºã§ãã

ãaz network nsg rule showããå©çšããŠæŽæ°ãããŠããããšã確èªããŸãã
az network nsg rule show -g "Test-RG" --nsg-name "Test-NSG" -n "SSH"
ã«ãŒã«äœææã«åºåãããå 容ãšåããã®ã確èªã§ããããšæããŸãã
4.NSGãåé€ãã
æåŸã«ãTest-NSGããåé€ããŸãã
az network nsg delete -n "Test-NSG" -g "Test-RG"ãã®ãšãã€ã³ã¿ãŒãã§ãŒã¹ã®åºåã«ã¯äœãåºãŸããã

ãaz network nsg listããå©çšããŠåé€ãããŠããããšã確èªããŸãã

NSGäœæåŸã®ç¢ºèªçµæãšç°ãªããããååšããªãããããã§ã¯çµæãåºåãããŸããã
ããã«ãŠåé€ãå®äºãšãªããŸãã
泚æç¹
ä»®æ³ãã·ã³äœææã«ããã©ã«ãå€ã§äœæãããNSGã¯ããã¹ãŠã®IPããã®RDP/SSHãèš±å¯ããã
ããã¯GUIã§äœæãããšããåãã§ãããä»®æ³ãã·ã³ãäœæããéã«ãç¹ã«NSGãæå®ããããšãªãããã©ã«ãå€ã§äœæãããNSGã¯ããã¹ãŠã®IPããã®RDP or SSHãèš±å¯ãããèšå®ã«ãªã£ãŠããã®ã§å€æŽããªããšæ»æå¯Ÿè±¡ãšãªã£ãŠããŸããŸãã
ãã®ããåºæ¬çã«ã¯NSGã¯äºåã«éä¿¡å ãå¶éããNSGãä»®æ³ãã·ã³äœææã«æå®ããŠäœæããããšãæšå¥šãšãããŠããŸãããããã©ã«ãå€ã§äœæããŠããŸã£ããªãäžèšã³ãã³ããªã©ãçšããŠå€æŽãå¿ èŠã§ãã
以äžã«å€æŽããéã®AzureCLIã®ã³ãã³ãäŸãèšèŒããŠãããŸãã
ãNSGåããšãRGåããšéä¿¡å ã®ã¢ãã¬ã¹åž¯ã¯é©å®å€æŽããŠå©çšããŠãã ããã
az network nsg rule update --name "rdp" --nsg-name "ãNSGåã" -g "ãRGåã" --source-address-prefixes 1.1.1.1/32
