Citrix ADC

Microsoft Exchange サーバーの負荷分散

このドキュメントでは、Citrix ADCアプライアンスを使用したMicrosoft Exchangeサーバーの負荷分散に関する推奨される構成例について説明します。

Citrix ADM StyleBooksは、ExchangeのCitrix ADC負荷分散構成を簡素化します。詳細については、「Microsoft Exchange StyleBook」を参照してください。

注:

Microsoft Exchange の負荷分散は、単一の負荷分散仮想サーバーを使用して実行できません。代わりに、このドキュメントに記載されている推奨設定に従ってください。

Microsoft Exchange 2016 とそれ以降のバージョンの違い

  • RPC ポートは使用されないため、Exchange 2016 で静的リモートプロシージャコール (RPC) ポートを構成する必要はありません。

  • 「2016 より下の Exchange のバージョン用」という名前のセクションはすべて、Exchange 2016 では必要ありません。

  • 2016 以外のバージョンのいずれかをすでに設定し、2016 に移行した場合は、それらを削除する必要はありません。存在しても問題はないからです。

注意事項

  • 2016 より下の Exchange サーバーを使用したリモートプロシージャコール (RPC) の場合、Exchange CAS サーバーを静的ポート割り当て用に構成する必要があります。詳細については、Microsoft ドキュメントの「Exchange 2010 クライアントアクセスサーバー:静的 RPC ポートを構成する」を参照してください。

  • この構成では、SSLオフロードにCitrix ADCアプライアンスを使用することを前提としています。詳細については、「Exchange 2010 で SSL オフロードを構成する方法」または「Exchange2013 で SSL オフロードを構成する方法」を参照してください。

  • Citrix ADCアプライアンスのSSLオフロード機能を使用しない場合は、サービスグループCAS_servicegroup_httpとモニターをタイプSSLに変更し、バインドをポート443に変更します。

  • サージ保護はMicrosoft Exchangeと互換性がありません。Microsoft Exchange に関連するサービスまたはサービスグループでは有効にしないでください。サージ保護を有効にすると、接続性と信頼性の問題が発生します。

  • 次の変数を適切な情報に置き換えます。

    • {HTTP パブリック IP}:パブリックエクスチェンジ HTTP エンドポイントの IP アドレス
    • {RPC パブリック IP}:パブリック Exchange RPC エンドポイントの IP アドレス(HTTP パブリック IP と同じでもよい)
    • {Timeout}:必要なタイムアウト(秒)。標準的な作業シフト時間(つまり8時間)の長さにすることを推奨
    • {perstimeOut}:必要なタイムアウト(分単位)。前述の [タイムアウト] 設定に対応する必要があります。
    • {AB ポート}:RPC アドレス帳 TCP ポート(通常 59601)
    • {CA ポート}:RPC クライアントアクセス TCP ポート(通常は 59600)
    • {certKey} — SSL 証明書キー
    • {CAS-1 サーバ}:CAS サーバの IP アドレス
    • {CAS-2 サーバ}:CAS サーバの IP アドレス

Microsoft Exchange サーバーのすべてのバージョンで推奨される構成例

サービスグループ:

添加serviceGroup CAS_servicegroup_http HTTP -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -SP OFF -useproxyport YES -cltTimeout {Timeout} -svrTimeout {Timeout} -CKA NO -TCPB NO -CMP YES add serviceGroup CAS_servicegroup_rpc_epm TCP -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -SP OFF -useproxyport YES -cltTimeout {Timeout} -svrTimeout {Timeout} -CKA NO -TCPB NO -CMP NO bind serviceGroup CAS_servicegroup_http {CAS-1 Server} 80 -CustomServerID ""None"" bind serviceGroup CAS_servicegroup_http {CAS-2 Server} 80 -CustomServerID ""None"" bind serviceGroup CAS_servicegroup_rpc_epm {CAS-1 Server} 135 -CustomServerID ""None"" bind serviceGroup CAS_servicegroup_rpc_epm {CAS-2 Server} 135 -CustomServerID ""None"" 

モニタ:

