Azure における仮想ネットワークと仮想マシン

仮想マシン (VM) を作成する場合、仮想ネットワークを作成するか、既存のものを使用します。 仮想ネットワークにおける仮想マシンへの望ましいアクセス方法を決定します。 リソースを作成する前に計画を立て、必ずネットワーク リソースの制限を理解しておくことが大切です。

次の図では、仮想マシンが Web サーバーとアプリケーション サーバーとして表されています。 仮想マシンの各セットは、仮想ネットワーク内の別々のサブネットに割り当てられます。

多層マルチサブネット アプリケーションの図。

仮想マシンを作成する前に仮想ネットワークを作成することも、仮想マシンの作成時に仮想ネットワークを作成することもできます。

仮想マシンとの通信をサポートする次のリソースを作成します。

  • ネットワーク インターフェイス

  • IP アドレス

  • 仮想ネットワークとサブネット

また、次のオプション リソースを考慮してください。

  • ネットワーク セキュリティ グループ

  • ロード バランサー

ネットワーク インターフェイス

ネットワーク インターフェイス (NIC) とは、仮想マシンと仮想ネットワークの間の相互接続です。 仮想マシンには少なくとも 1 つの NIC が必要です。 作成する VM のサイズに応じて、仮想マシンに複数の NIC を持たせることができます。 各仮想マシンのサイズでサポートされる NIC の数については、VM サイズに関する記事を参照してください。

複数の NIC を持つ VM を作成し、VM のライフサイクルを通じて NIC を追加または削除することができます。 複数の NIC を使用すると、VM を異なるサブネットに接続できます。

VM に接続された各 NIC は、VM と同じ場所およびサブスクリプションに存在する必要があります。 NIC と同じ Azure の場所およびサブスクリプションに存在する VNet に各 NIC を接続する必要があります。 仮想マシンの接続先のサブネットは、作成した後で変更できます。 仮想ネットワークを変更することはできません。 VM に接続された各 NIC には、その VM が削除されるまで変更されない MAC アドレスが割り当てられます。

次の表に、ネットワーク インターフェイスの作成に使用できる方法の一覧を示します。

Method 説明
Azure Portal Azure portal で VM を作成すると、ネットワーク インターフェイスが自動的に作成されます。 ポータルで作成されるのは、NIC を 1 つだけ備えた VM です。 複数の NIC を備えた VM を作成したい場合は、別の方法で作成する必要があります。
Azure PowerShell 以前作成したパブリック IP アドレスの識別子を -PublicIpAddressId パラメーターで指定して、New-AzNetworkInterface を実行します。
Azure CLI 以前作成したパブリック IP アドレスの識別子を指定するために、--public-ip-address パラメーターを使用して az network nic create を実行します。
テンプレート テンプレートを使用したネットワーク インターフェイスのデプロイの詳細については、「Network Interface in a Virtual Network with Public IP Address (パブリック IP アドレスを使用した仮想ネットワークのネットワーク インターフェイス)」を使用してください。

IP アドレス

Azure では次の種類の IP アドレスをネットワーク インターフェイスに割り当てることができます。

  • パブリック IP アドレス - インターネットのほか、仮想ネットワークに接続されていない他の Azure リソースとの (ネットワーク アドレス変換 (NAT) を使用しない) 送受信に使用します。 NIC へのパブリック IP アドレスの割り当てはオプションです。 パブリック IP アドレスには少額の費用がかかり、サブスクリプションごとに使用できる数には上限があります。

  • プライベート IP アドレス - 仮想ネットワーク、オンプレミスのネットワーク、(NAT を使用した) インターネットでの通信に使用します。 少なくとも 1 つのプライベート IP アドレスを VM に割り当てる必要があります。 Azure での NAT の詳細については、「Azure の送信用接続の詳細」を参照してください。

パブリック IP アドレスを次に割り当てることができます。

  • 仮想マシン

  • パブリック ロード バランサー

プライベート IP アドレスを次に割り当てることができます。

  • 仮想マシン

  • 内部ロード バランサー

VM への IP アドレスの割り当てには、ネットワーク インターフェイスを使用します。

