Azure Private Subnetの概要から作成手順

Azure,Network Security Group,Virtual Network

プライベートサブネット(Azure Private Subnet)について纏めてみました。

    • プライベートサブネット(Azure Private Subnet)の概要
    • プライベートサブネット(Azure Private Subnet)のデプロイ方法
        • Azure Portalを利用して新規にデプロイ
        • Azure CLIを利用して既存の仮想ネットワークに追加
    • プライベートサブネット(Azure Private Subnet)上の仮想マシン(Azure VM)からインターネットアクセス

※最初の公開時から記事を少し修正しております。

スポンサーリンク

プライベートサブネット(Azure Private Subnet)の概要

プライベートサブネット(Azure Private Subnet)とは

暗黙に割り振られたパブリックIPアドレスを使ったインターネットアクセスを拒否にする事が出来るサブネットです。

パブリック接続の明示的な方法

通常のサブネットではインターネットへのアウトバウンド通信がデフォルトで許可されています。
NSG(ネットワークセキュリティグループ)のデフォルト規則も許可になっています。
仮想マシン(Azure VM)にパブリックIPを付与しなくても、暗黙に割り振られたパブリックIPアドレスが付与されます。
この暗黙に付与されたパブリックIPを使ってインターネットへアクセス出来る状態になります。

プライベートサブネット(Azure Private Subnet)を使うと、明示的に接続手段を適用していない仮想マシン(Azure VM)からのインターネットへのアクセスを拒否する事が出来ます。

※2023年11月18日現在ではプレビューの機能です。
※NSG(ネットワークセキュリティグループ)のデフォルト規則(AllowInternetOutBound)とは関係なく機能します。
※アウトバウンド値拒否のデフォルト値変更は2025年9月に予定されています。この変更は新規に仮想ネットワーク(サブネット)作成時のみの適用となります。

Windows Updateやパッケージのダウンロードは出来ない

インターネットへのアウトバウンド通信が拒否されます。
Windows Update、必要なパッケージのダウンロード、ライセンス認証等も出来なくなるので注意が必要です。

インターネットとの通信を行う為には?

インターネットへのアウトバウンド通信を許可する為には明示的に接続方法を追加する必要があります。

Add an explicit outbound connectivity method

    • NATゲートウェイ
    • ロードバランサー(アウトバウンドルール)
    • パブリックIPアドレスの付与

明示的に接続方法を追加する事でプライベートサブネット(Azure Private Subnet)に接続された仮想マシン(Azure VM)からインターネットへのアクセスが出来るようになります。

既定の送信アクセスが提供されるタイミング

NATゲートウェイ、ロードバランサー(アウトバウンドルール)、パブリックIPアドレスの方が先に判断されます。

※明示的に接続手段を適用しない状態で、NSG(ネットワークセキュリティグループ)の送信セキュリティ規則だけを追加してもアウトバウンド通信は許可されません。

既存のサブネットをPrivate Subnet化出来る?

現時点では既存のサブネットをプライベートサブネット化する事はサポートされていません。

Utilize the Private Subnet parameter

※2023年11月18日時点での確認です。

プライベートサブネット(Azure Private Subnet)をデプロイ

Azure Portalで仮想ネットワークと一緒にデプロイ

新規に仮想ネットワークをデプロイします。

    • リソースグループ:test-rg-01
    • 仮想ネットワーク名:test-vnet-01
    • サブネット名:private-subnet-01(10.0.1.0/24)

※差分を確認する為にプライベート化していないサブネットも一緒にデプロイしています。

Azure Private Subnetをデプロイ
仮想ネットワークで作成を選択します。
インスタンスの詳細で仮想ネットワーク名等を設定します。
セキュリティ設定はデフォルト(すべてのチェックを外した状態)のまま次に進めます。

IPアドレスでdefaultのサブネットを選択します。
サブネット名を設定します。
プライベートサブネットを有効にするにチェックを付けます。
サブネットの編集で保存を選択します。

サブネットが設定されている事を確認します。
確認+作成を選択します。
確認画面です。
IPアドレスのサブネットでプライベートサブネットが有効になっている事を確認します。
作成を選択します。

デプロイ後の確認

仮想マネットワークのテンプレートのエクスポートのメニューで確認します。

    • defaultOutboundAccessがfalseの場合:プライベートサブネット(Azure Private Subnet)
    • defaultOutboundAccessがtrueの場合:通常のサブネット

※2023年11月18日時点ではテンプレートのみで確認出来るようです。

テンプレート

