仮想アプライアンスを使用するシナリオVirtual appliance scenario

大型 Azure 顧客の間の一般的なシナリオは、オンプレミス データセンターからバック層へのアクセスを許可する一方でインターネットへの公開を行う 2 層アプリケーションを用意する必要があることです。A common scenario among larger Azure customer is the need to provide a two-tiered application exposed to the Internet, while allowing access to the back tier from an on-premises datacenter. このドキュメントでは、ユーザー定義ルート (UDR)、VPN Gateway、およびネットワーク仮想アプライアンスを使用して、次の要件を満たす 2 層環境をデプロイするシナリオについて説明します。This document will walk you through a scenario using User Defined Routes (UDR), a VPN Gateway, and network virtual appliances to deploy a two-tier environment that meets the following requirements:

  • Web アプリケーションは、パブリック インターネットのみからアクセスできる必要がある。Web application must be accessible from the public Internet only.
  • アプリケーションをホストする Web サーバーは、バックエンド アプリケーション サーバーにアクセスできる必要がある。Web server hosting the application must be able to access a backend application server.
  • インターネットから Web アプリケーションへのすべてのトラフィックは、ファイアウォール仮想アプライアンスを経由する必要がある。All traffic from the Internet to the web application must go through a firewall virtual appliance. この仮想アプライアンスは、インターネット トラフィックのみで使用されます。This virtual appliance will be used for Internet traffic only.
  • アプリケーション サーバーへのすべてのトラフィックは、ファイアウォール仮想アプライアンスを経由する必要がある。All traffic going to the application server must go through a firewall virtual appliance. この仮想アプライアンスは、バックエンド サーバーへのアクセスと、VPN Gateway 経由でのオンプレミス ネットワークからのアクセスで使用されます。This virtual appliance will be used for access to the backend end server, and access coming in from the on-premises network via a VPN Gateway.
  • 管理者が、管理目的でのみ使用される第 3 のファイアウォール仮想アプライアンスを使用して、オンプレミス コンピューターからファイアウォール仮想アプライアンスを管理できる必要がある。Administrators must be able to manage the firewall virtual appliances from their on-premises computers, by using a third firewall virtual appliance used exclusively for management purposes.

これは、DMZ と保護されたネットワークを使用する標準的な境界ネットワーク (DMZ とも知られる) シナリオです。This is a standard perimeter network (also knowns as DMZ) scenario with a DMZ and a protected network. このようなシナリオを、NSG、ファイアウォール仮想アプライアンス、または両方の組み合わせを使用して Azure で構築できます。Such scenario can be constructed in Azure by using NSGs,firewall virtual appliances, or a combination of both. 次の表は、NSG とファイアウォール仮想アプライアンスの長所と短所の一部を示しています。The table below shows some of the pros and cons between NSGs and firewall virtual appliances.

長所Pros 短所Cons
NSGNSG コストがかかりません。No cost.
Azure RBAC に統合されます。Integrated into Azure RBAC.
Azure Resource Manager テンプレートでルールを作成できます。Rules can be created in Azure Resource Manager templates.
大規模な環境では複雑さが変化する可能性があります。Complexity could vary in larger environments.
ファイアウォールFirewall データ プレーンを完全に制御します。Full control over data plane.
ファイアウォール コンソールから一元管理します。Central management through firewall console.
ファイアウォール アプライアンスのコストがかかります。Cost of firewall appliance.
Azure RBAC と統合されません。Not integrated with Azure RBAC.

下のソリューションでは、ファイアウォール仮想アプライアンスを使用して、境界ネットワーク (DMZ) や保護されたネットワークのシナリオを実装します。The solution below uses firewall virtual appliances to implement a perimeter network (DMZ)/protected network scenario.

考慮事項Considerations

