Azure PowerShell または管理ポータルを使用して、エンドポイントのネットワーク アクセス制御リスト (ACL) を作成および管理できます。 このトピックでは、PowerShell を使用して完了できる ACL の一般的なタスクの手順について説明します。 Azure PowerShell コマンドレットの一覧については、「 Azure 管理コマンドレット」を参照してください。 ACL の詳細については、「 ネットワーク アクセス制御リスト (ACL) とは」を参照してください。 管理ポータルを使用して ACL を管理する場合は、「 仮想マシンにエンドポイントを設定する方法」を参照してください。
Azure PowerShell を使用してネットワーク ACL を管理する
Azure PowerShell コマンドレットを使用して、ネットワーク アクセス制御リスト (ACL) を作成、削除、構成 (設定) できます。 PowerShell を使用して ACL を構成する方法の例をいくつか示しました。
ACL PowerShell コマンドレットの完全な一覧を取得するには、次のいずれかを使用できます。
Get-Help *AzureACL*
Get-Command -Noun AzureACLConfig
リモート サブネットからのアクセスを許可する規則を使用してネットワーク ACL を作成する
次の例は、ルールを含む新しい ACL を作成する方法を示しています。 その後、この ACL が仮想マシン エンドポイントに適用されます。 次の例の ACL 規則では、リモート サブネットからのアクセスが許可されます。 リモート サブネットの許可規則を使用して新しいネットワーク ACL を作成するには、Azure PowerShell ISE を開きます。 以下のスクリプトをコピーして貼り付け、独自の値でスクリプトを構成してから、スクリプトを実行します。
新しいネットワーク ACL オブジェクトを作成します。
$acl1 = New-AzureAclConfig
リモート サブネットからのアクセスを許可する規則を設定します。 次の例では、リモート サブネット 10.0.0.0 /8 から仮想マシン エンドポイントへのアクセスを許可するように、ルール 100 (ルール 200 以降の優先度を持つ) を設定します。 値を独自の構成要件に置き換えます。 "SharePoint ACL config" という名前は、この規則を呼び出すフレンドリ名に置き換える必要があります。
Set-AzureAclConfig –AddRule –ACL $acl1 –Order 100 ` –Action permit –RemoteSubnet "10.0.0.0/8" ` –Description "SharePoint ACL config"
追加の規則については、コマンドレットを繰り返し、値を独自の構成要件に置き換えます。 ルールを適用する順序を反映するようにルール番号 Order を必ず変更してください。 ルール番号が小さいほど、大きい数値よりも優先されます。
Set-AzureAclConfig –AddRule –ACL $acl1 –Order 200 ` –Action permit –RemoteSubnet "157.0.0.0/8" ` –Description "web frontend ACL config"
次に、新しいエンドポイント (追加) を作成するか、既存のエンドポイント (Set) の ACL を設定します。 この例では、"web" という名前の新しい仮想マシン エンドポイントを追加し、ACL 設定で仮想マシン エンドポイントを更新します。
Get-AzureVM –ServiceName $serviceName –Name $vmName ` | Add-AzureEndpoint –Name "web" –Protocol tcp –Localport 80 - PublicPort 80 –ACL $acl1 ` | Update-AzureVM
次に、コマンドレットを組み合わせてスクリプトを実行します。 この例では、結合されたコマンドレットは次のようになります。
$acl1 = New-AzureAclConfig Set-AzureAclConfig –AddRule –ACL $acl1 –Order 100 ` –Action permit –RemoteSubnet "10.0.0.0/8" ` –Description "SharePoint ACL config" Set-AzureAclConfig –AddRule –ACL $acl1 –Order 200 ` –Action permit –RemoteSubnet "157.0.0.0/8" ` –Description "web frontend ACL config" Get-AzureVM –ServiceName $serviceName –Name $vmName ` |Add-AzureEndpoint –Name "web" –Protocol tcp –Localport 80 - PublicPort 80 –ACL $acl1 ` |Update-AzureVM
リモート サブネットからのアクセスを許可するネットワーク ACL 規則を削除する
次の例は、ネットワーク ACL 規則を削除する方法を示しています。 リモート サブネットの許可規則を持つネットワーク ACL 規則を削除するには、Azure PowerShell ISE を開きます。 以下のスクリプトをコピーして貼り付け、独自の値でスクリプトを構成してから、スクリプトを実行します。
最初の手順では、仮想マシン エンドポイントのネットワーク ACL オブジェクトを取得します。 その後、ACL 規則を削除します。 この場合、ルール ID で削除します。 これにより、ACL からルール ID 0 のみが削除されます。 仮想マシン エンドポイントから ACL オブジェクトは削除されません。
Get-AzureVM –ServiceName $serviceName –Name $vmName ` | Get-AzureAclConfig –EndpointName "web" ` | Set-AzureAclConfig –RemoveRule –ID 0 –ACL $acl1
次に、ネットワーク ACL オブジェクトを仮想マシン エンドポイントに適用し、仮想マシンを更新する必要があります。
Get-AzureVM –ServiceName $serviceName –Name $vmName ` | Set-AzureEndpoint –ACL $acl1 –Name "web" ` | Update-AzureVM
仮想マシン エンドポイントからネットワーク ACL を削除する
特定のシナリオでは、仮想マシン エンドポイントからネットワーク ACL オブジェクトを削除できます。 これを行うには、Azure PowerShell ISE を開きます。 以下のスクリプトをコピーして貼り付け、独自の値でスクリプトを構成してから、スクリプトを実行します。
Get-AzureVM –ServiceName $serviceName –Name $vmName `
| Remove-AzureAclConfig –EndpointName "web" `
| Update-AzureVM