IP アドレスをリソースに指定する方法には、動的と静的の 2 種類があります。 Azure の場合、IP アドレスを指定する既定の方法は動的です。 IP アドレスは作成時には指定されません。 代わりに、IP アドレスの指定は、VM の作成時または停止された VM の起動時に行われます。 IP アドレスは、VM を停止または削除すると解放されます。

VM の IP アドレスが変わらないようにするため、割り当て方法を明示的に "静的" に設定できます。 この場合、IP アドレスが即座に割り当てられます。 VM を削除するか、その割り当て方法を "動的" に変更した場合にのみ、IP アドレスは解放されます。

次の表に、IP アドレスの作成に使用できる方法の一覧を示します。

Method 説明
Azure Portal 既定では、パブリック IP アドレスは動的です。 この IP アドレスは、VM を停止または削除するときに変わる可能性があります。 VM で常に同じパブリック IP アドレスが使用されるようにするには、静的パブリック IP アドレスを作成します。 既定では、VM の作成時にポータルによって動的プライベート IP アドレスが NIC に割り当てられます。 この IP アドレスは、VM の作成後に "静的" に変更できます。
Azure PowerShell -AllocationMethod パラメーターを Dynamic または Static に設定して New-AzPublicIpAddress を実行します。
Azure CLI --allocation-method パラメーターを Dynamic または Static に設定して az network public-ip create を実行します。
テンプレート テンプレートを使用したパブリック IP アドレスのデプロイの詳細については、「Network Interface in a Virtual Network with Public IP Address (パブリック IP アドレスを使用した仮想ネットワークのネットワーク インターフェイス)」を使用してください。

パブリック IP アドレスの作成後、それを NIC に割り当てて VM に関連付けることができます。

Note

パブリック IP が割り当てられていない VM、または内部の Basic Azure Load Balancer のバックエンド プール内にある VM に対しては、Azure によって既定のアウトバウンド アクセス IP が提供されます。 デフォルト送信アクセス IP メカニズムは、構成できないアウトバウンド IP アドレスを提供します。

次のいずれかのイベントが発生すると、既定のアウトバウンド アクセス IP は無効になります。

  • パブリック IP アドレスが VM に割り当てられます。
  • アウトバウンド規則の有無にかかわらず、VM は標準ロード バランサーのバックエンド プール内に配置されます。
  • Azure NAT Gateway リソースが VM のサブネットに割り当てられます。

フレキシブル オーケストレーション モードの仮想マシン スケール セットによって作成された VM には、既定のアウトバウンド アクセスがありません。

Azure のアウトバウンド接続の詳細については、「Azure での既定の送信アクセス」および「送信接続での送信元ネットワーク アドレス変換 (SNAT)を使用する」を参照してください。

仮想ネットワークとサブネット

サブネットとは、仮想ネットワーク内の IP アドレスの範囲です。 仮想ネットワークは、整理とセキュリティのために複数のサブネットに分割できます。 VM の各 NIC は、1 つの仮想ネットワーク内の 1 つのサブネットに接続されます。 仮想ネットワーク内の (同じまたは異なる) サブネットに接続された NIC は、追加の構成をしなくても互いに通信できます。

仮想ネットワークを設定するときに、使用できるアドレス空間やサブネットなど、トポロジを指定します。 仮想ネットワークが他の仮想ネットワークまたはオンプレミスのネットワークに接続されている場合は、重複しないアドレス範囲を選択します。 IP アドレスはプライベートであり、インターネットからアクセスすることはできません。 Azure の場合、任意のアドレス範囲はプライベート仮想ネットワークの IP アドレス空間の一部として扱われます。 このアドレス範囲は、仮想ネットワーク内、相互接続された仮想ネットワーク内、オンプレミスの場所からのみ到達可能です。

内部ネットワークの担当者が他にいる組織で作業する場合、アドレス空間を選択する前にその担当者と相談してください。 アドレス空間に重複がないことを確認します。 使用したい空間を彼らに連絡して、同じ IP アドレスの範囲が他で使用されないようにします。

