Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
こんにちは! Azure サポートの 大塚です。今回は、既に作成してある NSG(Network Security Group) に対して、Azure PowerShell にて ルールの追加や削除を実施する方法をご紹介します。※NSG を初めて作成する場合はこちらをご確認ください。
はじめに..
Azure PowerShell をインストールしたら、まずはログインして、適切なサブスクリプションとリソースグループを選択します。
# ログインとサブスクリプション指定
Login-AzureRmAccount
Select-AzureRmSubscription -SubscriptionId "サブスクリプション ID"
# 既存の NSG に作成したすべてのルールを表示する方法
Get-AzureRmNetworkSecurityGroup -Name "NSG の名前" -ResourceGroupName "リソースグループ名"
※出力結果の中の [SecurityRules] に表示されている内容が、お客様側で作成したルールです。
■ 既存の NSG にルールを追加する方法
# NSG の情報を取得します。
$nsg = Get-AzureRmNetworkSecurityGroup -Name "NSG の名前" -ResourceGroupName "リソースグループ名"
# 取得した NSG に任意のルールを作成します。
Add-AzureRmNetworkSecurityRuleConfig `
-Name "新規作成するルールの名前" `
-NetworkSecurityGroup $nsg `
-Description "ルールの説明" `
-Protocol "プロトコル" `
-SourcePortRange "ソースポート" `
-DestinationPortRange "宛先ポート" `
-SourceAddressPrefix "ソース IP レンジ" `
-DestinationAddressPrefix "宛先 IP レンジ" `
-Access "Deny / Allow" `
-Priority "優先度" `
-Direction "Inbound / Outbound"
# NSG の情報を更新します。
Set-AzureRmNetworkSecurityGroup -NetworkSecurityGroup $nsg
■ 既存のルールの内容を一部変更する方法
# NSG の情報を取得します。
$nsg = Get-AzureRmNetworkSecurityGroup -Name "NSG の名前" -ResourceGroupName "リソースグループ名"
# 変更したいルールの内容を設定します。
Set-AzureRmNetworkSecurityRuleConfig `
-Name "内容を変更したいルールの名前" `
-NetworkSecurityGroup $nsg `
-Description "ルールの説明" `
-Protocol "プロトコル" `
-SourcePortRange "ソースポート" `
-DestinationPortRange "宛先ポート" `
-SourceAddressPrefix "ソース IP レンジ" `
-DestinationAddressPrefix "宛先 IP レンジ" `
-Access "Deny / Allow" `
-Priority "優先度" `
-Direction "Inbound / Outbound"
# NSG の情報を更新します。
Set-AzureRmNetworkSecurityGroup -NetworkSecurityGroup $nsg
■ 既存の NSG に作成したルールの 1 つを削除する方法
# NSG の情報を取得します。
$nsg = Get-AzureRmNetworkSecurityGroup -Name "NSG の名前" -ResourceGroupName "リソースグループ名"
# NSG から消したいルールを削除します。
Remove-AzureRmNetworkSecurityRuleConfig -Name "ルールの名前" -NetworkSecurityGroup $nsg
# NSG の情報を更新します。
Set-AzureRmNetworkSecurityGroup -NetworkSecurityGroup $nsg
おまけ #1
(NIC 関連のコマンド)
※ NIC の名前がわからない場合は管理ポータルの左部より「参照」- 「ネットワーク インターフェイス」
と選択すると一覧情報が出てきます。その中から対象の名前をメモ等していただければと思います。
■ 既存の NSG を NIC に紐づける方法
# NSG の情報を取得します。
$nsg = Get-AzureRmNetworkSecurityGroup -Name "NSG の名前" -ResourceGroupName "リソースグループ名"
# NIC の情報を取得します。
$nic = Get-AzureRmNetworkInterface -Name "NIC の名前" -ResourceGroupName "リソースグループ名"
# NIC に NSG を紐づけます。
$nic.NetworkSecurityGroup = $nsg
# NIC の設定を更新します。
Set-AzureRmNetworkInterface -NetworkInterface $nic
■ NIC に紐づけた NSG の設定を外す方法
# NIC の情報を取得します。
$nic = Get-AzureRmNetworkInterface -Name "NIC の名前" -ResourceGroupName "リソースグループ名"
# NIC に関連する NSG を null に指定します。
$nic.NetworkSecurityGroup = $null
# NIC の設定を更新します。
Set-AzureRmNetworkInterface -NetworkInterface $nic
おまけ #2
(サブネット関連のコマンド)
■既存の NSG を サブネットに紐づける方法
# NSG の情報を取得します。
$nsg = Get-AzureRmNetworkSecurityGroup -Name "NSG の名前" -ResourceGroupName "リソースグループ名"
# 仮想ネットワークの情報を取得します。
$vnet = Get-AzureRmVirtualNetwork -Name "仮想ネットワーク名" -ResourceGroupName "リソースグループ名"
# サブネットの情報を取得します。
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name "サブネット名" -VirtualNetwork $vnet
# サブネットに NSG を関連付けます。
$subnet.NetworkSecurityGroup = $nsg
# サブネットの設定を更新します。
Set-AzureRmVirtualNetwork -VirtualNetwork $vnet
■ サブネットに紐づけた NSG を外す方法
# 仮想ネットワークの情報を取得します。
$vnet = Get-AzureRmVirtualNetwork -Name "仮想ネットワーク名" -ResourceGroupName "リソースグループ名"
# サブネットの情報を取得します。
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name "サブネット名" -VirtualNetwork $vnet
# サブネットに NSG を「なし」にして関連付けします。
$subnet.NetworkSecurityGroup = $null
# サブネットの設定を更新します。
Set-AzureRmVirtualNetwork -VirtualNetwork $vnet