上で説明した環境を、次に示す現在使用できるさまざまな機能を使用して Azure にデプロイできます。You can deploy the environment explained above in Azure using different features available today, as follows.

  • 仮想ネットワーク (VNet)Virtual network (VNet). Azure VNet は、オンプレミス ネットワークに似た方法で機能し、トラフィックと問題を分離するために 1 つまたは複数のサブネットにセグメント化できます。An Azure VNet acts in similar fashion to an on-premises network, and can be segmented into one or more subnets to provide traffic isolation, and separation of concerns.
  • 仮想アプライアンスVirtual appliance. 複数のパートナーが、前述の 3 種類のファイアウォールのために使用できる仮想アプライアンスを Azure Marketplace で提供しています。Several partners provide virtual appliances in the Azure Marketplace that can be used for the three firewalls described above.
  • ユーザー定義ルート(UDR)User Defined Routes (UDR). ルート テーブルに、VNet 内のパケットのフローを制御するため Azure ネットワークによって使用される UDR を含めることができます。Route tables can contain UDRs used by Azure networking to control the flow of packets within a VNet. これらのルート テーブルをサブネットに適用できます。These route tables can be applied to subnets. Azure の最新機能の 1 つは、ルート テーブルを GatewaySubnet に適用して、Azure VNet で受信するハイブリッド接続から仮想アプライアンスへのすべてのトラフィックを転送できる機能です。One of the newest features in Azure is the ability to apply a route table to the GatewaySubnet, providing the ability to forward all traffic coming into the Azure VNet from a hybrid connection to a virtual appliance.
  • IP 転送IP Forwarding. 既定では、Azure ネットワーク エンジンは、パケットの宛先 IP アドレスが仮想ネットワーク インターフェイス カード (NIC) の IP アドレスと一致する場合のみ、パケットを NIC に転送します。By default, the Azure networking engine forward packets to virtual network interface cards (NICs) only if the packet destination IP address matches the NIC IP address. したがって、特定の仮想アプライアンスにパケットを送信する必要があることを UDR で定義している場合、Azure ネットワーク エンジンは、そのパケットを削除します。Therefore, if a UDR defines that a packet must be sent to a given virtual appliance, the Azure networking engine would drop that packet. パケットの実際の宛先ではない VM (ここでは仮想アプライアンス) にパケットが送信されるようにするには、仮想アプライアンスに対する IP 転送を有効にする必要があります。To ensure the packet is delivered to a VM (in this case a virtual appliance) that is not the actual destination for the packet, you need to enable IP Forwarding for the virtual appliance.
  • ネットワーク セキュリティ グループ (NSG)Network Security Groups (NSGs). 次の例では NSG を使用していませんが、このソリューションでサブネットまたは NIC に適用される NSG を使用して、サブネットと NIC とのトラフィックをさらにフィルター処理できます。The example below does not make use of NSGs, but you could use NSGs applied to the subnets and/or NICs in this solution to further filter the traffic in and out of those subnets and NICs.

IPv6 接続