サブネット間には、既定ではセキュリティの境界がありません。 それぞれのサブネットにある仮想マシンは通信できます。 デプロイでセキュリティの境界が必要な場合は、ネットワーク セキュリティ グループ (NSG) を使用して、サブネット間と VM 間のトラフィック フローを制御します。

次の表に、仮想ネットワークとサブネットの作成に使用できる方法の一覧を示します。

メソッド 説明
Azure Portal VM を作成する際、仮想ネットワークを Azure に作成させる場合、その名前は、仮想ネットワークが含まれたリソース グループ名と -vnet の組み合わせになります。 アドレス空間は 10.0.0.0/24、必要なサブネット名は default、サブネットのアドレス範囲は 10.0.0.0/24 です。
Azure PowerShell New-AzVirtualNetworkSubnetConfigNew-AzVirtualNetwork を使用して、サブネットと仮想ネットワークを作成します。 Add-AzVirtualNetworkSubnetConfig を使用して既存の仮想ネットワークにサブネットを追加することもできます。
Azure CLI サブネットと仮想ネットワークは同時に作成されます。 --subnet-name パラメーターにサブネット名を指定して az network vnet create を実行します。
テンプレート テンプレートを使用して仮想ネットワークとサブネットを作成する方法の詳細については、「2 つのサブネットを含む Virtual Network」を参照してください。

ネットワーク セキュリティ グループ

ネットワーク セキュリティ グループ (NSG) には、サブネット、NIC、またはその両方に対するネットワーク トラフィックを許可または拒否する一連のアクセス制御リスト (ACL) ルールが含まれています。 NSG は、サブネットかサブネットに接続された個々の NIC に関連付けることができます。 NSG がサブネットに関連付けられている場合、ACL ルールはそのサブネット内のすべての VM に適用されます。 NSG を直接 NIC に関連付けることによって、個々の NIC に対するトラフィックを制限できます。

NSG には受信と送信の 2 つのルール セットがあります。 ルールの優先順位は、各セット内で一意である必要があります。

各ルールには次のプロパティがあります。

  • Protocol

  • 送信元と送信先のポート範囲

  • アドレス プレフィックス

  • トラフィックの方向

  • 優先度

  • アクセスの種類

すべての NSG に既定のルール一式が含まれています。 これらの既定の規則は、優先度が最も低く、作成したどのルールでも置き換えることはできないため、削除することもオーバーライドすることもできません。

NIC に対して NSG を関連付ける場合、NSG のネットワーク アクセス ルールが、その NIC にのみ適用されます。 複数の NIC がある VM の NIC の 1 つに NSG を適用した場合、残りの NIC へのトラフィックに影響はありません。 NIC (デプロイメント モデルによっては VM) のほか、NIC または VM の宛先のサブネットに異なる NSG を関連付けられます。 優先順位はトラフィックの方向に基づいて付与されます。

仮想マシンと仮想ネットワークを計画するときは、必ず NSG を計画 してください。

次の表に、ネットワーク セキュリティ グループの作成に使用できる方法の一覧を示します。

Method 説明
Azure Portal Azure Portal で VM を作成する場合、NSG は自動的に作成され、ポータルで作成された NIC に関連付けられます。 NSG の名前は、VM の名前と -nsg の組み合わせです。
この NSG には、1 つの受信規則が含まれています。
優先順位は 1000 です。
サービスは RDP に設定されます。
プロトコルは TCP に設定されます。
ポートは 3389 に設定されます。
アクションは許可に設定されます。
VM へのその他の受信トラフィックを許可する場合は、別のルールを作成します。
Azure PowerShell New-AzNetworkSecurityRuleConfig を使用し、必要なルールの情報を指定します。 New-AzNetworkSecurityGroup を使用して NSG を作成します。 Set-AzVirtualNetworkSubnetConfig を使用して NSG をサブネット用に構成します。 Set-AzVirtualNetwork を使用して NSG を仮想ネットワークに追加します。
Azure CLI az network nsg create を使用して、最初に NSG を作成します。 az network nsg rule create を使用して、その NSG にルールを追加します。 az network vnet subnet update を使用して NSG をサブネットに追加します。
テンプレート テンプレートを使用したネットワーク セキュリティ グループのデプロイについては、「Create a Network Security Group (ネットワーク セキュリティ グループの作成)」をガイドとして使用してください。

