AWSをメインで利用しているエンジニアがAzure環境の構築をPowerShellで進める連載。
リソースグループの作成から仮想マシンを起動するまでを連載していく予定です。
第4回は、前回作成した「ネットワークセキュリティグループ」に、AWSで言ううころのセキュリティグループのインバウンドに類似する「受信セキュリティ規則」、アウトバウンドに類似する「送信セキュリティ規則」を追加します。
番外編
前提:事前にネットワークセキュリティグループが作成されていること。
# リソースグループ名を設定
$private:resourceGroupName = "rg001"
# ロケーションを設定
$private:location = "japaneast"
# タグを設定
$tags = @{"環境名"="ITC109"}
# パブリック用ネットワークセキュリティグループ
$script:nwSgPublicName = $private:resourceGroupName + "nwsg-public"
# プライベート用ネットワークセキュリティグループ
$script:nwSgPrivateName = $private:resourceGroupName + "nwsg-private"
※パブリック用ネットワークセキュリティグループの受信セキュリティ規則に、RDP用の接続ルールを設定するサンプル
##################################################
Write-Host "■■【受信セキュリティ】の設定処理 ■■"
##################################################
$script:gip = "xxx.xxx.xxx.xxx"
# パブリック用ネットワークセキュリティグループに追加
[Microsoft.Azure.Commands.Network.Models.PSSecurityRule[]]$private:rules = @()
$private:rules += New-AzNetworkSecurityRuleConfig -Name "AllowRDP" -Description "RDS接続" -Protocol "TCP" -SourcePortRange "*" -DestinationPortRange "3389" -SourceAddressPrefix $script:gip -DestinationAddressPrefix "*" -Access "Allow" -Priority "100" -Direction "Inbound"
$script:nsg = New-AzNetworkSecurityGroup -Location $private:location -ResourceGroupName $private:resourceGroupName -Name $script:nwSgPublicName -Tag $tags -ErrorAction Stop
$script:nsg.SecurityRules.AddRange($private:rules)
Write-Host "ネットワークセキュリティグループ の 受信セキュリティ規則 に ルール を設定中です。"
$retnsg = Set-AzNetworkSecurityGroup -NetworkSecurityGroup $script:nsg
Write-Host "ネットワークセキュリティグループ の 受信セキュリティ規則 に ルール を設定しました。"
Write-Host ""
##################################################
New-AzNetworkSecurityRuleConfig
でネットワークセキュリティグループにセキュリティ規則を追加。
New-AzNetworkSecurityRuleConfig -Name "AllowRDP" -Description "RDS接続" -Protocol "TCP" -SourcePortRange "*" -DestinationPortRange "3389" -SourceAddressPrefix $script:gip -DestinationAddressPrefix "*" -Access "Allow" -Priority "100" -Direction "Inbound"
-Name
で「名前」を設定。
-Name "AllowRDP"
-Description
で「説明」を設定。
-Description "RDS接続"
-Protocol
で「プロトコル」を設定。
-Protocol "TCP"
-SourcePortRange
で「ソースポート範囲」を設定。
-SourcePortRange "*"
-DestinationPortRange
で「宛先ポート範囲」を設定。
-DestinationPortRange "3389"
-SourceAddressPrefix
で「ソースIPアドレス/CIDR範囲」を設定。
-SourceAddressPrefix $script:gip
-DestinationAddressPrefix
で「宛先」を設定。
※Anyで設定する際は「*」
-DestinationAddressPrefix "*"
-Access
で「アクション」を設定。
※許可[Allow]、拒否[deny]
-Access "Allow"
-Priority
で「優先度」を設定。
-Priority "100"
-Direction
でセキュリティ規則の登録先を設定。
※受信セキュリティ規則[Inbound]、送信セキュリティ規則[Outbound]
-Direction "Inbound"
複数のルールを一括で追加する為に
[Microsoft.Azure.Commands.Network.Models.PSSecurityRule[]]$private:rules = @()
として配列でルール用の変数を作成し
$private:rules += New-AzNetworkSecurityRuleConfig ~~~
$private:rules
に複数のルールを追加して
$script:nsg.SecurityRules.AddRange($private:rules)
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $script:nsg
Set-AzNetworkSecurityGroup
で設定。