この例で使用するサブスクリプションには、以下のものが含まれています。In this example there is a subscription that contains the following:

  • 2 つのリソース グループ (図には示されていません)2 resource groups, not shown in the diagram.
    • ONPREMRGONPREMRG. オンプレミス ネットワークをシミュレートするために必要なすべてのリソースを含みます。Contains all resources necessary to simulate an on-premises network.
    • AZURERGAZURERG. Azure 仮想ネットワーク環境に必要なすべてのリソースを含みます。Contains all resources necessary for the Azure virtual network environment.
  • 次に示すようにセグメント化されたオンプレミス データセンターを模倣するための onpremvnet という名前の VNet。A VNet named onpremvnet used to mimic an on-premises datacenter segmented as listed below.
    • onpremsn1onpremsn1. オンプレミス サーバーを模倣するための、Ubuntu を実行中の仮想マシン (VM) を含むサブネット。Subnet containing a virtual machine (VM) running Ubuntu to mimic an on-premises server.
    • onpremsn2onpremsn2. 管理者によって使用されるオンプレミス コンピューターを模倣するための、Ubuntu を実行中の仮想マシン (VM) を含むサブネット。Subnet containing a VM running Ubuntu to mimic an on-premises computer used by an administrator.
  • onpremvnet には、azurevnet へのトンネルを維持するために使用される OPFW という名前のファイアウォール仮想アプライアンスがあります。There is one firewall virtual appliance named OPFW on onpremvnet used to maintain a tunnel to azurevnet.
  • 次に示すようにセグメント化された azurevnet という名前の VNet。A VNet named azurevnet segmented as listed below.
    • azsn1azsn1. 外部ファイアウォールに対してのみ使用される外部ファイアウォール サブネット。External firewall subnet used exclusively for the external firewall. すべてのインターネット トラフィックは、このサブネットを通して受信されます。All Internet traffic will come in through this subnet. このサブネットには、外部ファイアウォールにリンクされた NIC だけが含まれます。This subnet only contains a NIC linked to the external firewall.
    • azsn2azsn2. インターネットからアクセスされる Web サーバーとして実行される VM をホストするフロントエンド サブネット。Front end subnet hosting a VM running as a web server that will be accessed from the Internet.
    • azsn3azsn3. フロントエンド Web サーバーによってアクセスされるバックエンド アプリケーション サーバーを実行する VM をホストするバックエンド サブネット。Backend subnet hosting a VM running a backend application server that will be accessed by the front end web server.
    • azsn4azsn4. すべてのファイアウォール仮想アプライアンスへのアクセスを管理するためにのみ使用される管理サブネット。Management subnet used exclusively to provide management access to all firewall virtual appliances. このサブネットには、このソリューションで使用される各ファイアウォール仮想アプライアンス用の NIC のみが含まれます。This subnet only contains a NIC for each firewall virtual appliance used in the solution.
    • GatewaySubnetGatewaySubnet. Azure VNet とその他のネットワークを接続するために ExpressRoute と VPN Gateway が必要とする Azure ハイブリッド接続サブネット。Azure hybrid connection subnet required for ExpressRoute and VPN Gateway to provide connectivity between Azure VNets and other networks.
  • azurevnet ネットワークには、次の 3 つのファイアウォール仮想アプライアンスがあります。There are 3 firewall virtual appliances in the azurevnet network.
    • AZF1AZF1. Azure の パブリック IP アドレス リソースを使用してパブリック インターネットに公開される外部ファイアウォール。External firewall exposed to the public Internet by using a public IP address resource in Azure. 3-NIC 仮想アプライアンスをプロビジョニングするテンプレート (Marketplace から、またはアプライアンス ベンダーから直接取得します) があることを確認する必要があります。You need to ensure you have a template from the Marketplace, or directly from your appliance vendor, that provisions a 3-NIC virtual appliance.
    • AZF2AZF2. azsn2azsn3 間のトラフィックを制御するために使用される内部ファイアウォール。Internal firewall used to control traffic between azsn2 and azsn3. これも 3-NIC 仮想アプライアンスです。This is also a 3-NIC virtual appliance.
    • AZF3AZF3. 管理者がオンプレミス データセンターからアクセスでき、すべてのファイアウォール アプライアンスを管理するために使用される管理サブネットに接続されている管理ファイアウォール。Management firewall accessible to administrators from the on-premises datacenter, and connected to a management subnet used to manage all firewall appliances. 2-NIC 仮想アプライアンスのテンプレートを Marketplace で探すか、アプライアンス ベンダーに直接要求できます。You can find 2-NIC virtual appliance templates in the Marketplace, or request one directly from your appliance vendor.

ユーザー定義ルーティング (UDR)User Defined Routing (UDR)