ロード バランサー

Azure Load Balancer は、高可用性と優れたネットワーク パフォーマンスをアプリケーションに提供します。 ロード バランサーは、VM への着信インターネット トラフィックを負荷分散したり、VNet 内の VM 間のトラフィックを負荷分散するために構成できます。 ロード バランサーでは、クロスプレミス ネットワークでオンプレミスのコンピューターと VM の間でトラフィックの負荷分散を行ったり、外部トラフィックを特定の VM に転送したりすることもできます。

ロード バランサーにより、次の間の受信トラフィックと送信トラフィックがマップされます。

  • ロード バランサーのパブリック IP アドレスとポート。

  • VM のプライベート IP アドレスとポート。

ロード バランサーを作成する際には、次の構成要素も考慮する必要があります。

  • フロントエンド IP 構成 – ロード バランサーには、1 つ以上のフロントエンド IP アドレスを含めることができます。 これらの IP アドレスは、受信トラフィック用として機能します。

  • バックエンド アドレス プール - 負荷分散先の NIC に関連付けられた IP アドレスです。

  • ポート フォワーディング - 受信トラフィックがフロントエンド IP を通過し、インバウンド NAT 規則を利用するバックエンド IP に分散される方法を定義します。

  • ロード バランサー規則 - 特定のフロントエンド IP とポートの組み合わせを、一連のバックエンド IP アドレスとポートの組み合わせにマップします。 1 つのロード バランサーで複数の負荷分散規則を使用できます。 各規則は、VM に関連付けられた、フロントエンド IP/ポートとバックエンド IP/ポートの組み合わせです。

  • プローブ - VM の正常性を監視します。 プローブが応答できない場合、ロード バランサーは異常な VM への新しい接続の送信を停止します。 既存の接続への影響はなく、新しい接続が正常な VM に送信されます。

  • アウトバウンド規則 - アウトバウンド規則では、Standard Load Balancer のバックエンド プールによって識別されたすべての仮想マシンまたはインスタンスがフロントエンドに変換されるように、アウトバウンド ネットワーク アドレス変換 (NAT) が構成されます。

次の表に、インターネットに接続するロード バランサーの作成に使用できる方法の一覧を示します。

Method 説明
Azure portal Azure Portal を使用して VM へのインターネット トラフィックを負荷分散できます。
Azure PowerShell 以前作成したパブリック IP アドレスの識別子を指定するために、-PublicIpAddress パラメーターを使用して New-AzLoadBalancerFrontendIpConfig を実行します。 New-AzLoadBalancerBackendAddressPoolConfig を使用してバックエンド アドレス プールの構成を作成します。 New-AzLoadBalancerInboundNatRuleConfig を使用して、作成済みのフロントエンド IP 構成に関連付けられた受信 NAT 規則を作成します。 New-AzLoadBalancerProbeConfig を使用して必要なプローブを作成します。 New-AzLoadBalancerRuleConfig を使用してロード バランサーの構成を作成します。 New-AzLoadBalancer を使用してロード バランサーを作成します。
Azure CLI az network lb create を使用してロード バランサーの初期構成を作成します。 az network lb frontend-ip create を使用して、以前作成したパブリック IP アドレスを追加します。 az network lb address-pool create を使用して、バックエンド アドレス プールの構成を追加します。 az network lb inbound-nat-rule create を使用して NAT 規則を追加します。 az network lb rule create を使用してロード バランサー規則を追加します。 az network lb probe create を使用してプローブを追加します。
テンプレート テンプレートを使用したロード バランサーのデプロイについては、ロード バランサーでの 3 つの VM に関するページをガイドとして使用してください。

次の表に、内部ロード バランサーの作成に使用できる方法の一覧を示します。

