アウトバウンドルールでは、公開Standard Load Balancerのソースネットワークアドレス変換(SNAT)を明示的に定義できます。 この構成では、ロード バランサーのパブリック IP アドレスを使用して、バックエンド インスタンスに送信インターネット接続を提供できます。
この構成を使用すると、以下が可能になります。
- IP マスカレード
- 許可リストを簡略化する。
- デプロイするパブリック IP リソース数の削減。
アウトバウンド規則を使用すると、送信インターネット接続を完全に宣言的に制御できます。 アウトバウンド規則を使用すると、特定のニーズに合わせてこの機能をスケーリングおよび調整することができます。
アウトバウンドルールは、バックエンドの仮想マシン(VM)にインスタンスレベルのパブリックIPアドレスがない場合に適用されます。
アウトバウンド規則を使用して、送信 SNAT の動作を明示的に定義できます。
アウトバウンド規則によって以下を制御できます。
-
どの仮想マシンがどのパブリック IP アドレスに変換されるか。
- バックエンド プール 1 では青色の IP アドレスを両方使用し、バックエンド プール 2 では黄色の IP プレフィックスを使用する 2 つのルール。
-
アウトバウンド SNAT ポートの割り当て方法。
- バックエンド プール 2 がアウトバウンド接続を行う唯一のプールである場合、バックエンド プール 2 にすべての SNAT ポートを提供し、バックエンド プール 1 には何も提供しません。
-
アウトバウンド変換の提供対象となるプロトコル。
- バックエンド プール 2 にアウトバウンド用の UDP ポートが必要で、バックエンド プール 1 に TCP が必要な場合は、TCP ポートを 1 に、UDP ポートを 2 に提供します。
-
アウトバウンド接続のアイドル タイムアウトの時間 (4 分から 120 分)。
- キープアライブを使用した長期の接続がある場合は、長期の接続用にアイドル ポートを最大 120 分間予約します。 古い接続が破棄され、新しい接続用にポートが 4 分以内に解放されることを想定します
-
アイドル タイムアウト時に TCP リセットを送信するかどうか。
- アイドル状態の接続がタイムアウトになった場合は、フローが破棄されていることがわかるように TCP RST をクライアントとサーバーに送信しますか?
重要
バックエンド プールを IP アドレスで構成すると、既定の送信が有効になっている Basic Load Balancerとして動作します。 既定でセキュリティで保護された構成の場合と、送信のニーズが厳しいアプリケーションの場合は、バックエンド プールを NIC 別に構成します。
アウトバウンド規則の定義
アウトバウンド規則は、負荷分散およびインバウンド NAT 規則と同じ使い慣れた構文 (フロントエンド + パラメーター + バックエンド プール) に従います。
アウトバウンド規則では、"フロントエンド" に変換される、"バックエンド プールによって識別されるすべての仮想マシン" のアウトバウンド NAT を構成します。
"パラメーター" により、アウトバウンド NAT アルゴリズムを細かく制御できます。
複数の IP アドレスでアウトバウンド NAT をスケーリングする
フロントエンドによって提供される追加の IP アドレスごとに、ロード バランサーが SNAT ポートとして使用する 64,000 個のエフェメラル ポートがさらに提供されます。 ロード バランサーでは、使用可能なポートに基づいて必要に応じて IP が使用されます。 ロード バランサーは、現在使用中の IP で接続できなくなると、次の IP を使います。
複数の IP アドレスを使用して大規模なシナリオを計画します。 Azure Load Balancer のサポートとトラブルシューティングに関するで説明されているように、送信側のルールを使用して SNAT の枯渇を軽減します。
パブリック IP プレフィックスをアウトバウンド規則で直接使用することもできます。
パブリック IP プレフィックスを使用すると、デプロイのスケーリングが向上します。 プレフィックスは、Azure リソースから送信されたフローの許可リストに追加できます。 パブリック IP アドレス プレフィックスを参照するように、ロード バランサー内のフロントエンド IP 構成を設定できます。
ロード バランサーにより、パブリック IP プレフィックスが制御されます。 アウトバウンド規則は、プレフィックスから現在使用中の IP でアウトバウンド接続を行うことができなくなると、パブリック IP プレフィックス内に含まれる他のパブリック IP アドレスを自動的に使います。
パブリック IP プレフィックス内の IP アドレスごとに、ロード バランサーが SNAT ポートとして使用する 64,000 個のエフェメラル ポートが追加で提供されます。
アウトバウンド フローのアイドル タイムアウトと TCP リセット
アウトバウンド規則には、アウトバウンド フローのアイドル タイムアウトを制御し、アプリケーションのニーズに合わせるための構成パラメーターがあります。 アウトバウンド アイドル タイムアウトの既定値は 4 分です。 詳細については、アイドル タイムアウトの構成に関する記事を参照してください。
ロード バランサーの既定の動作では、アウトバウンド アイドル タイムアウトに達すると、警告なしにフローが破棄されます。
enableTCPReset パラメーターを使用すると、予測可能なアプリケーションの動作と制御が可能になります。 このパラメーターを使用して、送信アイドル タイムアウトのタイムアウト時に双方向 TCP リセット (TCP RST) を送信するかどうかを指定します。
利用可能なリージョンなど、詳細については、アイドル タイムアウト時の TCP リセットに関するページをご覧ください。
送信接続を明示的に保護および制御する
負荷分散規則により、アウトバウンド NAT の自動プログラミングが提供されます。 負荷分散規則によるアウトバウンド NAT の自動プログラミングを無効にすることでメリットが得られる、またはこれが必要なシナリオもあります。 規則を介して無効にすると、動作を制御または調整できるようになります。
このパラメーターには、次の 2 通りの使い方があります。
アウトバウンド SNAT でのインバウンド IP アドレスの使用の防止。 負荷分散規則でアウトバウンド SNAT を無効にします。
インバウンドとアウトバウンドに同時に使用される IP アドレスのアウトバウンド SNAT パラメーターを調整します。 アウトバウンド規則による制御を可能にするには、自動のアウトバウンド NAT を無効にする必要があります。 インバウンドにも使用されるアドレスの SNAT ポートの割り当てを変更するには、
disableOutboundSnatパラメーターを true に設定する必要があります。
受信に使用される IP アドレスを再定義しようとすると、送信規則を構成する操作は失敗します。最初に、負荷分散規則の送信 NAT を無効にします。
重要
このパラメーターを true に設定し、送信接続を定義する送信規則がない場合、仮想マシンには送信接続がありません。 VM またはアプリケーションの一部の操作は、送信接続が使用可能かどうかによって異なります。 使用しているシナリオの依存関係を理解し、この変更による影響を考慮してください。
場合によっては、VM でアウトバウンド フローを作成するのは望ましくない場合があります。 アウトバウンド フローを受信する宛先やインバウンド フローを開始する宛先を管理するための要件がある場合もあります。 ネットワーク セキュリティ グループを使用して、VM が接続できる宛先を管理します。 NSG を使用して、インバウンド フローを開始するパブリックの宛先を管理します。
負荷分散された VM に NSG を適用するときは、サービス タグと既定のセキュリティ規則に注意してください。
VM がAzure Load Balancerから正常性プローブ要求を受信できることを確認します。
NSG が AZURE_LOADBALANCER 既定タグからの正常性プローブ要求をブロックすると、VM の正常性プローブが失敗して VM が利用不可とマークされます。 ロード バランサーにより、その VM への新しいフローの送信が停止されます。
アウトバウンド規則のシナリオ
- アウトバウンド接続をパブリック IP またはプレフィックスの特定のセットに構成する。
- SNAT ポートの割り当てを変更します。
- アウトバウンドのみを有効にする。
- VM 用のアウトバウンド NAT のみ (インバウンドなし)。
- 内部の標準ロード バランサー用のアウトバウンド NAT。
- パブリック標準ロード バランサーでアウトバウンド NAT の TCP および UDP の両方のプロトコルを有効にする。
シナリオ 1:アウトバウンド接続をパブリック IP またはプレフィックスの特定のセットに構成する
送信接続に使用されるパブリックIPアドレスを設定する
このシナリオは、パブリックStandard Load Balancer上のバックエンドVMに適用されます。 特定のパブリックIPアドレスセットやパブリックIPプレフィックスから発信する際に使うことができます。 その後、それらのアドレスやプレフィックスを許可リストやブロックリストに追加できます。
このパブリック IP またはプレフィックスは、負荷分散規則で使用されるものと同じにすることができます。
負荷分散規則で使用されるものとは異なるパブリック IP またはプレフィックスを使用するには、次のようにします。
- パブリック IP プレフィックスまたはパブリック IP アドレスを作成します。
- パブリック標準ロード バランサーを作成します。
- 使用するパブリック IP プレフィックスまたはパブリック IP アドレスを参照するフロントエンドを作成します。
- バックエンド プールを再利用するか、バックエンド プールを作成し、VM をパブリック ロード バランサーのバックエンド プールに配置します。
- フロントエンドを使用して VM のアウトバウンド NAT を有効にするように、パブリック ロード バランサーのアウトバウンド規則を構成します。 送信のために負荷分散規則を使用することは推奨されません。 負荷分散規則で送信 SNAT を無効にします。
シナリオ 2:SNAT ポートの割り当てを変更する
バックエンドインスタンスごとにSNATポートを設定する
このシナリオは、アウトバウンドルールを持つ公開Standard Load Balancerに適用されます。 バック エンドのプールサイズに基づいて自動SNATポート割り当てを調整し、SNATの枯渇が発生した場合には割り当てを増やすことも可能です。
| 配分ルール | Behavior |
|---|---|
| フロントエンドごとに利用可能なポート | パブリック IP アドレスごとに、最大 64,000 個のエフェメラル ポートが提供されます。 |
| VMごとに利用可能なポート数 | バックエンドプール内のVM間で利用可能なポート数を分けてください。 例えば、1台のVMは1つのフロントエンドIPアドレスから最大64,000ポートを受信でき、2台のVMはそれぞれ最大32,000ポートを受信できます。 |
| 割り当て増分 | ポートは8倍で指定してください。 Azure では、8 で割り切れない値は受け付けません。 ロードバランシングルールとインバウンドNATルールはそれぞれ8ポートの範囲を消費しますが、同じ範囲を共有するルールは追加のポートを消費しません。 |
| 容量検証 | VMごとに割り当てられるポート数にVMの数を掛けたものは、すべてのフロントエンドIPアドレスから利用可能なポート数を超えてはなりません。 Azureはこの容量を超える割り当てを拒否します。 |
| 自動割り当ての復元 | ポート数は 0 を指定する。 |
例えば、7台のVMに対して10,000ポートの割り当ては70,000ポートが必要です。 1つのフロントエンドIPアドレスは64,000ポートしか提供しないため、Azureはその設定を拒否します。 フロントエンドにもう一つのパブリックIPアドレスを追加するか、VMごとの割り当てを減らすことができます。
詳細については、 SNATポート割り当て表をご覧ください。
シナリオ 3:アウトバウンドのみを有効にする
インバウンドルールなしでアウトバウンド接続を提供します
このシナリオは、バックエンドVMが受信ロードバランシングルールなしでアウトバウンド接続を必要とするパブリックStandard Load Balancerに適用されます。 追加のルールを設定せずに、アウトバウンドルール自体を設定してください。
注記
Azure NAT Gateway は、ロード バランサーを必要とせずに、仮想マシンの送信接続を提供できます。 詳細については、「Azure NAT Gatewayを参照してください。
シナリオ 4:VM のアウトバウンド NAT のみ (インバウンドなし)
注記
Azure NAT Gateway は、ロード バランサーを必要とせずに、仮想マシンの送信接続を提供できます。 詳細については、「Azure NAT Gatewayを参照してください。
バックエンドVMの出口のみ接続設定をしてください
このシナリオは、インバウンド接続がない仮想ネットワークからのエグレスが必要なVMに適用されます。 Azure Load Balancer outbound rulesとAzure NAT Gatewayが利用可能なオプションです。
- パブリック IP またはプレフィックスを作成します。
- パブリック標準ロード バランサーを作成します。
- アウトバウンド専用のパブリック IP またはプレフィックスに関連付けられているフロントエンドを作成します。
- VM のバックエンド プールを作成します。
- VM をバックエンド プールに配置します。
- アウトバウンド NAT を有効にするアウトバウンド規則を構成します。
プレフィックスまたはパブリック IP を使用して、SNAT ポートをスケーリングします。 送信接続のソースを許可またはブロック リストに追加します。
シナリオ 5: 内部用の標準ロード バランサーに対するアウトバウンド NAT
注記
Azure NAT Gateway は、内部標準ロード バランサーを使用する仮想マシンに送信接続を提供できます。 詳細については、「Azure NAT Gatewayを参照してください。
内部標準ロードバランサーへのアウトバウンド接続を提供します
このシナリオは、内部標準のロードバランサーを使用するバックエンドVMに当てはまります。 これらのVMは、インスタンスレベルのパブリックIPアドレス、Azure NAT Gateway、またはバックエンドプールメンバーに関連付けられたアウトバウンド専用のパブリックロードバランサー構成を通じて明示的に提供しない限り、アウトバウンド接続を持ちません。
詳細については、「送信専用ロード バランサーの構成」を参照してください。
シナリオ 6: パブリック標準ロード バランサーでアウトバウンド NAT の TCP および UDP の両方のプロトコルを有効にする
アウトバウンドNATのためにTCPとUDPを有効にしてください
このシナリオはパブリックStandard Load Balancerに適用されます。 自動アウトバウンドNATはロードバランシングルールのトランスポートプロトコルに一致します。 TCPとUDPの両方のアウトバウンド接続を提供するには、すべてのプロトコルを使用するアウトバウンドルールを設定してください。
- 負荷分散規則でアウトバウンド SNAT を無効にします。
- 同じロード バランサーのアウトバウンド規則を構成します。
- VM によって既に使用されているバックエンド プールを再利用します。
- アウトバウンド規則の一部として "protocol": "All" を指定します。
インバウンド NAT 規則のみを使用している場合、アウトバウンド NAT は提供されません。
- VM をバックエンド プールに配置します。
- パブリック IP アドレスまたはパブリック IP プレフィックスを持つ 1 つ以上のフロントエンド IP 構成を定義する
- 同じロード バランサーのアウトバウンド規則を構成します。
- アウトバウンド規則の一部として "protocol": "All" を指定します
制限事項
- フロントエンド IP アドレスごとに使用可能なエフェメラル ポートの最大数は 64,000 個です。
- 構成可能なアウトバウンド アイドル タイムアウトの範囲は、4 から 120 分 (240 から 7200 秒) です。
- ロード バランサーでは、送信 NAT の ICMP はサポートされていません。サポートされているプロトコルは TCP と UDP のみです。
- アウトバウンド規則は、NIC のプライマリ IPv4 構成にのみ適用できます。 VM または NVA のセカンダリ IPv4 構成の送信規則を作成することはできません。 複数 NIC がサポートされています。
- セカンダリ IP 構成のアウトバウンド規則は、IPv6 でのみサポートされます。
- 可用性セット内のすべての仮想マシンを、アウトバウンド接続のバックエンド プールに追加する必要があります。
- 仮想マシン スケール セット内のすべての仮想マシンを、アウトバウンド接続のバックエンド プールに追加する必要があります。
次の手順
Azure Standard Load Balancer - Azure Load Balancerに関するよくある質問をご覧ください