add lb monitor CAS_monitor_rpc_epm TCP -LRTM ENABLED -destPort 135 add lb monitor mon_http_ecv HTTP-ECV -recv 403 -LRTM DISABLED bind serviceGroup CAS_servicegroup_http -monitorName mon_http_ecv bind serviceGroup CAS_servicegroup_rpc_epm -monitorName CAS_monitor_rpc_epm 

仮想サーバーの負荷分散:

加磅vserver CAS_vserver_owa SSL 0.0.0.0 0珀耳斯istenceType COOKIEINSERT -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout} add lb vserver CAS_vserver_as SSL 0.0.0.0 0 -persistenceType RULE -timeout {PersTimeout} -lbMethod LEASTCONNECTION -rule "HTTP.REQ.HEADER("Authorization")" -cltTimeout {Timeout} add lb vserver CAS_vserver_oa SSL 0.0.0.0 0 -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout} add lb vserver CAS_vserver_ews SSL 0.0.0.0 0 -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout} add lb vserver CAS_vserver_ad SSL 0.0.0.0 0 -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout} add lb vserver CAS_vserver_oab SSL 0.0.0.0 0 -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout} set ssl vserver CAS_vserver_owa -sslRedirect ENABLED bind ssl vserver CAS_vserver_owa -certkeyName {CertKey} bind ssl vserver CAS_vserver_oab -certkeyName {CertKey} bind ssl vserver CAS_vserver_as -certkeyName {CertKey} bind ssl vserver CAS_vserver_oa -certkeyName {CertKey} bind ssl vserver CAS_vserver_ews -certkeyName {CertKey} bind ssl vserver CAS_vserver_ad -certkeyName {CertKey} bind lb vserver CAS_vserver_owa CAS_servicegroup_http bind lb vserver CAS_vserver_oab CAS_servicegroup_http bind lb vserver CAS_vserver_as CAS_servicegroup_http bind lb vserver CAS_vserver_oa CAS_servicegroup_http bind lb vserver CAS_vserver_ews CAS_servicegroup_http bind lb vserver CAS_vserver_ad CAS_servicegroup_http add lb vserver CAS_vserver_rpc_epm TCP {RPC Public IP} 135 -timeout {PersTimeout} -cltTimeout {Timeout} -comment "vserver for RPC End Point Mapper" bind lb vserver CAS_vserver_rpc_epm CAS_servicegroup_rpc_epm 

永続性グループ:

add lb group CAS_persistency_group_sourceip bind lb group CAS_persistency_group_sourceip CAS_vserver_oa bind lb group CAS_persistency_group_sourceip CAS_vserver_oab bind lb group CAS_persistency_group_sourceip CAS_vserver_ews bind lb group CAS_persistency_group_sourceip CAS_vserver_ad bind lb group CAS_persistency_group_sourceip CAS_vserver_rpc_epm set lb group CAS_persistency_group_sourceip -persistenceType SOURCEIP -timeout {PersTimeout} 

HTTP サービスのコンテンツスイッチング:

添加cs vserver CAS_vserver_cs SSL{公共IP} 443-cltTimeout {Timeout} -caseSensitive OFF -comment "Exchange CS VServer" bind ssl vserver CAS_vserver_cs -certkeyName {CertKey} add cs action CAS_action_cs_owa -targetLBVserver CAS_vserver_owa add cs action CAS_action_cs_oab -targetLBVserver CAS_vserver_oab add cs action CAS_action_cs_as -targetLBVserver CAS_vserver_as add cs action CAS_action_cs_oa -targetLBVserver CAS_vserver_oa add cs action CAS_action_cs_ews -targetLBVserver CAS_vserver_ews add cs action CAS_action_cs_autodiscover -targetLBVserver CAS_vserver_ad add cs policy CAS_policy_cs_owa -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).STARTSWITH("/owa")" -action CAS_action_cs_owa add cs policy CAS_vserver_oab -rule "HTTP.REQ.URL.SET_TEXT_MODE (IGNORECASE).STARTSWITH("/OAB")" add cs policy CAS_policy_cs_as -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).STARTSWITH("/Microsoft-Server-ActiveSync")" -action CAS_action_cs_as add cs policy CAS_policy_cs_autodiscover -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).STARTSWITH("/Autodiscover")" -action CAS_action_cs_autodiscover add cs policy CAS_policy_cs_oa -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).STARTSWITH("/rpc")" -action CAS_action_cs_oa add cs policy CAS_policy_cs_ews -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).STARTSWITH("/EWS")" -action CAS_action_cs_ews bind cs vserver CAS_vserver_cs -policyName CAS_policy_cs_oa -priority 90 bind cs vserver CAS_vserver_cs -policyName CAS_policy_cs_owa -priority 100 bind cs vserver CAS_vserver_cs -policyName CAS_policy_cs_oab -priority 100 bind cs vserver CAS_vserver_cs -policyName CAS_policy_cs_as -priority 110 bind cs vserver CAS_vserver_cs -policyName CAS_policy_cs_autodiscover -priority 120 bind cs vserver CAS_vserver_cs -policyName CAS_policy_cs_ews -priority 130 bind cs vserver CAS_vserver_cs -lbvserver CAS_vserver_owa 

