はじめに
Azure CLIを利用して、ネットワークセキュリティーグループを作成する方法をご紹介いたします。前回と前々回はAzule CLIを利用して、リソースグループと仮想ネットワーク、その仮想ネットワーク内にサブネットを作成しました。シリーズ3回目である今回はNSG(Network Security Group)についてご紹介いたします。
ネットワーク セキュリティ グループ
NSG(Network Security Group)はパケットフィルタリングを束てたもので, IP アドレス, ポート番号やプロトコルで制限をかけることができます。
NSGは、サブネットやサブネット内のVMに関連づけることができます。サブネット内に関連付けた場合サブネット内の全てのVMにその制限が適応されます。
注意事項として以下のようなものがあります。
- NSG名はリージョン内で一意で有る必要がある。
- NSGはNSGが作成されたリージョン内のみ適応可能。
- リージョン内であれば他のリソースグループのリソースにも適応できる。
参考 : ネットワーク セキュリティ グループ (NSG) について
ネットワークセキュリティーグループの作成
次のNSG(Network Security Group)を作成することができます。
# azure network nsg create -g -n -l
※ NSG名はリージョン内で一意である必要があります。
※ locationは# azure location list
で一覧を表示することができます。
リソースグループ名 : TestResourceGroup
NSG名 : TestNSG
ロケーション : japaneast
# azure network nsg create -g TestResourceGroup -n TestNSG -l japaneast info: Executing command network nsg create + Looking up the network security group "TestNSG" + Creating a network security group "TestNSG" data: Id : /subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/TestResourceGroup/providers/Microsoft.Network/networkSecurityGroups/TestNSG data: Name : TestNSG data: Type : Microsoft.Network/networkSecurityGroups data: Location : japaneast data: Provisioning state : Succeeded data: Security rules: data: Name Source IP Source Port Destination IP Destination Port Protocol Direction Access Priority data: ----------------------------- ----------------- ----------- -------------- ---------------- -------- --------- ------ -------- data: AllowVnetInBound VirtualNetwork * VirtualNetwork * * Inbound Allow 65000 data: AllowAzureLoadBalancerInBound AzureLoadBalancer * * * * Inbound Allow 65001 data: DenyAllInBound * * * * * Inbound Deny 65500 data: AllowVnetOutBound VirtualNetwork * VirtualNetwork * * Outbound Allow 65000 data: AllowInternetOutBound * * Internet * * Outbound Allow 65001 data: DenyAllOutBound * * * * * Outbound Deny 65500 info: network nsg create command OK
ネットワークセキュリティーグループの確認
次のコマンドで、リソースグループ内のネットワークセキュリティグループのリストを表示することができます。
# azure network nsg list -g
# azure network nsg list -g TestResourceGroup info: Executing command network nsg list + Getting the network security groups data: Name Location Resource group Provisioning state Rules number data: ------- --------- ----------------- ------------------ ------------ data: TestNSG japaneast TestResourceGroup Succeeded 6 info: network nsg list command OK
TestResourceGroupというリソースグループにTestNSGというネットワークセキュリティグループが追加されました。
ネットワークセキュリティーグループルール
作成したネットワーク セキュリティ グループに受信セキュリティ規則を追加します。今回はSSH接続を許可する設定をします。
ネットワークセキュリティーグループルールの作成
azure network nsg rule create -g -a -n --source-port-range --destination-port-range --access Allow --priority
# azure network nsg rule create -g TestResourceGroup -a TestNSG -n NSGssh --source-port-range '*' --destination-port-range 22 --access Allow --priority 100 info: Executing command network nsg rule create warn: Using default --protocol * warn: Using default --source-address-prefix * warn: Using default --destination-address-prefix * warn: Using default --direction Inbound + Looking up the network security group "TestNSG" + Looking up the network security rule "NSGssh" + Creating a network security rule "NSGssh" data: Id : /subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/TestResourceGroup/providers/Microsoft.Network/networkSecurityGroups/TestNSG/securityRules/NSGssh data: Name : NSGssh data: Type : Microsoft.Network/networkSecurityGroups/securityRules data: Provisioning state : Succeeded data: Source IP : * data: Source Port : * data: Destination IP : * data: Destination Port : 22 data: Protocol : * data: Direction : Inbound data: Access : Allow data: Priority : 100 info: network nsg rule create command OK
ネットワークセキュリティーグループルールの確認
# azure network nsg rule list -g TestResourceGroup -a TestNSG info: Executing command network nsg rule list + Looking up the network security group "TestNSG" data: Security rules: data: Name Source IP Source Port Destination IP Destination Port Protocol Direction Access Priority data: ----------------------------- ----------------- ----------- -------------- ---------------- -------- --------- ------ -------- data: NSGssh * * * 22 * Inbound Allow 100 data: AllowVnetInBound VirtualNetwork * VirtualNetwork * * Inbound Allow 65000 data: AllowAzureLoadBalancerInBound AzureLoadBalancer * * * * Inbound Allow 65001 data: DenyAllInBound * * * * * Inbound Deny 65500 data: AllowVnetOutBound VirtualNetwork * VirtualNetwork * * Outbound Allow 65000 data: AllowInternetOutBound * * Internet * * Outbound Allow 65001 data: DenyAllOutBound * * * * * Outbound Deny 65500 info: network nsg rule list command OK
次回
今回は、セキュリティグループを作成し、そこにルールを追加して、そのセキュリティグループをサブネットに適用することまで行いました。
次回は、インターネット経由でssh接続するために、パブリックIPの作成と仮想マシンOS兼データ用ストレージアカウントを作成します。