Azure の各サブネットは、そのサブネットで開始されたトラフィックをどのようにルーティングするかを定義するために使用される UDR テーブルにリンクすることができます。Each subnet in Azure can be linked to a UDR table used to define how traffic initiated in that subnet is routed. UDR が定義されていない場合、Azure では、既定のルートを使用してあるサブネットから別のサブネットにトラフィックが送信されることを許可します。If no UDRs are defined, Azure uses default routes to allow traffic to flow from one subnet to another. UDR の理解を深めるには、「 ユーザー定義ルートと IP 転送」をご覧ください。To better understand UDRs, visit What are User Defined Routes and IP Forwarding.

上記の要件に基づいて、適切なファイアウォール アプライアンスを経由して通信が行われることを保証するには、UDR を含む次のルート テーブルを azurevnet内に作成する必要があります。To ensure communication is done through the right firewall appliance, based on the last requirement above, you need to create the following route table containing UDRs in azurevnet.

azgwudrazgwudr

このシナリオでは、AZF3 に接続してファイアウォールを管理するためにオンプレミスから Azure に送信されるトラフィックのみが使用され、そのトラフィックを内部ファイアウォール AZF2 経由で送信する必要があります。In this scenario, the only traffic flowing from on-premises to Azure will be used to manage the firewalls by connecting to AZF3, and that traffic must go through the internal firewall, AZF2. したがって、 GatewaySubnet には、次に示す 1 つのルートのみが必要です。Therefore, only one route is necessary in the GatewaySubnet as shown below.

宛先Destination 次のホップNext hop 説明Explanation
10.0.4.0/2410.0.4.0/24 10.0.3.1110.0.3.11 オンプレミスのトラフィックが管理ファイアウォール AZF3Allows on-premises traffic to reach management firewall AZF3

azsn2udrazsn2udr

宛先Destination 次のホップNext hop 説明Explanation
10.0.3.0/2410.0.3.0/24 10.0.2.1110.0.2.11 アプリケーション サーバーをホストするバックエンド サブネットへのトラフィックが AZF2Allows traffic to the backend subnet hosting the application server through AZF2
0.0.0.0/00.0.0.0/0 10.0.2.1010.0.2.10 他のすべてのトラフィックが AZF1Allows all other traffic to be routed through AZF1

azsn3udrazsn3udr

宛先Destination 次のホップNext hop 説明Explanation
10.0.2.0/2410.0.2.0/24 10.0.3.1010.0.3.10 azsn2 へのトラフィックが、アプリケーション サーバーから AZF2 経由で Web サーバーに送信されることを許可します。Allows traffic to azsn2 to flow from app server to the webserver through AZF2

オンプレミス データセンターを模倣するために、 onpremvnet 内のサブネット用のルート テーブルも作成する必要があります。You also need to create route tables for the subnets in onpremvnet to mimic the on-premises datacenter.

onpremsn1udronpremsn1udr

宛先Destination 次のホップNext hop 説明Explanation
192.168.2.0/24192.168.2.0/24 192.168.1.4192.168.1.4 onpremsn2 へのトラフィックが OPFW 経由で送信されることを許可します。Allows traffic to onpremsn2 through OPFW

onpremsn2udronpremsn2udr

宛先Destination 次のホップNext hop 説明Explanation
10.0.3.0/2410.0.3.0/24 192.168.2.4192.168.2.4 Azure 内のバックエンド サブネットへのトラフィックが OPFWAllows traffic to the backed subnet in Azure through OPFW
192.168.1.0/24192.168.1.0/24 192.168.2.4192.168.2.4 onpremsn1 へのトラフィックが OPFW で送信されることを許可します。Allows traffic to onpremsn1 through OPFW

IP 転送IP Forwarding