2016 年より前のバージョンの Microsoft Exchange サーバーの推奨構成例

追加のサービスグループ:

add serviceGroup CAS_servicegroup_rpc_ca TCP -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -SP OFF -useproxyport YES -cltTimeout {Timeout} -svrTimeout {Timeout} -CKA NO -TCPB NO -CMP NO add serviceGroup CAS_servicegroup_rpc_ab TCP -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -SP OFF -useproxyport YES -cltTimeout {Timeout} -svrTimeout {Timeout} -CKA NO -TCPB NO -CMP NO bind serviceGroup CAS_servicegroup_rpc_ca {CAS-1 Server} {CA Port} -CustomServerID ""None"" bind serviceGroup CAS_servicegroup_rpc_ca {CAS-2 Server} {CA Port} -CustomServerID ""None"" bind serviceGroup CAS_servicegroup_rpc_ab {CAS-1 Server} {AB Port} -CustomServerID ""None"" bind serviceGroup CAS_servicegroup_rpc_ab {CAS-2 Server} {AB Port} -CustomServerID ""None"" 

追加のモニタ:

加磅监控CAS_monitor_rpc_ca TCP -LRTM启用D -destPort {CA Port} add lb monitor CAS_monitor_rpc_ab TCP -LRTM ENABLED -destPort {AB Port} bind serviceGroup CAS_servicegroup_rpc_ca -monitorName CAS_monitor_rpc_ca bind serviceGroup CAS_servicegroup_rpc_ab -monitorName CAS_monitor_rpc_ab 

追加の負荷分散仮想サーバー:

add lb vserver CAS_vserver_rpc_ab TCP {RPC Public IP} {AB Port} -timeout {PersTimeout} -cltTimeout {Timeout} -comment "vserver for RPC Address Book" add lb vserver CAS_vserver_rpc_ca TCP {RPC Public IP} {CA Port} -timeout {PersTimeout} -cltTimeout {Timeout} -comment "vserver for RPC Client Access" bind lb vserver CAS_vserver_rpc_ab CAS_servicegroup_rpc_ab bind lb vserver CAS_vserver_rpc_ca CAS_servicegroup_rpc_ca 

追加の永続性グループ:

bind lb group CAS_persistency_group_sourceip CAS_vserver_rpc_ab bind lb group CAS_persistency_group_sourceip CAS_vserver_rpc_ca 

Microsoft Exchange サーバー 2016 以降のバージョンの推奨構成例

追加の負荷分散仮想サーバー:

add lb vserver CAS_vserver_mapi SSL 0.0.0.0 0 -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout} bind ssl vserver CAS_vserver_mapi -certkeyName {CertKey} bind lb vserver CAS_vserver_mapi CAS_servicegroup_http 

追加の永続性グループ:

bind lb group CAS_persistency_group_sourceip CAS_vserver_mapi 

HTTP サービスのコンテンツスイッチング:

add cs action CAS_action_cs_mapi -targetLBVserver CAS_vserver_mapi add cs policy CAS_policy_cs_mapi -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).STARTSWITH("/mapi")" -action CAS_action_cs_mapi bind cs vserver CAS_vserver_cs -policyName CAS_policy_cs_mapi -priority 140 

