Citrix ADC管理パーティション検証済みリファレンスデザイン
機能の概要
Citrix ADC 管理パーティションにより、単一の Citrix ADC インスタンスでソフトウェアレベルでのマルチテナントが可能になります。各パーティションには、独自のコントロールプレーンとネットワークプレーンがあります。
管理パーティションの主な利点は次のとおりです。
- コントロールプレーン — 分離された構成と管理
- データプレーン — 主要なパーティションのデータとファイルはパーティション境界内で厳重に管理されています
- ネットワークプレーン — トラフィックは独自のネットワーク構成で分離されます。同じCitrix ADC上の2つのパーティションでは、各パーティションを通過する同じトラフィックは認識されません
このドキュメントでは、Admin Partitionsによって実現される一般的な使用例と、お客様の環境でAdmin Partitionsを使用する際のガイドラインを詳しく説明します。
管理パーティションのユースケース
管理者パーティションのエンタープライズユースケース
Citrix ADC管理者は、Citrix ADCを複数のADCに分割し、そのパーティションをMicrosoft SharePointやMicrosoft Lyncなどのさまざまなアプリケーション管理者に割り当てることができます。各アプリケーション管理者/所有者は、独自の構成変更を行うことができます。
IP オーバーラップ: IP オーバーラップの主な利点は、同じ IP 範囲を IP の競合なしに異なる管理パーティション間で使用できることです。バックエンドサーバーでは、同じプライベート IP アドレスのセットを使用できます。IP オーバーラップのシナリオでは、VLAN を共有できません。
仮想ルーティング: ルーティング構成は各パーティションに固有であり、各パーティション所有者は独自のルーティングプロトコルを設定できます。
名前空間の分離: エンティティ名は異なるパーティション間で一意であるため、異なる管理パーティションで同じ名前を使用できます。
参照図:
シングルニック — 複数の VLAN
IP オーバーラップ:
管理パーティションのサービスプロバイダーのユースケース
サービスプロバイダーは、Citrix ADCを分割し、帯域幅要件と同時接続数に基づいて個々のクライアントに割り当てることができます。
サービスプロバイダーは、NITRO APIを使用してオーケストレーションツールを開発し、個々のクライアントから帯域幅要件と同時接続に関する入力を受け取り、パーティションを作成してクライアントに割り当てることができます。
以下は、サービスプロバイダーに役立つ一連の分離点です。
ファイルシステム:各パーティションにはファイルシステムの一部が割り当てられ 、それぞれのパーティションスペースに保存されているファイルは他のパーティションからは見えません。SSL 証明書/鍵はそのパーティションに保存され、他のパーティション所有者には見えません。そのため、各パーティションは安全になります。
共有 VLAN: マルチテナント環境の一般的なサービスプロバイダーでは、エンドカスタマーが受信トラフィック用に独立した VLAN を持っていない場合があります。共有 VLAN 機能は、専用 VLAN を使用できない場合に VLAN を共有します。
VLANタギング: 1つのインタフェースを複数の管理パーティションで共有し、タグ付きVLANを使用して分離できます。タグの付いていない VLAN の場合は、共有 VLAN を使用してください。
トラブルシューティングとデバッグ: 管理者は各パーティションのトラフィック統計を個別に表示し、パーティション ID でフィルタリングすることでログを分けることができます。あるパーティションから起動されたトレースでは、別のパーティションからのパケットは認識されないため、トレース機能によりパーティションの独立性が保証されます。
リファレンスダイアグラム
管理パーティションの実装に関するガイドライン
管理パーティションを使用すると、帯域幅、メモリ、同時接続などのリソースの共有が可能になり、ネットワーク、データ、管理プレーンでの分離が可能になります。
リソースの分割
ADC管理者は、管理パーティションを構成するために次の詳細情報を必要とします。
- 接続 — (TCP 接続の数)
- メモリ
- 帯域幅要件
接続数と帯域幅要件は、アプリケーションとそれぞれのパーティションで処理されるトラフィックによって異なります。ADC管理者はアプリケーション管理者と相談して、パーティションの接続/帯域幅を取得します。
メモリ割り当てガイドライン
デフォルトパーティションに割り当てられるメモリ量は、次の理由により、使用可能な合計メモリの 50% 以上でなければなりません。
- 将来的に制限に達した場合に他のパーティションのメモリを増やす柔軟性をお客様に提供するため。
- すべてのパーティションの統合キャッシュメモリは、デフォルトパーティションから取得されます。
PE が消費できるメモリの合計は 4 GB です。したがって、管理パーティションを除くすべてのパーティションに合計2 GBを割り当てることができます。
管理パーティションに割り当てられたメモリは、次の 2 つの目的で使用されます。
- 静的オブジェクト (構成、SSL キー) の保存
- 動的オブジェクト — 有効になっている機能のリストと接続の数によって、動的オブジェクトに割り当てられるメモリは異なります。
ADC管理者は、アプリ所有者からの接続と帯域幅の要件、および以下のガイドラインを使用してメモリ見積もりを決定します。
設定に静的メモリを割り当てる際のガイドライン
表1は、一般的に使用される構成と必要なメモリの一覧です。
テーブル 1
コンフィグのタイプ | パケットエンジンあたりのメモリ割り当て量 (KB 単位) |
---|---|
SNIP を追加 | 255 |
IPv4 サーバーの追加 | 0.384 |
[サービスを追加] | 5.253 |
vServerとサービスの追加 | 11.157 |
VLAN をパーティションにバインド | 0.116 |
ルートをパーティションに追加 | 0.564 |
ACL を追加 | 0.5 |
モニターの追加 | 4.34 |
サービスグループを追加 | 4.625 |
サーバをサービスグループにバインド | 5.817 |
CS アクションを追加 | 4.532 |
add cs policy | 2.548 |
add cs vserver | 11.589 |
cs ポリシーを cs vServer にバインド | 7.348 |
構成は PE 間で複製されるため、上記の要件に PE の数を掛ける必要があります。
ダイナミック・メモリーのガイドライン
テーブル 2
機能 | メモリ要件 |
---|---|
接続(Citrix ADC バージョンが12.0以上の場合にのみ適用) | 1 KB 接続あたり 2.4 MB |
永続セッション | 1 KB セッションあたり 600 KB |
GSLB パーシステントセッション | 1 KB セッションあたり 6 MB |
SSL | SSL オフロードでは 1000 SSL 接続/セッションの場合は 6 MB、エンドエンド SSL では 1000 SSL 接続/セッションの場合は 9 MB |
AAA — ユーザ数に依存 | ユーザー数* 2 KB |
書き換え — 書き換えポリシーによって解析される最大長を取得します | 接続数 * 最大長 |
レスポンダー — レスポンダーポリシーによって解析される最大長を取得します。 | 接続数 * 最大長 |
TCPバッファリング | 接続の 20% * 構成済みの TCP バッファのサイズ |
動的メモリ = 上の表の上記の各行から計算されたメモリの合計。
計算した合計メモリに 10 ~ 20% のバッファを追加します。
AppQoE のようないくつかの機能のメモリ要件は提供されません。パーティションメモリから消費されるメモリは、これらの機能では無視できるものであり、10 ~ 20% のバッファで処理するのに十分であるためです。
合計メモリ = 静的メモリ*PE の数 + 動的メモリ
必要なメモリが 1 GB で、パケットエンジンの数が 4 であるという結論に達したとします。次に、その特定のパーティションに必要なメモリ量は次の式で求められます。
管理パーティションのメモリ構成 = (必要なメモリ量/パケットエンジンの数)
管理パーティションメモリ = 1 GB/4 = 250 MB
リソース制限に達したときの動作
- 接続 — 新しい接続は削除されます
- 帯域幅 — 新しいトラフィックはドロップされます
- メモリ — 新しいトラフィックはドロップされます
特定のパーティションのリソースが使い果たされた場合にトリガーされるSNMPアラートを設定できます。SNMPトラップの一覧は、「その他のリソース」セクションに記載されています。
ネットワークプレーン
VLAN: ネットワークレベルの分離を維持するために、異なるVLANを設定して管理パーティションに割り当てます。
ルーティング:ルーティング構成はパーティションごとに異なります。
ADC管理者は、(アプリケーション管理者からの入力をもとに)ネットワーク管理者と相談して、ネットワークトポロジーに基づいてVLANとルーティング関連の設定を定義します。
L3 パラメータ:パーティションごとに指定できます。L3 パラメータには、DF パケットのドロップ、ICMP エラーしきい値、overridernat などがあり、入力はネットワークまたは ADC 管理者から行う必要があります。
コントロールプレーン:ユーザーエクスペリエンス
管理パーティションはさまざまなレベルで分離されるため、ユーザーは分離されたADCインスタンスを安全に管理できます。
分離のさまざまなレベルには次のものがあります。
- UI ページ — パーティションの構成と統計情報のみを表示
- 診断 — トレースの分離トレースは他のパーティションのトラフィックをキャプチャしません
- SNMP アラート-パーティションレベルで設定
- ログレベルの分離
UI レベルの分離は、次の方法を使用して設定できます。
- それぞれのパーティションで、1 つの SNIP の mgmt.access を有効にし、その SNIP を使用して GUI にアクセスします。これにより、UI レベルの分離が可能になり、そのパーティションのみを可視化できます。
テーブル 3
ログタイプ | パーティション固有 |
---|---|
ウェブログ | はい |
テクニカルサポートバンドル | はい |
監査ログ | いいえ |
/var/log | いいえ |
エンタープライズユースケース用管理パーティション
このセクションでは、Admin Partitions を使用する 4 つのアプリケーションを使用する企業のお客様のユースケースについて説明します。
顧客要件
-
4 つのアプリケーションをホストする必要がある
-
各アプリケーションには、独自の管理者と、それぞれ異なる ADC 要件があります。以下の表は、アプリケーションとその固有の要件を示しています。
テーブル 4
アプリケーション | 特性 | 要件/機能 |
---|---|---|
SharePoint | ファイル、オーディオ、ファイルなどの共有 | キャッシュ、圧縮、認証、SSL オフロード、SSL プロファイル |
データベース | カスタムSQLルール、認証、読み取りと書き込みの分割によるパフォーマンスの向上 | コンテンツスイッチ、SQL関連キーワード用ポリシーインフラ |
エンタープライズ Web サイト | パブリックアクセス-攻撃を受けやすい、アプリケーションファイアウォール | DDoS、AppQoE、AppFW、SSL プロファイル |
Outlook | AD、SSOとの統合、HTTPでのパフォーマンスの向上 | 認証 SSO、SSL オフロード |
上記の要件表から、Citrix ADC のメリットを最大限に引き出すには、アプリケーションごとに異なる構成セットが必要であることは明らかです。Citrix ADCをパーティション分割し、それらのパーティションをそれぞれのアプリケーション所有者に割り当てることをお勧めします。
帯域幅と接続数の推定
Outlook と SharePoint
SharePoint、Exchange、Lyncなどのエンタープライズアプリケーションの帯域幅は、次の要素に依存します。
- 同時ユーザー数
- 使用タイプ
- Exchange — メッセージの平均サイズと数
- SharePoint — ファイルのタイプ、読み取りと書き込みの比率
アプリケーション管理者は、上記の2つの要素を使用して帯域幅要件を計算し、管理者パーティションの構成に関する情報をCitrix ADC adminに提供します。
例:
Outlook 2010の帯域幅:ユーザーの種類 (ライト、ミディアム、ヘビーなど)。中規模ユーザーの場合、10 通のメールを送信し、40 通のメールを受信します。平均メッセージサイズ 50 kb = 2.15 Kbps 1,000 ユーザーの場合、必要な帯域幅は 2,150 Kbps です。
シェアポイントの帯域幅:ユーザー数 = 1,000 ユーザーの 20% が任意の時点でアクティブで、平均ページ読み込みサイズが 100 KB で、1 時間の間に約 10 ページにアクセスしていると仮定します。
= 100 KB *
200 *
10 /時 = 200000 KB/時 = 200000*8 (バイトあたり 8 ビット) /3600 (秒単位)
= 444 キロビット/秒
1 秒あたりの接続数 = アクティブユーザー数 *
10
MSSQL
クエリの速度と応答サイズに基づいて、帯域幅と接続を導き出します。
エンタープライズ Web サイト
帯域幅要件:平均ページサイズ ( *
任意の時点での最大ユーザー数 *
) 2
接続:最大ユーザー数* ユーザーあたりの接続数
例:
帯域幅:4KB10002 = 48000 キロビット/秒
最大ユーザー数 = 1000、ユーザーあたりの接続数 = 10。接続数 = 10K
ほとんどのユーザーがHTTP/1.1からの場合、ユーザーあたりの接続数は2〜3になりますが、組み合わせがHTTP/1.0に傾いている場合、接続数は10〜15になります。ユーザーあたりの接続数の乗算係数は、トラフィックとクライアントの組み合わせに応じて 3 ~ 15 で変化します。
設定するメモリは次の条件によって異なります。
- それぞれの管理パーティション内の設定のリスト — 静的メモリ。詳細については、表1を参照してください。
- ダイナミックメモリ — 接続の数と接続のタイプ (HTTP とSSL) — 詳細については、表 2 を参照してください。
- パケットエンジンの数。メモリ = (スタティックメモリ + ダイナミックメモリ)/(パケットエンジン数)
ADC 管理者の手順
- 各アプリケーションの帯域幅と接続を集める
- SharePoint、データベース、および Outlook 用にそれぞれ 3 つのパーティションを作成します。前のステップの帯域幅と接続を使用して、それぞれのパーティションに割り当てます。AppFWはデフォルトパーティションでのみサポートされているため、お客様がAppFWを必要とする場合は、エンタープライズWebサイトをデフォルトパーティションでホストできます。
- パーティションごとにユーザーを作成し、認証情報を共有します。
-
統合キャッシュを有効にして、キャッシュメモリを設定します。キャッシュメモリは、デフォルトパーティションに設定されているキャッシュメモリから取得されます。割り当ての詳細については、ICの付録セクションを参照してください。
- ADC 管理者に相談した上で、キャッシュメモリを割り当ててください。システム全体のキャッシュメモリの 30 ~ 40% を割り当ててみます。割り当てられた合計が 10 GB の場合は、SharePoint パーティションのキャッシュに約 3 ~ 4 GB を割り当てます。
- アプリケーション所有者は、最初にキャッシュ統計を監視して、利点のレベルを確認する必要があります。
- キャッシュオブジェクトのヒット率を確認し、多数のキャッシュオブジェクトのヒット率が高い場合は、その特定のパーティションの IC メモリのサイズを増やします。
- 圧縮を有効にする
- SharePoint は、異なるタイプ (Excel、PowerPoint、Word) のファイルを公開します。同じファイルを圧縮してクライアントに配信すると、帯域幅の使用量が減少します。
データベースユーザ
- CS、VIP、およびバックエンドサーバーを設定します。
- コンテンツスイッチングを使用して読み取り/書き込み要求を分割し、それぞれのサーバーセットにリダイレクトします。
エンタープライズ Web サイト
- VIP サーバーとバックエンドサーバーを設定します。
-
統合キャッシュを有効にします。
- エンタープライズ Web サイトはデフォルトパーティションにあるため、他のパーティションの未使用キャッシュメモリはエンタープライズ Web サイトで使用できます。したがって、SharePointとOutlookがそれぞれ35%消費すると仮定すると、合計消費量は70%になり、残りの30%はデフォルトパーティション(エンタープライズWebサイト)になります。キャッシュメモリの合計が 10 GB の場合、デフォルトパーティションには 3 GB のキャッシュメモリがあります。
- アプリケーション所有者は、最初にキャッシュ統計を監視して、利点のレベルを確認する必要があります。
- キャッシュオブジェクトのヒット率を確認し、多数のキャッシュオブジェクトのヒット率が高い場合は、その特定のパーティションの IC メモリのサイズを増やします。
- フロントエンドの最適化を有効にします。
- AppFW を有効にします。
サービスプロバイダー管理パーティションの使用事例
サービスプロバイダは Microsoft アプリケーションをホストし、IIS、SharePoint、および MSSQL アプリケーションをサービスとして提供します。顧客には通常、次のような要件があります。
お客様の要求
-
顧客 1: データベースサーバーにアクセスし、読み取り/書き込みの分割が 90:10 で、エンドカスタマーが SQL 関連のカスタムフィルタを設定したい
-
顧客 2: SSL 経由で Web アプリケーションにアクセスし、エンドカスタマーが SSL 証明書の管理を望んでいる
-
顧客3: サービスプロバイダからホストされている SharePoint にアクセスする
サービスプロバイダーは、顧客向けに次の目的でポータルをホストします。
- ホストするアプリケーションを選択してください
- 帯域幅要件
サービスプロバイダーは、顧客向けに次の目的でポータルをホストします。
- ホストするアプリケーションを選択してください
- 帯域幅要件
- 接続
選択に基づいて、サービスプロバイダーは、NITRO APIを使用して、バックエンドの特定のアプリケーションに関連する構成で適切なパーティションを構成できます。
お客様が選択したアプリケーションに基づいて、適切なオプションを選択します。
- SSL を使用するウェブアプリ
- VIP にバインドされる SSL 証明書オプション
- HTTP から HTTPS へのリダイレクト
- SSL プロファイル関連パラメータ
- SQL
- 顧客が設定したい SQL 関連のフィルター
- SharePoint
- キャッシュメモリ制限とルール
- 圧縮ポリシー
サービス・プロバイダは、管理パーティションの作成後に、2つのオプションのいずれかに従って要件を正確に実装します。
設定オプション 1:
サービスプロバイダーは顧客からの要求を収集し、それぞれのパーティションで実行します。
設定オプション 2:
NITRO API を使用して管理パーティションを自動化します。入力はフロントエンドポータルから収集でき、バックエンドではNITRO APIを実行してパーティションを設定できます。
機能に関する考慮事項
機能のサポート:管理者パーティションは、ほとんどの機能でサポートされ、唯一のいくつかの機能のためにサポートされていません。正確なリストについては、 Citrix Docsを参照し 、特定のソフトウェアリリースを確認してください。このテーブルには、サポートマトリックスをリストしたテーブルが含まれます。
設定上の制限事項。管理パーティションは次の環境ではサポートされていません。
-
クラスタリング
-
MPX-FIPS アプライアンス
結論
Admin Partitionsの主な利点は、ソフトウェアレベルでADCを分離でき、各パーティション所有者に安全で独立したユーザーエクスペリエンスを提供できることです。
そのほかの情報の入手先
トラブルシューティングツール
管理パーティションの一般的な問題:
ESX上のVPX上の管理パーティション:
-
カスタム MAC アドレスが設定されている場合、デフォルト以外のパーティションにはアクセスできません。
-
解決策:デフォルト以外のパーティションを機能させるには、ESX で無差別モードを有効にする必要があります。
構成失敗:
-
構成によっては、「入力ファイルが存在しません」というエラーが表示されないことがあります。
-
絶対パスではなく、相対パスを使用する必要があります。
VLAN 構成:
- 管理パーティションVLANはタグ付きVLANをサポートしているため、VLANにタグを付ける場合は、Citrix ADCインターフェイスが接続されるスイッチを適切なVLANで構成する必要があります。タグなしVLANの場合は、共有VLAN構成を使用してください
統合キャッシュメモリ割り当て
パーティション化されたCitrix ADCで統合キャッシュ(IC)を構成するには、デフォルトパーティションにICメモリを定義した後、スーパーユーザーは、すべての管理パーティションに割り当てられるICメモリの合計がデフォルトパーティションで定義されているICメモリを超えないように、各管理パーティションのICメモリを構成できます。。管理パーティション用に設定されていないメモリは、デフォルトパーティションで引き続き使用できます。
たとえば、2つの管理パーティションを持つCitrix ADCアプライアンスでは、デフォルトパーティションに10 GBのICメモリが割り当てられ、2つの管理パーティションのICメモリ割り当ては次のようになります。
-
パーティション 1:4 GB
-
パーティション 2:3 GB
そして、デフォルトのパーティションには 10-(4+3) = 3 GB の IC メモリが使用可能になっています。
注:
すべての IC メモリが管理パーティションで使用されている場合、デフォルトパーティションで使用できる IC メモリはありません。
メモリ使用量を確認するコマンド
- パーティション内の統計システムメモリは、パーティションのシステムレベルのメモリ割り当てを集計し、統計パーティション名はパーティション内で使用されているメモリの割合を示します。
>add partition p1
Done
>switch partition p1
Done
p1> stat system memory
done
Citrix ADC Memory Information:
Maximum Memory Available (MB): 50
Memory Currently Available (MB): 50
Memory Allocated (MB) 7
Memory Allocated (%) 14.95
InUse Memory (MB) 7
InUse Memory (%) 14.95
Free Memory (MB) 42
>stat partition p1
Partition(s) Summary
MinBW MaxBW MaxConn MaxMem
p1 10240 10240 1024 10
Partition Stats:
Rates (/s) Total
Current Bandwidth -- 0
Current Connections -- 0
Memory Usage (%) -- 14
Total Packet Drops 0 7
Total Drops (KB) 0 0
Total Connection Drops 0 0
<!--NeedCopy-->
- 設定メモリ:各設定はすべてのパケットエンジンで複製されるため、それに応じてメモリはすべてのパケットエンジン内に割り当てられます。たとえば、「add lb vserver」コマンドが各パケットエンジンで約10KBかかり、5パケットエンジンシステムで10MBのパーティションを作成した場合、合計で50KBのパーティションメモリを消費します。
- 特定の構成のメモリ要件の正確な値は、構成を適用してCitrix ADCシェルで次のコマンドを実行することで測定できます。
root@ns# nsconmsg -s nsppeid=0 -s nspartid=1 -g mem_cur_usedsize -d current
Displaying performance information
Citrix ADC V20 Performance Data
Citrix ADC NS11.0: Build 65.572.nc, Date: Apr 7 2016, 10:32:51
reltime:mili second between two records Thu Feb 23 13:45:18 2017
Index rtime totalcount-val delta rate/sec symbol-name&device-no
0 22681 1597631 8965 5333 mem_cur_usedsize partition_ctx(p1) (PART-1)
<!--NeedCopy-->
この実験では、PPE-0でパーティション ID 1 に約 9 KB のメモリが使用されています。Citrix ADCで構成されているすべてのパーティションには固有のIDがあります。
次のコマンドでは、特定のパーティションのシステム全体(すべてのパケットエンジンを含む)のメモリ推定値を測定できます。
root@ns# nsconmsg -s nspartid=1 -g mem_cur_used -d current
Displaying performance information
Citrix ADC V20 Performance Data
Citrix ADC NS11.0: Build 65.572.nc, Date: Apr 7 2016, 10:32:51
reltime:mili second between two records Thu Feb 23 13:44:27 2017
Index rtime totalcount-val delta rate/sec symbol-name&device-no
0 7000 7881865 6403 5333 mem_cur_usedsize partition_ctx(p1) (PART-1)
<!--NeedCopy-->
Citrix ADC 12.0で導入されたSNMPトラップのリスト
トラップ名 | 説明 |
---|---|
パーティションのConnLimitを超えました | パーティションの接続制限が使い果たされ、新しい接続が切断される |
パーティション接続制限ノーマル | パーティションが新しい接続を受け入れるようになりました |
パーティションのBWLimitを超えました | パーティションの帯域幅制限が使い果たされ、パケットがドロップされる |
パーティション BW しきい値に達しました | 現在の帯域幅使用量 80% 以上 |
パーティション接続しきい値に達しました | 現在のアクティブな接続数 >= 80% |
ParitionConn しきい値ノーマル | 現在のアクティブな接続数 <= 60% |
パーティション memThreshold に達しました | PE の現在のメモリ使用量 80% 以上 |
パーティション memThreshold 正常 | PE の現在のメモリ使用量 <= 60% |
パーティションメモリ制限を超えました | PE の現在のメモリ使用量 95% 以上 |