サブスクリプション間ロード バランサー
Azure Load Balancer はサブスクリプション間負荷分散をサポートしており、フロントエンド IP やバックエンド プール インスタンスを Azure Load Balancer とは異なるサブスクリプションに配置することができます。
この記事では、Azure Load Balancer を使用したサブスクリプション間負荷分散の概要と、それがサポートするシナリオについて説明します。
サブスクリプション間負荷分散とは
サブスクリプション間負荷分散を使用すると、複数のサブスクリプションに Azure Load Balancer リソースをデプロイできます。 この機能を使用すると、ロード バランサーをあるサブスクリプションにデプロイし、フロントエンド IP およびバックエンド プール インスタンスを別のサブスクリプションに配置することができます。 この機能は、ネットワークとアプリケーションの各リソースに個別のサブスクリプションを持っている組織に役立ちます。
次の表は、サブスクリプション間負荷分散でサポートされる可能性のあるシナリオの一部を示しています。
サブスクリプション 1 | サブスクリプション 2 |
---|---|
Load Balancer | バックエンド プール リソースとフロントエンド IP アドレス |
ロード バランサーとバックエンド プール リソース | フロントエンド IP アドレス |
ロード バランサーとフロントエンド IP アドレス | バックエンド プール リソース |
サブスクリプション間フロントエンド IP 構成
サブスクリプション間フロントエンドを使用すると、フロントエンド IP 構成をロード バランサーのサブスクリプションとは異なるサブスクリプションに配置することができます。 サブスクリプション間フロントエンド IP 構成を有効にするには、タグ "IsRemoteFrontend: True" を true に設定し、バックエンド プールで SyncMode プロパティを有効にする必要があります。
パブリック フロントエンド IP 構成
Azure Load Balancer が利用するパブリック IP アドレスは、ロード バランサーとは異なるサブスクリプションに配置することができます。 複数のパブリック IP アドレスがロード バランサーにアタッチされている場合、各 IP アドレスは異なるサブスクリプションのものである可能性があります。 たとえば、2 つのフロントエンド IP を持つロード バランサー (サブスクリプション C にデプロイされているもの) がある場合、1 つ目の IP アドレスはサブスクリプション B に配置し、2 つ目の IP アドレスはサブスクリプション A に配置することができます。
重要な注意点は、フロントエンド IP 構成の設定後は、そのサブスクリプションを変更できないことです。 ただし、フロントエンド IP 構成は、同じサブスクリプション内の別の IP アドレスを使って更新できます。 たとえば、フロントエンド IP 構成がサブスクリプション 1 の IP アドレス A にアタッチされている場合、それをサブスクリプション 1 の IP アドレス B に更新することもできます。 サブスクリプション間パブリック IP アドレスは、リージョン レベルの標準ロード バランサーでのみサポートされています
内部フロントエンド IP 構成
パブリック ロード バランサーと同様に、内部ロード バランサーもサブスクリプション間フロントエンド IP 構成を持つことができます。 この場合、サブネットまたは仮想ネットワークをロード バランサーとは異なるサブスクリプションに配置することができます。 ただし、パブリック フロントエンドとは異なり、すべての内部フロントエンド構成は同じサブネットまたは仮想ネットワークのものである必要があります。 さらに、すべてのバックエンド プールは、フロントエンド IP 構成と同じ仮想ネットワークに構成する必要があります。
サブスクリプション間バックエンド プール
サブスクリプション間バックエンドを使用すると、バックエンド インスタンスをロード バランサーのサブスクリプションとは異なるサブスクリプションに配置することができます。 たとえば、ロード バランサーはサブスクリプション 1 に配置し、バックエンド VM はサブスクリプション 2 に配置することができます。 バックエンド インスタンスとそれらが参照する仮想ネットワークは、別のサブスクリプションに配置できます。 サブスクリプション間バックエンド プールは、SyncMode という新しいプロパティを利用する必要があります。
SyncMode とは
SyncMode プロパティは、IP アドレスと仮想ネットワーク ID を使用してバックエンド プールを作成するときに指定できるパラメーターです。 サブスクリプション間フロントエンドまたはバックエンドを使用する場合は、このプロパティを設定する必要があります。 使用できる値は "Automatic" または "Manual" の 2 つです。 さらに、このプロパティを使うと、NIC ベースまたは IP ベースのバックエンド プールの概念を置き換えることができます。 その結果、SyncMode プロパティを構成したバックエンド プールは、NIC または IP ベースのバックエンド プールとは別の、異なる種類のバックエンド プールになります。 バックエンド プールは、NIC ベース、IP ベース、または SyncMode のみを有効にすることができます。
SyncMode "Automatic" を使用する方がよい場合
SyncMode を "Automatic" に構成すると、バックエンド プール インスタンスはロード バランサーの構成と同期されます。 その結果、バックエンド プール インスタンスへの変更は、ロード バランサーのバックエンド プールの構成に自動的に反映されます。 これは、バックエンド プールで仮想マシン スケール セットを使用する場合に関係します。 スケール セットがスケールイン/アウトすると、それに応じてプールのバックエンド プール メンバーが自動的に追加または削除されます。 NIC (ネットワーク インターフェイス カード) ベースのバックエンド プールと同様に、SyncMode が "Automatic" に設定されている場合、各バックエンド インスタンスの NIC もロード バランサー バックエンド プールを参照する必要があります。 その結果、ロード バランサーへの NIC リソースの参照を更新することで、バックエンド インスタンスは "Automatic" SyncMode バックエンド プールに追加されます。
SyncMode "Manual" を使用する方がよい場合
SyncMode を "Manual" に構成すると、バックエンド プール インスタンスはロード バランサーの構成と同期されません。 このモードでは、事前プロビジョニングされたプライベート IP アドレスを持つバックエンド プールを作成し、ディザスター リカバリー、アクティブ/パッシブ、動的プロビジョニングなどのシナリオに使用することができます。 "Manual" SyncMode バックエンド プールを使用する場合は、スケール セットの自動スケーリングなど、バックエンド インスタンスに変更が発生したときにバックエンド プールを更新する必要があります。
サブスクリプション間グローバル ロード バランサー
さらに、サブスクリプション間負荷分散は、Azure グローバル ロード バランサーでサポートされています。 サブスクリプション間グローバル ロード バランサーを使用すると、バックエンド リージョン ロード バランサーをそれぞれ異なるサブスクリプションに配置できます。 グローバル ロード バランサー上のサブスクリプション間バックエンドでは、他のパラメーターやバックエンド プールへの変更は必要ありません。
Note
現在、サブスクリプション間フロントエンドは Azure グローバル ロード バランサーではサポートされていません。
承認
サブスクリプション間負荷分散を有効にするには、"ネットワーク共同作成者" ロール、または両方のサブスクリプションで次の表に記載されている適切なアクションが割り当てられたカスタム ロールにユーザーを割り当てる必要があります。
サブスクリプション間フロントエンド
パブリック フロントエンド
Microsoft.Network/loadBalancers/frontendIPConfigurations/join/action Microsoft.Network/publicIPAddresses/join/action
内部フロントエンド
Microsoft.Network/loadBalancers/frontendIPConfigurations/join/action
サブスクリプション間バックエンド
Microsoft.Network/loadBalancers/backendAddressPools/write
Microsoft.Network/loadBalancers/backendAddressPools/join/action Microsoft.Network/virtualNetworks/write Microsoft.Network/networkInterfaces/write
クロステナント
テナントをまたいで作業する場合、"ネットワーク共同作成者" ロール、または両方のサブスクリプションのサブスクリプション間フロントエンドに対して適切なアクションが割り当てられたカスタム ロールにユーザーを割り当てる必要があります。 テナント間リンケージの詳細については、「テナントをまたいだ認証要求」を参照してください。
制限事項
- SyncMode は新しいバックエンド プールにのみ設定できます
- SyncMode プロパティは明示的に設定する必要があり、既定では SyncMode プロパティは指定されていません
- ロード バランサーのデプロイまたは更新時には API バージョン 2023-04-01 以降を使用する必要があります
- バックエンド プールの SyncMode プロパティを構成後に変更することはできません
- SyncMode プロパティを構成する場合は、仮想ネットワークを指定する必要があります。 バックエンド プールの仮想ネットワークを構成後に更新することはできません
- インバウンド NAT プールは、サブスクリプション間ロード バランサーではサポートされていません。 インバウンド NAT 規則を利用してください
- すべてのリソースは、ロード バランサーと同じリージョンにデプロイする必要があります
- SyncMode プロパティは、リージョン間ロード バランサーバックエンド プールではサポートされていません
- サブスクリプション間ロード バランサーをゲートウェイ ロード バランサーにチェーンすることはできません
- ゲートウェイ ロード バランサーにサブスクリプション間コンポーネントを含めることはできません