Method 説明
Azure portal Azure portal のロード バランサーを使用して内部トラフィックを負荷分散できます。
Azure PowerShell ネットワーク サブネットのプライベート IP アドレスを指定するために、-PrivateIpAddress パラメーターを使用して New-AzLoadBalancerFrontendIpConfig を実行します。 New-AzLoadBalancerBackendAddressPoolConfig を使用してバックエンド アドレス プールの構成を作成します。 New-AzLoadBalancerInboundNatRuleConfig を使用して、作成済みのフロントエンド IP 構成に関連付けられた受信 NAT 規則を作成します。 New-AzLoadBalancerProbeConfig を使用して必要なプローブを作成します。 New-AzLoadBalancerRuleConfig を使用してロード バランサーの構成を作成します。 New-AzLoadBalancer を使用してロード バランサーを作成します。
Azure CLI az network lb create コマンドを使用してロード バランサーの初期構成を作成します。 プライベート IP アドレスを定義するために、--private-ip-address パラメーターを使用して az network lb frontend-ip create を実行します。 az network lb address-pool create を使用して、バックエンド アドレス プールの構成を追加します。 az network lb inbound-nat-rule create を使用して NAT 規則を追加します。 az network lb rule create を使用してロード バランサー規則を追加します。 az network lb probe create を使用してプローブを追加します。
テンプレート テンプレートを使用したロード バランサーのデプロイについては、ロード バランサーでの 2 つの VM に関するページをガイドとして使用してください。

仮想マシン

仮想マシンは同一の仮想ネットワーク内に作成でき、プライベート IP アドレスを使用して互いに接続できます。 仮想マシンは、異なるサブネット内にある場合に接続できます。 接続には、ゲートウェイを構成したり、パブリック IP アドレスを使用する必要はありません。 VM を仮想ネットワークに入れるには、仮想ネットワークを作成します。 それぞれの VM を作成する場合は、仮想ネットワークとサブネットに割り当てます。 デプロイ中または起動中に、仮想マシンでネットワーク設定が取得されます。

仮想マシンには、デプロイ時に IP アドレスが割り当てられます。 複数の VM を仮想ネットワークまたはサブネットにデプロイする場合、それらの起動時に IP アドレスが割り当てられます。 静的 IP を VM に割り当てることもできます。 静的 IP を割り当てる場合、間違って別の VM に静的 IP を再使用しないよう、特定のサブネットを使うことを検討してください。

作成した VM を後になって仮想ネットワークに移行したくなった場合、構成の変更は容易ではありません。 仮想ネットワークに VM をデプロイし直します。 デプロイし直す場合、接続されたディスクを除いて VM を削除し、仮想ネットワーク内の元のディスクを使用して VM を作成し直すのが最も簡単です。

次の表に、VNet に VM を作成する際に使用できる方法の一覧を示します。

Method 説明
Azure Portal 前に述べた既定のネットワーク設定を使用して、1 つの NIC を備えた VM を作成します。 複数の NIC を備えた VM を作成するには、別の方法を使用する必要があります。
Azure PowerShell Add-AzVMNetworkInterface を使用して、以前作成した NIC を VM 構成に追加します。
Azure CLI VM を作成し、個々のステップとして構築された仮想ネットワーク、サブネット、NIC に接続します。
テンプレート テンプレートを使用した VM のデプロイについては、「Very simple deployment of a Windows VM (Windows VM の非常に簡単なデプロイ)」をガイドとして使用してください。

NAT Gateway

Azure NAT Gateway を使用すると、仮想ネットワークのアウトバウンドのみのインターネット接続が簡単になります。 これをサブネットに対して構成した場合、指定した静的パブリック IP アドレスがすべてのアウトバウンド接続で使用されます。 ロード バランサーや、仮想マシンに直接アタッチされたパブリック IP アドレスがなくても、アウトバウンド接続が可能となります。 NAT はフル マネージドで、高い回復性を備えています。

