セキュリティ保護されたハイブリッド ネットワークを実装する

Azure Firewall
Azure Load Balancer
Azure Virtual Machines
Azure Virtual Network

次のリファレンス アーキテクチャは、オンプレミスのネットワークを Azure に拡張する、セキュリティ保護されたハイブリッド ネットワークを示しています。 このアーキテクチャでは、DMZ とも呼ばれる "境界ネットワーク" が、オンプレミス ネットワークと Azure の仮想ネットワークの間に実装されます。 すべての受信トラフィックと送信トラフィックは Azure Firewall を通過します。

アーキテクチャ

Diagram that shows the secure hybrid network architecture.

このアーキテクチャの Visio ファイルをダウンロードします。

コンポーネント

アーキテクチャ*は、次のアスペクト*で構成されています:

  • オンプレミス ネットワーク。 組織内に実装されているプライベートなローカル エリア ネットワーク。

  • Azure 仮想ネットワーク。 仮想ネットワークでは、Azure で実行されているソリューション コンポーネントと他のリソースがホストされます。

    仮想ネットワーク ルートでは、Azure 仮想ネットワーク内の IP トラフィックのフローが定義されます。 この図には、2 つのユーザー定義ルート テーブルが示されています。

    ゲートウェイ サブネット内では、トラフィックは Azure Firewall のインスタンスを経由してルーティングされます。

    Note

    VPN 接続の要件によっては、Border Gateway Protocol (BGP) のルートを構成し、オンプレミス ネットワーク経由でトラフィックを戻すよう指示する転送ルールを実装することができます。

  • ゲートウェイ。 ゲートウェイでは、オンプレミスのネットワーク内のルーターと仮想ネットワークの間の接続が提供されます。 ゲートウェイは、独自のサブネットに配置されます。

  • Azure FirewallAzure Firewall は、サービスとしてのマネージド ファイアウォールです。 Firewall のインスタンスは、独自のサブネットに配置されます。

  • ネットワーク セキュリティ グループセキュリティ グループを使用して、仮想ネットワーク内のネットワーク トラフィックを制限します。

  • Azure BastionAzure Bastion を使用すると、仮想マシン (VM) を直接インターネットに公開せずに、SSH またはリモート デスクトップ プロトコル (RDP) を介して仮想ネットワーク内の VM にログインできます。 Bastion を使用して、仮想ネットワーク内の VM を管理します。

    Bastion では、AzureBastionSubnet という専用サブネットが必要となります

考えられるユース ケース

このアーキテクチャでは、VPN ゲートウェイまたは ExpressRoute 接続のいずれかを使用して、オンプレミスのデータセンターに接続する必要があります。 このアーキテクチャの一般的な用途は次のとおりです。

  • ワークロードの一部がオンプレミスで、一部が Azure で実行されるハイブリッド アプリケーション。
  • オンプレミスのデータセンターから Azure 仮想ネットワークに入ってくるトラフィックをきめ細かく制御する必要があるインフラストラクチャ。
  • 送信トラフィックを監査する必要があるアプリケーション。 監査はしばしば、多くの商用システムで規制上の要件となっていて、プライベートな情報の一般への漏えいを防ぐ助けになります。

Recommendations

ほとんどのシナリオには、次の推奨事項が適用されます。 これらの推奨事項には、オーバーライドする特定の要件がない限り、従ってください。

アクセスの制御に関する推奨事項

ご利用のアプリケーション内のリソースは、Azure ロールベースのアクセス制御 (Azure RBAC) を使用して管理してください。 次のカスタム ロールの作成を検討してください。

  • アプリケーションのインフラストラクチャの管理、アプリケーション コンポーネントのデプロイ、および VM の監視と再起動を行うためのアクセス許可を持つ DevOps ロール。

  • ネットワーク リソースの管理と監視を行うための一元的 IT 管理者ロール。

  • ファイアウォールなどのセキュリティで保護されたネットワーク リソースを管理するためのセキュリティ IT 管理者ロール。

IT 管理者ロールは、ファイアウォール リソースへのアクセス権を持っているべきではありません。 アクセス権はセキュリティ IT 管理者ロールに限定してください。

リソース グループの推奨事項

VM、仮想ネットワーク、ロード バランサーなどの Azure リソースは、リソース グループにグループ化することで容易に管理できます。 Azure ロールを各リソース グループに割り当てて、アクセスを制限します。

次のリソース グループを作成することをお勧めします。

  • オンプレミス ネットワークに接続するための仮想ネットワーク (VM を除く)、NSG、およびゲートウェイのリソースが含まれるリソース グループ。 このリソース グループに一元的 IT 管理者ロールを割り当てます。
  • Azure Firewall インスタンス用の VM およびゲートウェイ サブネット用のユーザー定義ルートが含まれるリソース グループ。 このリソース グループにセキュリティ IT 管理者ロールを割り当てます。
  • ロード バランサーと VM を含むスポーク仮想ネットワークごとの個別のリソース グループ。

ネットワークの推奨事項