UDR と IP 転送は、組み合わせて使用することで、Azure VNet 内のトラフィック フローを仮想アプライアンスで制御できるようにする機能です。UDR and IP Forwarding are features that you can use in combination to allow virtual appliances to be used to control traffic flow in an Azure VNet. 仮想アプライアンスは、アプリケーションを実行する VM にすぎません。ファイアウォールや NAT デバイスなど、ネットワーク トラフィックを何らかの方法で処理するために使用されるアプリケーションが仮想アプライアンスで実行されます。A virtual appliance is nothing more than a VM that runs an application used to handle network traffic in some way, such as a firewall or a NAT device.

仮想アプライアンスとして機能するこの VM は、自分宛てではない着信トラフィックを受信できることが必要です。This virtual appliance VM must be able to receive incoming traffic that is not addressed to itself. VM が自分以外の宛先に向かうトラフィックを受信するためには、VM の IP 転送を有効にする必要があります。To allow a VM to receive traffic addressed to other destinations, you must enable IP Forwarding for the VM. これは Azure の設定であり、ゲスト オペレーティング システムでの設定ではありません。This is an Azure setting, not a setting in the guest operating system. 仮想アプライアンスは、受信トラフィックを処理し、適切にルーティングするアプリケーションを実行する必要があります。Your virtual appliance still needs to run some type of application to handle the incoming traffic, and route it appropriately.

IP 転送の詳細については、「 ユーザー定義のルートおよび IP 転送とは」を参照してください。To learn more about IP Forwarding, visit What are User Defined Routes and IP Forwarding.

たとえば、Azure VNet が次のように設定されているとします。As an example, imagine you have the following setup in an Azure vnet:

  • サブネット onpremsn1onpremvm1 という名前の VM がある。Subnet onpremsn1 contains a VM named onpremvm1.
  • サブネット onpremsn2onpremvm2 という名前の VM がある。Subnet onpremsn2 contains a VM named onpremvm2.
  • OPFW という名前の仮想アプライアンスが onpremsn1onpremsn2 に接続されている。A virtual appliance named OPFW is connected to onpremsn1 and onpremsn2.
  • onpremsn1 にリンクされたユーザー定義ルートで、onpremsn2 に対するすべてのトラフィックを OPFW に送信する必要があると指定している。A user defined route linked to onpremsn1 specifies that all traffic to onpremsn2 must be sent to OPFW.

この時点で、onpremvm1onpremvm2 との接続を確立しようとした場合は、UDR が使用され、トラフィックは次のホップで OPFW に送信されます。At this point, if onpremvm1 tries to establish a connection with onpremvm2, the UDR will be used and traffic will be sent to OPFW as the next hop. パケットの実際の宛先は変更されず、宛先は onpremvm2 のままであることに注意してください。Keep in mind that the actual packet destination is not being changed, it still says onpremvm2 is the destination.

OPFW に対する IP 転送が有効になっていない場合、パケットは Azure 仮想ネットワークのロジックによって削除されます。これは、パケットの VM への送信は、送信先が VM の IP アドレスである場合にのみ許可されるためです。Without IP Forwarding enabled for OPFW, the Azure virtual networking logic will drop the packets, since it only allows packets to be sent to a VM if the VM’s IP address is the destination for the packet.

IP 転送が有効になっている場合、パケットは Azure 仮想ネットワークのロジックによって、元の宛先の変更なしで OPFW に転送されます。With IP Forwarding, the Azure virtual network logic will forward the packets to OPFW, without changing its original destination address. OPFW は、パケットを処理し、パケットに対して何を実行するかを決定する必要があります。OPFW must handle the packets and determine what to do with them.

上のシナリオを機能させるには、ルーティングするために使用される OPFWAZF1AZF2、および AZF3 用の NIC (管理サブネットにリンクされている NIC 以外のすべての NIC) に対する IP 転送を有効にする必要があります。For the scenario above to work, you must enable IP Forwarding on the NICs for OPFW, AZF1, AZF2, and AZF3 that are used for routing (all NICs except the ones linked to the management subnet).

ファイアウォール ルールFirewall Rules