NAT では、アウトバウンド接続をサブネットごとに定義できます。 同じ仮想ネットワーク内にある複数のサブネットに対し、それぞれ異なる NAT を割り当てることができます。 サブネットの構成は、使用する NAT ゲートウェイ リソースを指定することで行います。 任意の仮想マシン インスタンスからのすべての UDP と TCP のアウトバウンド フローで NAT ゲートウェイが使用されます。 NAT は、Standard SKU のパブリック IP アドレス リソースとパブリック IP プレフィックス リソースのどちらか、またはその両方を組み合わせたものと共に利用することができます。 パブリック IP プレフィックスを直接使用できるほか、複数の NAT ゲートウェイ リソースにプレフィックスのパブリック IP アドレスを割り振ることもできます。 NAT によって、すべてのトラフィックはプレフィックスの IP アドレス範囲に調整されます。 デプロイの IP フィルター処理は容易です。

NAT Gateway は、顧客の構成なしですべての送信トラフィックを自動的に処理します。 ユーザー定義ルートは必要ありません。 NAT は他のアウトバウンド シナリオよりも優先され、サブネットの既定のインターネット宛先に取って代わります。

フレキシブル オーケストレーション モードで仮想マシンを作成する仮想マシン スケール セットには、既定の送信アクセスがありません。 仮想マシン スケール セットのフレキシブル オーケストレーション モードに推奨される送信アクセス方法は、Azure NAT Gateway です。

Azure NAT Gateway の詳細については、「Azure NAT Gateway とは」を参照してください。

次の表に、NAT ゲートウェイ リソースの作成に使用できる方法の一覧を示します。

メソッド 説明
Azure Portal 仮想ネットワーク、サブネット、パブリック IP、NAT ゲートウェイ、仮想マシンを作成して、NAT ゲートウェイ リソースをテストします。
Azure PowerShell NAT ゲートウェイ リソースを作成する New-AzNatGateway の使用が含まれます。 仮想ネットワーク、サブネット、パブリック IP、NAT ゲートウェイ、仮想マシンを作成して、NAT ゲートウェイ リソースをテストします。
Azure CLI NAT ゲートウェイ リソースを作成する az network nat gateway create の使用が含まれます。 仮想ネットワーク、サブネット、パブリック IP、NAT ゲートウェイ、仮想マシンを作成して、NAT ゲートウェイ リソースをテストします。
テンプレート 仮想ネットワーク、サブネット、パブリック IP、NAT ゲートウェイ リソースを作成します。

Azure Bastion

Azure Bastion は、仮想ネットワーク内の仮想マシンにセキュリティで保護された管理接続を提供するためにデプロイされます。 Azure Bastion サービスを使用すると、仮想ネットワーク内の VM に対して安全かつシームレスに RDP と SSH を実行することができます。 Azure Bastion を使用すると、VM のパブリック IP を公開することなく接続できます。 接続は、Azure portal から直接行われ、追加のクライアント、エージェント、またはソフトウェアの一部を必要としません。 Azure Bastion は、Standard SKU のパブリック IP アドレスをサポートしています。

時間単位の価格は、送信データの使用状況に関係なく、Bastion がデプロイされた時点から開始します。 詳しくは、「価格」および「SKU」を参照してください。 チュートリアルまたはテストの一環で Bastion をデプロイする場合は、使用終了後にこのリソースを削除することをお勧めします。

Azure Bastion の詳細については、「Azure Bastion とは」を参照してください。

次の表に、Azure Bastion デプロイの作成に使用できる方法の一覧を示します。

メソッド 説明
Azure Portal 仮想ネットワーク、サブネット、パブリック IP、bastion ホスト、仮想マシンを作成します。
Azure PowerShell 仮想ネットワーク、サブネット、パブリック IP、bastion ホストを作成します。 bastion ホストを作成する New-AzBastion の使用が含まれます。
Azure CLI 仮想ネットワーク、サブネット、パブリック IP、bastion ホストを作成します。 bastion ホストを作成する az network bastion create の使用が含まれます。
テンプレート Azure Bastion ホストをサンプル デプロイと統合するテンプレート デプロイの例については、「クイックスタート: ARM テンプレートを使用して VM の負荷を分散するパブリック ロード バランサーを作成する」を参照してください。

次のステップ

VM 用の Azure 仮想ネットワークの管理方法に関する VM 固有の手順については、Windows または Linux のチュートリアルを参照してください。

VM の負荷を分散し、CLI または PowerShell を使用して高可用性アプリケーションを作成する方法に関するクイックスタートもあります