オプションの構成

Outlook ウェブアプリ (OWA) の HTTPS リダイレクト:

add lb vserver CAS_vserver_owa_http_redirect HTTP {HTTP Public IP} 80 -persistenceType COOKIEINSERT -timeout {PersTimeout} -lbMethod ROUNDROBIN -redirectURL "https://mail.example.com/owa" -cltTimeout {Timeout} 

注:適切な HTTPS リダイレクト URL に置き換えてください。

/owa 書き換えのポリシー:

add rewrite action owa_rewrite replace http.REQ.URL ""/owa"" add rewrite policy owa_rewrite_policy "http.req.url.eq("/")" owa_rewrite bind lb vserver CAS_vserver_owa -policyName owa_rewrite_policy -priority 100 -gotoPriorityExpression END -type REQUEST add responder action action_responder_owa redirect ""https://www.example.com/owa"" add responder policy_responder_owa HTTP.REQ.IS_VALID action_responder_owa set responder param -undefAction NOOP bind lb vserver CAS_vserver_owa -policyName policy_responder_owa -priority 100 -gotoPriorityExpression END -type REQUEST 

注:適切な HTTPS リダイレクト URL に置き換えてください。

SMTP のサポート:

次の構成では、CAS サーバが検証のために送信側の SMTP サーバの IP アドレスを確認できるように、USIP を有効にする必要があります。また、この設定では、CAS サーバーのデフォルトゲートウェイが ADC アプライアンスの SNIP アドレスを指すように構成されている必要があります。

add lb vserver CAS_vserver_smtp TCP {HTTP Public IP} 25 -persistenceType SOURCEIP -timeout 60 -lbMethod LEASTCONNECTION -cltTimeout 30 add serviceGroup CAS_servicegroup_smtp TCP -maxClient 0 -maxReq 0 -cip DISABLED -usip YES -SP OFF -useproxyport YES -cltTimeout 30 -svrTimeout 30 -CKA NO -TCPB NO -CMP NO bind serviceGroup CAS_servicegroup_smtp {CAS-1 Server} 25 -CustomServerID ""None"" bind serviceGroup CAS_servicegroup_smtp {CAS-2 Server} 25 -CustomServerID ""None"" bind lb vserver CAS_vserver_smtp CAS_servicegroup_smtp 

郵便局プロトコルバージョン 3 (POP3) のサポート:

add lb vserver CAS_vserver_pop3 TCP {HTTP Public IP} 110 -persistenceType SOURCEIP -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout} add serviceGroup CAS_servicegroup_pop3 TCP -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -SP OFF -useproxyport YES -cltTimeout {Timeout} -svrTimeout {Timeout} -CKA NO -TCPB NO -CMP NO bind serviceGroup CAS_servicegroup_pop3 {CAS-1 Server} 110 -CustomServerID ""None"" bind serviceGroup CAS_servicegroup_pop3 {CAS-2 Server} 110 -CustomServerID ""None"" bind lb vserver CAS_vserver_pop3 CAS_servicegroup_pop3 

注:

SSL 暗号化 POP3 の前の構成を実行するには、ポートを 995 に、仮想サーバー/サービスタイプを SSL に変更します。適切な SSL 証明書もバインドします。

IMAP のサポート:

add lb vserver CAS_vserver_imap TCP {HTTP Public IP} 143 -persistenceType SOURCEIP -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout} add serviceGroup CAS_servicegroup_imap TCP -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -SP OFF -useproxyport YES -cltTimeout {Timeout} -svrTimeout {Timeout} -CKA NO -TCPB NO -CMP NO bind serviceGroup CAS_servicegroup_imap {CAS-1 Server} 143 -CustomServerID ""None"" bind serviceGroup CAS_servicegroup_imap {CAS-2 Server} 143 -CustomServerID ""None"" bind lb vserver CAS_vserver_imap CAS_servicegroup_imap 

注:

SSL 暗号化 IMAP の前の設定を実行するには、ポートを 993 に、仮想サーバ/サービスタイプを SSL に変更します。適切な SSL 証明書もバインドします。

そのほかの参照先