defaultOutboundAccessの項目を確認します。
プライベートサブネット(Azure Private Subnet)の場合はdefaultOutboundAccessの値がfalseになっています。

仮想マシン(Azure VM)からインターネットアクセス

プライベートサブネット(Azure Private Subnet)にデプロイした仮想マシン(Azure VM)からインターネットへのアクセスを確認します。
仮想マシン(Azure VM)の送信セキュリティ規則はデフォルト状態としています。

インターネットアクセスへアクセス

デフォルトの送信セキュリティ規則により仮想マシン(Azure VM)からインターネットへのアクセスは許可されています。

Googleにアクセスしも許可されていない事が確認出来ます。
Windows Updateも許可されていません。

NSGを追加

明示的にNSG(ネットワークセキュリティグループ)を追加して確認してみます。
仮想マシン(Azure VM)のNSG(ネットワークセキュリティグループ)設定関わらずアウトバウンド通信が拒否されている事が確認出来ます。

NSG追加
明示的にInterNetへの通信許可する送信セキュリティ規則を追加します。この場合でもインターネットへのアクセスは拒否されています。

NSG(ネットワークセキュリティグループ)の概要についてはこちらに纏めています。

パブリックIPアドレスを割り当てた仮想マシンの場合

仮想マシン(Azure VM)のネットワークインターフェースへパブリックIPを割り当てている場合です。
接続手段を明示的に割り当てた状態となります。
プライベートサブネット(Azure Private Subnet)に仮想マシン(Azure VM)をデプロイした場合でもインターネットアクセスは可能です。

パブリックIPアドレスを付与した場合

パブリックIPアドレスが割り当てられた仮想マシン(Azure VM)の場合はプライベートサブネット(Azure Private Subnet)であってもインターネットへのアクセスは許可されます。

※NSG(ネットワークセキュリティグループ)の送信セキュリティ規則の設定によるアクセス制限になります。

NATゲートウェイ(Azure NAT Gateway)を利用した場合

NATゲートウェイ(Azure NAT Gateway)も、明示的に割り当てる接続手段の1つとなります。
インターネットへアクセスする事が出来ます。
NATゲートウェイ(Azure NAT Gateway)を利用した場合の挙動についてはこちらに纏めています。

ーーー広告ーーー

既存の仮想ネットワークにプライベートサブネット(Azure Private Subnet)を追加

Azure CLIで既存仮想ネットワークに追加

既存の仮想ネットワークにプライベートサブネット(Azure Private Subnet)を追加します。
Azure CLIを利用して実施します。
network vnet subnet createコマンドのdefault-outboundオプションでfalseを指定します。

    • リソースグループ:test-rg-01
    • 仮想ネットワーク名:test-vnet-01
    • サブネット名:private-subnet-02(10.0.3.0/24)

PS C:\> network vnet subnet create -g test-rg-01 –vnet-name test-vnet-01 -n private-subnet-02 –address-prefixes 10.0.3.0/24 –default-outbound false

※Azure CLIのバージョンが古いと–default-outboundのオプションが無いとエラーになります。 今回はazure-cliは"2.54.0″を利用しています。
※他のオプションは無しとしています。

デプロイ後の確認

デプロイされたサブネットを確認します。
default-outboundがfalseとなっており、プライベートサブネット(Azure Private Subnet)としてデプロイ出来ている事が分かります。

デプロイ後の確認
Private-subnet-02が追加されている事が確認出来ます。
テンプレートを確認するとdefault-outboundがfalseとなっている事が確認出来ます。

az network vnet subnet showaz network vnet subnet listコマンドでも確認出来ます。

PS C:\> az network vnet subnet show -g test-rg-01 -n private-subnet-02 –vnet-name test-vnet-01
{
 "addressPrefix": “10.0.3.0/24",
 "defaultOutboundAccess": false,

※azure-cliは"2.54.0″を利用しています。

最後に

今回はプライベートサブネット(Azure Private Subnet)について確認してみました。
プライベートサブネット(Azure Private Subnet)上の仮想マシン(Azure VM)(暗黙のIP)からインターネットへのアクセスができない状態となる事が確認出来ました。
明示的に接続手段(NATゲートウェイ、ロードバランサー(アウトバウンドルール)、パブリックIPアドレスの付与)を提供した場合はアクセス出来る事も確認出来ました。

ネットワークのセキュリティを向上させるのに非常に役立つかと思いました。
2025年9月にはこの動作が基本になる事もあるので、先行して利用していくのも良いかと思いました。

仮想マシン(Azure VM)のNSG(ネットワークセキュリティグループ)周りについてはこちら。

スポンサーリンク