アーキテクチャ
次の図は、DNS をトラフィックディストリビューターとして使用する Auto Scaling 機能のアーキテクチャを示しています。
次の図は、トラフィックディストリビューターとして NLB を使用する Auto Scaling 機能のアーキテクチャを示しています。
Citrix Application Delivery Management(ADM)
Citrix Application Delivery Management は、オンプレミスまたはクラウドに展開されるすべてのCitrix ADC 展開を管理するためのWebベースのソリューションです。このクラウドソリューションを使用すると、単一の統合された、一元化されたクラウドベースのコンソールから、グローバルアプリケーション配信インフラストラクチャ全体を管理、監視、トラブルシューティングできます。Citrix Application Delivery Management(ADM)は、Citrix ADC 展開環境でのアプリケーション配信のセットアップ、展開、管理に必要なすべての機能を提供し、アプリケーションの正常性、パフォーマンス、およびセキュリティを豊富に分析します。
Autoscale グループはCitrix ADMで作成され、Citrix ADC VPXインスタンスはCitrix ADMからプロビジョニングされます。アプリケーションは、Citrix ADM スタイルブックを通じて展開されます。
トラフィックディストリビュータ(NLB または DNS /ルート53)
NLB または DNS/route53 は、Autoscale グループ内のすべてのノードにトラフィックを分散するために使用されます。詳しくは、「AutoScaleトラフィック分散モード」を参照してください。
Citrix ADMはトラフィックディストリビュータと通信し,アプリケーションをフロントエンドする負荷分散仮想サーバーのアプリケーションドメインとIPアドレスを更新します。
Citrix ADM Autoscaleグループ
Autoscaleグループは、Citrix ADC インスタンスのグループで、アプリケーションを単一のエンティティとして負荷分散し、設定されたしきい値パラメータ値に基づいて自動スケーリングをトリガーします。
Citrix ADC クラスター
Citrix ADCクラスターは、Citrix ADC VPXインスタンスのグループであり、各インスタンスはノードと呼ばれます。クライアントトラフィックは、高可用性、高スループット、およびスケーラビリティを提供するために、ノード間で分散されます。
注
- 自動スケーリングの決定は、ノードレベルではなく、クラスターレベルで行われます。
- 独立したクラスターは異なるアベイラビリティーゾーンでホストされるため、一部の共有状態機能のサポートには制限があります。
ソース IPパーシステンスなどのパーシステンスセッションや Cookie ベースのパーシステンス以外のパーシステンスセッションは、クラスタ間で共有できません。ただし、ロードバランシングメソッドなどのステートレス機能はすべて、複数のアベイラビリティーゾーンで期待どおりに動作します。
AWS Auto Scaling グループ
AWS Auto Scaling グループは、同様の特性を共有する EC2 インスタンスの集合であり、インスタンスのスケーリングおよび管理を目的として論理的なグループとして扱われます。
AWS アベイラビリティーゾーン
AWS アベイラビリティーゾーンは、リージョン内の独立した場所です。各リージョンは、複数のアベイラビリティーゾーンで構成されています。各アベイラビリティーゾーンは 1 つのリージョンに属しています。
トラフィック分散モード
アプリケーションのデプロイをクラウドに移行すると、自動スケーリングはインフラストラクチャの一部になります。アプリケーションがオートスケーリングを使用してスケールアウトまたはスケールインする場合、これらの変更をクライアントに伝播する必要があります。この伝播は、DNS ベースまたは NLB ベースの自動スケーリングを使用して実現されます。
NLB ベースの自動スケーリング
NLB ベースのデプロイモードでは、クラスターノードへのディストリビューション層が AWS ネットワークロードバランサーになります。
NLB ベースの自動スケーリングでは、アベイラビリティーゾーンごとに 1 つの静的 IP アドレスしか提供されません。これは route53 に追加されるパブリック IP アドレスであり、バックエンド IP アドレスはプライベートにすることができます。このパブリックIPアドレスでは、自動スケーリング中にプロビジョニングされた新しいCitrix ADC インスタンスはプライベートIPアドレスを使用して動作し、追加のパブリックIPアドレスは必要ありません。
NLB ベースの自動スケーリングを使用して TCP トラフィックを管理します。DNS ベースの自動スケーリングを使用して UDP トラフィックを管理します。
DNS ベースの自動スケーリング
DNSベースの自動スケーリングでは、DNSはCitrix ADC クラスターノードへのディストリビューションレイヤーとして機能します。スケーリングの変更は、アプリケーションに対応するドメイン名を更新することによってクライアントに伝播されます。現在、DNS プロバイダーは AWS Route53 です。
注:
DNSベースの自動スケーリングでは、各Citrix ADCインスタンスにはパブリックIPアドレスが必要です。
オートスケーリングの仕組み
次のフローチャートは、オートスケーリングのワークフローを示しています。
Citrix ADMは、Autoscale プロビジョニングされたクラスターから1分の間隔で統計(CPU使用率、メモリ使用率、スループット)を収集します。
統計情報は、設定しきい値に対して評価されます。統計情報が最大しきい値を超えているか、最小しきい値を下回っているかに応じて、スケールアウトまたはスケールインがそれぞれトリガーされます。
スケールアウトがトリガーされた場合:
- 新しいノードがプロビジョニングされます。
- ノードはクラスタに接続され、構成はクラスタから新しいノードに同期されます。
- ノードはCitrix ADM に登録されます。
- 新しいノードの IP アドレスは、DNS/NLB で更新されます。
アプリケーションがデプロイされると、IPset
は各アベイラビリティーゾーンのクラスターに作成され、ドメインとインスタンスの IP アドレスは DNS/NLB に登録されます。
- スケールインがトリガーされた場合:
- 削除対象として特定されたノードの IP アドレスが削除されます。
- ノードがクラスタから切り離され、プロビジョニング解除された後、Citrix ADMから登録解除されます。
アプリケーションを削除すると、ドメインとインスタンスの IP アドレスが DNS/NLB から登録解除され、IPset
が削除されます。
例
次の設定を使用して、単一のアベイラビリティーゾーンに asg_arn という名前のAutoscaleグループを作成したとします。
- しきい値パラメータ — メモリ使用量
- 最小制限:40
- 最大制限:85
- 総再生時間 — 3 分
- クールダウン期間 — 10分
- ドレイン接続タイムアウト — 10分
- TTL タイムアウト — 60 秒
Autoscale] グループが作成されると、[Autoscale] グループから統計が収集されます。Autocale ポリシーは、Autoscale イベントが進行中かどうかも評価し、自動スケーリングが進行中の場合は、そのイベントが完了するまで待機してから、統計情報を収集します。
イベントのシーケンス:
- T1 および T2:メモリ使用量が最大しきい値制限を超えています。
- T3:メモリ使用量が最大しきい値制限を下回っています。
T6、T5、T4:3 回の総再生時間の間、メモリ使用量が連続して最大しきい値を超えました。
- スケールアウトがトリガーされます。
- ノードのプロビジョニングが行われます。
- クールダウン期間が有効です。
T7 — T16: クールダウン期間が有効であるため、このアベイラビリティーゾーンのAutoscale評価は T7 から T16 までスキップされます。
- T18、T19、T20:3 回の総再生時間の間、メモリ使用量が連続して最小しきい値を超えました。
- スケールインがトリガーされます。
- ドレイン接続のタイムアウトが有効です。
- IP アドレスは、DNS/NLB から解放されます。
T21 — T30: ドレイン接続タイムアウトが有効であるため、このアベイラビリティーゾーンの T21 から T30 までのAutoscale評価はスキップされます。
- T31
- DNS ベースの自動スケーリングでは、TTL が有効です。
- NLB ベースの自動スケーリングでは、インスタンスのプロビジョニング解除が行われます。
- T32
- NLB ベースの自動スケーリングでは、統計の評価が開始されます。
- DNS ベースの自動スケーリングでは、インスタンスのプロビジョニング解除が行われます。
- T33: DNS ベースの自動スケーリングの場合、統計情報の評価が開始されます。