インターネットからの受信トラフィックを受け入れるには、宛先ネットワーク アドレス変換 (DNAT) 規則を Azure Firewall に追加します。

  • 宛先アドレスは、ファイアウォール インスタンスのパブリック IP アドレスです。
  • 変換されたアドレスは、仮想ネットワーク内のプライベート IP アドレスです。

サイト間 VPN トンネルを使用して、オンプレミス ネットワークを経由するすべての送信インターネット トラフィックを強制的にトンネリングし、ネットワーク アドレス変換 (NAT) を使用してインターネットにルーティングします。 このデザインにより、機密情報の偶発的漏えいを防ぎ、すべての発信トラフィックの検査と監査が可能になります。

スポーク ネットワーク サブネット内のリソースからのインターネット トラフィックを完全にブロックしないでください。 トラフィックをブロックすると、これらのリソースは、パブリック IP アドレスに依存する Azure PaaS サービスやその他の機能 (VM 診断ログ記録、VM 拡張機能のダウンロードなど) を使用できなくなります。 Azure Diagnostics でも、コンポーネントが Azure Storage アカウントに対する読み取りと書き込みが可能な必要があります。

送信インターネット トラフィックが正しく強制的にトンネリングされることを確認してください。 オンプレミス サーバー上のルーティングとリモート アクセス サービスと共に VPN 接続を使用している場合は、WireShark などのツールを使用してください。

SSL の終端には、Application Gateway または Azure Front Door の使用を検討します。

考慮事項

以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。

パフォーマンス効率

パフォーマンス効率とは、ユーザーによって行われた要求に合わせて効率的な方法でワークロードをスケーリングできることです。 詳細については、「パフォーマンス効率の柱の概要」を参照してください。

VPN Gateway の帯域幅制限について詳しくは、「ゲートウェイの SKU」をご覧ください。 帯域幅が広い場合は、ExpressRoute ゲートウェイへのアップグレードをご検討ください。 ExpressRoute では、VPN 接続よりも待機時間が短い最大 10 Gbps の帯域幅が提供されます。

Azure ゲートウェイのスケーラビリティの詳細については、次のスケーラビリティの考慮事項のセクションを参照してください。

大規模な仮想ネットワークと NSG の管理の詳細については、「Azure Virtual Network Manager (AVNM): セキュリティで保護されたハブ アンド スポーク ネットワークを作成する」を参照して、接続と NSG 規則を一元管理するための新しいハブアンドスポーク仮想ネットワーク トポロジを作成 (および既存のものをオンボード) します。

[信頼性]

信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の重要な要素の概要」を参照してください。

Azure ExpressRoute を使用して仮想ネットワークとオンプレミス ネットワークの間の接続を提供している場合は、ExpressRoute 接続が使用できなくなったときにフェールオーバーが行われるように VPN ゲートウェイを構成します。

VPN と ExpressRoute 接続の可用性を維持にするための情報については、次の可用性に関する考慮事項を参照してください。

オペレーショナル エクセレンス

オペレーショナル エクセレンスは、アプリケーションをデプロイし、それを運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「オペレーショナル エクセレンスの重要な要素の概要」を参照してください。

オンプレミス ネットワークから Azure へのゲートウェイ接続が停止している場合でも、Azure Bastion を使用して Azure 仮想ネットワーク内の VM に接続できます。

参照アーキテクチャの各層のサブネットは、NSG ルールによって保護されています。 Windows VM でリモート デスクトップ プロトコル (RDP) アクセスのためにポート 3389 を開くルールや、Linux VM で Secure Shell (SSH) アクセスのためにポート 22 を開くルールを作成することが必要な場合があります。 その他の管理ツールや監視ツールのために、追加のポートを開くルールが必要な場合があります。

ExpressRoute を使用してオンプレミスのデータセンターと Azure の間の接続を提供する場合は、Azure Connectivity Toolkit (AzureCT) を使用して接続の問題の監視とトラブルシューティングを行ってください。

VPN および ExpressRoute の接続の監視と管理に関するその他の説明については、Azure とオンプレミスの VPN を使ったハイブリッド ネットワーク アーキテクチャの実装に関する記事を参照してください。

セキュリティ

セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。

この参照アーキテクチャには、複数レベルのセキュリティが実装されています。

Azure Firewall を経由するすべてのオンプレミス ユーザー要求のルーティング

ゲートウェイ サブネット内のユーザー定義ルートでは、オンプレミスから受信した要求を除くすべてのユーザー要求がブロックされます。 このルートは、許可された要求をファイアウォールに渡します。 その要求は、ファイアウォール規則によって許可されている場合は、スポーク仮想ネットワークのリソースに渡されます。 他のルートを追加できますが、それらのルートで誤って、ファイアウォールをバイパスしたり、管理サブネットに向けた管理トラフィックをブロックしたりしないようにしてください。

NSG を使用したスポーク仮想ネットワーク サブネットへのトラフィックのブロック/転送

スポーク仮想ネットワーク内のリソース サブネットとの間のトラフィックは、NSG を使用して制限されます。 NSG ルールを拡張し、これらのリソースに対してより広範囲のアクセスを許可する必要がある場合は、その必要性をセキュリティ リスクと比較検討してください。 新しい受信経路が増えるたびに、偶発的または意図的に、データ漏えいやアプリケーションの破損が起きる可能性が高まります。