前述したように、IP 転送は、パケットが仮想アプライアンスに送信されることを保証するだけです。As described above, IP Forwarding only ensures packets are sent to the virtual appliances. これらのパケットの処理方法はアプライアンスが決定する必要があります。Your appliance still needs to decide what to do with those packets. 上のシナリオでは、次のルールをアプライアンスに作成する必要があります。In the scenario above, you will need to create the following rules in your appliances:

OPFWOPFW

OPFW は、次のルールを含むオンプレミス デバイスを表します。OPFW represents an on-premises device containing the following rules:

  • ルート: 10.0.0.0/16 (azurevnet) へのすべてのトラフィックを、トンネル ONPREMAZURE 経由で送信する必要があります。Route: All traffic to 10.0.0.0/16 (azurevnet) must be sent through tunnel ONPREMAZURE.
  • ポリシー:port2ONPREMAZURE 間のすべての双方向トラフィックを許可します。Policy: Allow all bidirectional traffic between port2 and ONPREMAZURE.

AZF1AZF1

AZF1 は、次のルールを含む Azure の仮想アプライアンスを表します。AZF1 represents an Azure virtual appliance containing the following rules:

  • ポリシー:port1port2 間のすべての双方向トラフィックを許可します。Policy: Allow all bidirectional traffic between port1 and port2.

AZF2AZF2

AZF2 は、次のルールを含む Azure の仮想アプライアンスを表します。AZF2 represents an Azure virtual appliance containing the following rules:

  • ルート: 10.0.0.0/16 (onpremvnet) へのすべてのトラフィックを、port1 経由で Azure ゲートウェイ IP アドレス (つまり、10.0.0.1) に送信する必要があります。Route: All traffic to 10.0.0.0/16 (onpremvnet) must be sent to the Azure gateway IP address (i.e. 10.0.0.1) through port1.
  • ポリシー:port1port2 間のすべての双方向トラフィックを許可します。Policy: Allow all bidirectional traffic between port1 and port2.

ネットワーク セキュリティ グループ (NSG)Network Security Groups (NSGs)

ここで説明しているシナリオでは、NSG は使用されていません。In this scenario, NSGs are not being used. ただし、各サブネットに NSG を適用して、受信トラフィックと送信トラフィックを制限できます。However, you could apply NSGs to each subnet to restrict incoming and outgoing traffic. たとえば、次の NSG ルールを外部 FW サブネットに適用できます。For instance, you could apply the following NSG rules to the external FW subnet.

受信Incoming

  • サブネット内のすべての VM で、インターネットから ポート 80 へのすべての TCP トラフィックを許可します。Allow all TCP traffic from the Internet to port 80 on any VM in the subnet.
  • それ以外のインターネットからのすべてのトラフィックを拒否します。Deny all other traffic from the Internet.

送信Outgoing

  • インターネットへのすべてのトラフィックを拒否します。Deny all traffic to the Internet.

手順の概要High level steps

このシナリオをデプロイするには、次の概要手順に従います。To deploy this scenario, follow the high level steps below.

  1. Azure サブスクリプションにログインします。Login to your Azure Subscription.
  2. オンプレミス ネットワークを模倣するために VNet をデプロイする場合は、 ONPREMRGの一部であるリソースをプロビジョニングします。If you want to deploy a VNet to mimic the on-premises network, provision the resources that are part of ONPREMRG.
  3. AZURERGの一部であるリソースをプロビジョニングします。Provision the resources that are part of AZURERG.
  4. onpremvnet から azurevnet へのトンネルをプロビジョニングします。Provision the tunnel from onpremvnet to azurevnet.
  5. すべてのリソースがプロビジョニングされた後、onpremvm2 にサインインし、10.0.3.101 への ping を実行して、onpremsn2azsn3 間の接続をテストします。Once all resources are provisioned, sign in to onpremvm2 and ping 10.0.3.101 to test connectivity between onpremsn2 and azsn3.