DDoS 保護

Azure DDoS Protection では、アプリケーションの設計に関するベスト プラクティスと組み合わせることにより、DDoS 攻撃からの保護を向上させるための強化された DDoS 軽減機能が提供されます。 すべての境界仮想ネットワークで Azure DDOS Protection を有効にする必要があります。

AVNM を使用してベースライン セキュリティ管理ルールを作成する

AVNM を使用すると、ネットワーク セキュリティ グループ規則よりも優先されるセキュリティ規則のベースラインを作成できます。 セキュリティ管理規則は NSG 規則の前に評価され、優先順位付け、サービス タグ、L3-L4 プロトコルをサポートするなど、NSG と同じ性質を持っています。 AVNM により、中央 IT はセキュリティ規則のベースラインを適用しながら、スポーク仮想ネットワーク所有者によって追加の NSG 規則の独立性を確保できます。 セキュリティ規則の変更の制御されたロールアウトを容易にするために、AVNM のデプロイ機能を使用すると、これらの構成の破壊的変更をハブ アンド スポーク環境に安全にリリースすることができます。

DevOps アクセス

Azure RBAC を使用して、DevOps が各階層で実行できる操作を制限します。 権限を付与する場合は、最小限の特権の原則を使用します。 構成の変更がすべて計画されたものであることを確認するため、すべての管理操作をログに記録し、定期的な監査を実行します。

コスト最適化

コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳しくは、コスト最適化の柱の概要に関する記事をご覧ください。

コストの見積もりには、Azure 料金計算ツールをご利用ください。 その他の考慮事項については、Microsoft Azure Well-Architected Framework のコスト最適化に関するセクションに説明されています。

ここでは、このアーキテクチャで使用されるサービスのコストに関する考慮事項を示します。

Azure Firewall

このアーキテクチャでは、ゲートウェイのサブネットとスポーク仮想ネットワーク内のリソースの間のトラフィックを制御するために、仮想ネットワーク内に Azure Firewall がデプロイされます。 この場合、Azure Firewall は、複数のワークロードで使用される共有ソリューションとして使用されるため、コスト効率が高くなります。 Azure Firewall の価格モデルを次に示します。

  • デプロイ時間あたりの固定レート。
  • 自動スケーリングをサポートするための GB あたりの処理済みデータ。

Azure Firewall を使用すると、ネットワーク仮想アプライアンス (NVA) と比較して、最大 30% から 50% を節約できます。 詳細については、Azure Firewall と NVA の比較に関するページをご覧ください。

Azure Bastion

Azure Bastion は、仮想マシンでパブリック IP を構成せずに、RDP および SSH を介して仮想マシンに安全に接続できます。

Bastion の課金は、ジャンプ ボックスとして構成された基本的な低レベル仮想マシンに相当します。 Bastion には組み込みのセキュリティ機能があるため、ジャンプ ボックスよりもコスト効率が高く、ストレージや別のサーバー管理のための余分なコストは発生しません。

Azure Virtual Network

Azure Virtual Network は無料です。 すべてのサブスクリプションで、すべてのリージョンで最大 50 の仮想ネットワークを作成できます。 仮想ネットワークの境界内で発信されたトラフィックはすべて無料です。 たとえば、相互に通信する同じ仮想ネットワーク内の VM では、ネットワーク トラフィック料金は発生しません。

内部ロード バランサー

同じ仮想ネットワーク内の仮想マシン間の基本的な負荷分散は無料です。

このアーキテクチャでは、仮想ネットワーク内でトラフィックを負荷分散させるために内部ロード バランサーが使用されます。

このシナリオのデプロイ

このデプロイでは、2 つのリソース グループが作成されます。1 つ目はモック オンプレミス ネットワーク、2 つ目はハブおよびスポーク ネットワークのセットを保持します。 モック オンプレミス ネットワークとハブ ネットワークは、Azure Virtual Network ゲートウェイを使用して接続され、サイト間接続を形成します。 この構成は、オンプレミスのデータセンターを Azure に接続する方法とよく似ています。

このデプロイが完了するまで最大で 45 分かかる場合があります。 推奨されるデプロイ方法では、以下のポータル オプションを使用しています。

Azure portal を使用する参照をデプロイするには、次のボタンを使用します。

Deploy to Azure

デプロイが完了したら、新しく作成された接続リソースを見て、サイト間接続を確認します。 Azure portal で、[接続] を検索し、各接続の状態を確認します。

Screenshot showing the status of connections.

スポーク ネットワークにある IIS インスタンスには、モック オンプレミス ネットワークに配置された仮想マシンからアクセスできます。 含まれている Azure Bastion ホストを使用して仮想マシンへの接続を作成し、Web ブラウザーを開き、アプリケーションのネットワーク ロード バランサーのアドレスに移動します。

詳細および他のデプロイ オプションについては、Secure Hybrid Network ソリューションのデプロイに使用される Azure Resource Manager テンプレート (ARM テンプレート) を参照してください。

次のステップ