OpenStack は、IaaS (Infrastructure as a Service) を提供するための主要なクラウド プラットフォームとして急速に普及しつつあり、現在ではプライベート クラウド、パブリック クラウド、マネージド プライベート クラウドに利用されています。 OpenStack クラウドがミッションクリティカルな本番applicationsをホストすることが増えるにつれて、レイヤー 4 から 7 までの高度なapplication配信サービスが不可欠になりつつあります。 これらのサービスは、追加のセキュリティ、スケーリング、最適化を提供し、ミッションクリティカルなapplicationsのセキュリティ、高速性、可用性を維持します。 F5 は、OpenStack を搭載したものも含め、データセンター、パブリック クラウド、プライベート クラウド全体にわたる高度なapplication配信サービスを提供する大手サプライヤーです。 F5application配信サービスは OpenStack クラウドに設計することができ、利用可能なオプションを事前に検討しておくと、OpenStack アーキテクチャと展開を効率的に計画するのに役立ちます。
OpenStack は、クラウド コンピューティングを提供するために使用されるオープン ソース ソフトウェア プラットフォームです。 NASA と RackSpace Hosting の共同プロジェクトとして始まった OpenStack は、現在、ソフトウェアと OpenStack コミュニティを促進するという使命を帯びて OpenStack 財団によって管理されています。
現在、いくつかの商業組織が独自の OpenStack ディストリビューションを作成するか、サポート、コンサルティング、事前構成済みアプライアンスなどの追加サービスを提供しています。
OpenStack は、クラウド コンピューティング環境を作成するために必要なさまざまなサービスを提供する多数のコンポーネントで構成されています。 これらのコンポーネントについては、他の場所で十分に文書化されています。 ただし、F5 OpenStack の導入に直接関連するモジュールも多数あります。
関数 | 成分 | 説明 |
---|---|---|
コンピューティング | ノヴァ | さまざまな仮想化およびベアメタル構成にわたるコンピュータリソースのプールを管理します |
ネットワーキング | 中性子 | ネットワーク、オーバーレイ、IPアドレス、負荷分散などのapplicationネットワークサービスを管理します。 |
オーケストレーション | 熱 | テンプレートとAPIを使用して他のOpenStackコンポーネントをオーケストレーションする |
OpenStack の基本要素はRESTful APIであり、これを通じてインフラストラクチャ コンポーネントを構成および自動化できます。 マルチテナントのセルフサービス クラウドの構築や、DevOps プラクティスをサポートするインフラストラクチャの作成など、多くの OpenStack ユースケースでは、API 駆動型オーケストレーションが不可欠です。 導入時間を数週間から数分に短縮したり、1 日に数百のサービスを導入したりできることが、クラウド プラットフォームへの移行の原動力となることがよくあります。 これを効果的にするには、インフラストラクチャのすべてのコンポーネントが自動化フレームワークの一部である必要があります。 多くのapplicationsでは、実際に本番環境に対応するために高度なapplication配信サービス (applicationセキュリティやアクセス制御など) が必要になるため、application配信サービスを OpenStack オーケストレーションおよびプロビジョニング ツールと統合することが重要です。
マルチテナンシーは OpenStack の重要な概念です。 OpenStack では、ユーザーのグループはプロジェクトまたはテナントと呼ばれます。 (この 2 つの用語は互換性があります。) プロジェクトには、コンピューティング、ストレージ、イメージなどのリソースの割り当てを割り当てることができます。 マルチテナントを設計する場合、最も重要な決定ポイントの 1 つは、テナント向けのネットワークをどのように設計するかです。 F5® BIG-IP® プラットフォームは、OpenStack マルチテナントとの相互運用性を実現するために、さまざまなマルチテナントおよびネットワーク分離オプションを提供します。
プロバイダー ネットワークでは通常、フラット (タグなし) ネットワーク、またはより一般的には VLAN (802.1Q タグ付き) ネットワークのいずれかが使用されます。 これらは、従来のデータ センター ネットワークに密接に対応しています。 OpenStack ネットワークは管理者によって定義および作成され、テナント間で共有されます。
場合によっては、テナントのコンピューティング インスタンスにプロバイダー ネットワークへの直接インターフェースが備わります。 テナントは独自のネットワークを定義せず、プロバイダーの管理者によって定義された IP アドレス範囲を使用して、構成されたプロバイダー ネットワークに接続するだけです。 その他の場合、テナントはプロバイダー ネットワーク内に仮想ネットワーク構成を作成します。
管理者は、テナントが独自のネットワーク アーキテクチャを作成できるようにすることができます。これらのネットワーク アーキテクチャは、コンピューティング ノード上の Open vSwitch インスタンスを使用して OpenStack Neutron によって最も頻繁に制御されますが、他のソフトウェア定義ネットワーク (SDN) ソリューションも使用できます。 VLAN またはGREまたはVXLANテクノロジーを使用した透過的なイーサネット トンネルにより、テナント コンピューティング インスタンス間の通信が可能になり、他のテナントから分離されます。 2016 年初頭の時点では、GRE トンネリングが最も一般的な導入方法となっています。 テナントは独自のネットワークと IP アドレス範囲を作成できますが、テナント間で重複する可能性があります。 各テナントには、ネットワーク外部との通信を可能にする OpenStack ルーターが存在する場合があります。 これは、テナントに 1 つ以上のフローティング IP アドレスを割り当てることによって実現され、テナント ルータはそれを構成されたテナント プライベート IP アドレスに変換します。 (OpenStack Neutron と BIG-IP のフローティング IP アドレスは異なるものであることに注意してください。BIG-IP プラットフォームがテナント分離を管理する方法については後で説明します。)
F5 製品は、スケーラビリティ、可用性、多層セキュリティを実現するように設計された、さまざまな高度なapplication配信サービスを提供します。 いくつかの重要な例(ただし、すべてを網羅するものではありません)を以下に示します。
安全 | 高度なネットワーク ファイアウォール サービス
|
可用性 | アプリケーションレベルの監視
|
パフォーマンス | ネットワークとトランスポートの最適化
|
柔軟性 | データ パスのプログラミング可能性
|
BIG-IPプラットフォームは、物理エディション、仮想エディション、クラウド エディションで利用できます。 このプラットフォームは、BIG-IP ソフトウェア モジュールを通じてapplicationサービスを提供します。 BIG-IP プラットフォームは、applicationsのニーズに合わせて 1 つ以上のソフトウェア モジュールを実行でき、スタンドアロン ユニットとして、または高可用性クラスタとして導入できます。
関数 | F5 ソフトウェア モジュール | |
---|---|---|
安全 | ネットワーク層セキュリティ | BIG-IP® アドバンスト ファイアウォール マネージャー™ (AFM) |
application層セキュリティ | BIG-IP® アプリケーション セキュリティ マネージャ™ (ASM) | |
アイデンティティとアクセス | BIG-IP® アクセス ポリシー マネージャー® (APM) | |
可用性 | applicationの可用性とトラフィックの最適化 | BIG-IP® ローカル トラフィック マネージャー™ (LTM) |
グローバルな可用性とDNS | BIG-IP® DNS | |
パフォーマンス | applicationとネットワークの最適化 | BIG-IP®applicationアクセラレーション マネージャ™ (AAM) |
BIG-IP プラットフォームは、非常に高性能で、ステートフル、双方向、ゼロコピーのプロキシです。 この基本的なアーキテクチャの原則を理解することで、BIG-IP プラットフォームがどのようにサービスを提供するかがわかり、アーキテクチャの選択が明確になります。
クライアントは BIG-IP デバイスまたはインスタンスに接続し、BIG-IP デバイスまたはインスタンスはバックエンド サーバーに接続します (または、DNS サービスなどの一部のケースでは、applicationトラフィックを処理してクライアントに直接応答します)。 これにより、TCP の「エアギャップ」が作成され、クライアントとサーバーの間で TCP セッションが完全に再生成されます。 この論理ギャップ内で、BIG-IP プラットフォームはapplication配信サービスを提供します。 applicationトラフィックがプラットフォームを通過する際に検査、変更、制御が行われるため、BIG-IP プラットフォームは受信および送信applicationトラフィックの両方を完全に制御できます。
BIG-IP プラットフォームは、ネットワーク ファイアウォールと Webapplicationファイアウォールの両方でICSA Labs 認定も取得しており、トラフィック分離とプラットフォーム セキュリティが厳密にテストされているため、プラットフォーム セキュリティがさらに強化されています。
OpenStack と F5 のapplication配信サービスおよびプラットフォームを組み合わせることで、OpenStack でホストされるapplicationsに実稼働レベルのサービスが提供されます。 F5application配信サービスには、OpenStack 内で 2 つの方法でアクセスできます。 Neutron Load Balancing as a Service (LBaaS) バージョン 2 サービスと Heat オーケストレーション。 (F5 は Neutron との LBaaS バージョン 1 統合もサポートしていますが、OpenStack コミュニティでは OpenStack の Liberty リリース以降、バージョン 1 API が非推奨になっています)。
Neutron LBaaS は、コンピューティング (およびapplication) インスタンスの基本的な負荷分散サービスを有効にします。 これらのサービスは、幅広い負荷分散プラットフォームに共通する機能と特徴のコアサブセットに限定されています。
LBaaS サービス配信モデルは、サービスを提供するリソースをサービス自体から抽象化します。 サービスを提供するリソースは、OpenStack テナント リソース内ではなく、OpenStack インフラストラクチャの一部として存在します。 このモデルは「クラウド下」と呼ばれることもあります。
OpenStack LBaaS は、負荷分散構成を作成するために多数の論理オブジェクトに依存します。
物体 | 説明 |
---|---|
ロードバランサー | ルート オブジェクト。 仮想IP(VIP)のサブネットを指定します。これは静的に割り当てることも割り当てることもできます。テナントとプロバイダー |
リスナー | ロード バランサー VIP の特定のポートのリスナー。 ポートと限られた数のプロトコルタイプを指定します |
プール | リスナーがトラフィックを送信するプール。 プロトコル、親リスナー、負荷分散アルゴリズムを指定します |
メンバー | プールのメンバー。 トラフィックを転送できるapplicationインスタンスのIPアドレス、ポート番号、および(オプションで)サブネットを指定します。 |
ヘルスモニター | プールに関連付けられたヘルス モニターを作成します。 モニターの種類、頻度、タイムアウト、HTTP パス、メソッド、予想されるコードのオプションを指定します。 |
lbaas_セッション持続性 | セッションの永続性をどのように処理するかを定義します(Cookie またはソース IP の永続性に限定するなど) |
オブジェクト モデルを図 3 に示します。
すべての OpenStack 操作と同様に、LBaaS は RESTful API を介して管理されます。API を使用すると、テナントは REST 呼び出しを行って LBaaS オブジェクトを作成、更新、削除できます。テナントの API 呼び出しと BIG-IP インスタンスで発生する構成変更の間には、いくつかの手順があります。
LBaaS オブジェクトと、それらを BIG-IP インスタンス上の構成に作成または更新するための API 呼び出し間のマッピングは、F5 OpenStack LBaaS ドライバーによって処理されます。 LBaaS ドライバーにより、BIG-IP インスタンスは OpenStack ベースのクラウド内でロードバランシングサービスのプロバイダーになることができます。
F5 LBaaS ドライバーは実際には 2 つの別個のコンポーネントです。
LBaaS ドライバーは、テナントによって行われた LBaaS API 呼び出しの結果としてタスクを受信し、それを F5 iControl® API 呼び出しに変換して、BIG-IP デバイスまたは仮想エディション上の構成オブジェクトを作成または更新します。 テナントが分離されたテナント ネットワークとネットワーク オーバーレイ トンネルまたは VLAN を使用している場合、LBaaS ドライバーを使用すると、単一の BIG-IP インスタンスまたは高可用性 (HA) 構成から複数のテナントにサービスを提供できます。 F5 LBaaS プラグインは、BIG-IP インスタンスと Nova への必要な API 呼び出しを作成し、テナント トラフィックが共有 BIG-IP インスタンス上のテナント分離リスナー オブジェクト (BIG-IP 用語では VIP) にルーティングされるようにします。
マルチテナント環境では、Nova の重要な部分は、テナントが互いに分離されていることを保証することです。 BIG-IP LBaaS コンポーネントは、テナント トラフィックの分離を確実にするために、いくつかの BIG-IP マルチテナント機能を使用します。
成分 | 注記 |
---|---|
ネットワークオーバーレイのサポート | VXLAN および GRE トンネルのサポート: テナントトラフィックはBIG-IPシステム内外に完全にカプセル化されます。 |
ルートドメイン | プラットフォーム内で厳密に定義されたアドレス空間。 各ルート ドメインは、IP アドレス空間とルーティング情報を分離します。 IPアドレス空間はドメイン間で複製できるため、複数のテナントでRFC 1918プライベートアドレスを簡単に再利用できます。 |
管理パーティション | 管理上別々の構成を作成します。 各テナント構成は個別の管理パーティション内に格納されます。 |
これらのマルチテナント機能がどのように、いつ使用されるかについて詳しくは、 F5 OpenStack LBaaS ドライバおよびエージェントの Readme を参照してください。
LBaaSは、OpenStack内でロードバランシングサービスを展開するためのシンプルなAPI駆動型システムを提供し、多数のクライアントに基本的なロードバランシングを提供します。 ただし、APIは包括的なアプリケーション配信コントローラー (ADC) の機能のサブセットのみを提供します。 この表では、プロトコル サポート、追加サービス、ヘルス モニターなどのいくつかの主要なアプリケーション配信プロパティについて、LBaaS とネイティブ BIG-IP サービスを比較しています。
財産 | LBaaS経由のBIG-IPサービス | ネイティブ BIG-IP ADC サービス |
---|---|---|
プロトコル | TCPのみ | TCP、UDP、SCTP |
L7 プロトコル | HTTP、HTTPS | HTTP、HTTP/2、HTTPS、FTP、RTSP、Diameter、FIX、SIP、PCoIP、RDP |
application層セキュリティ | なし | 完全なウェブapplicationファイアウォール (WAF) |
ネットワーク層セキュリティ | なし | 完全なネットワークファイアウォール |
application層アクセス | なし | 完全な認証とSSO機能 |
トラフィック分散アルゴリズム | 3 | 17 |
applicationの高速化 | なし | TCP最適化を含む、キャッシュ、圧縮、コンテンツ操作ツールの完全なスイート |
健康モニター | 3 | 20 以上 (SMTP、データベース、SNMP、SIP、FTP、DNS を含む) |
データ パスのプログラム可能性 | なし | F5 iRules®は、すべてのapplicationデータを完全に可視化し、制御します。 |
本格的なapplication層プロキシの高度な機能が必要な場合、OpenStack Heat オーケストレーション サービスと関連テンプレートを使用して F5application配信サービスを導入すると、シンプルで自動化されたサービス作成と、より複雑なサービス構成を組み合わせることができます。
OpenStack Heat は、テンプレートに基づいて実行中のapplicationsを生成するオーケストレーション サービスです。 Heat テンプレートは 1 つ以上のテキスト ファイルでインフラストラクチャを記述し、Heat サービスは適切な API 呼び出しを実行して必要なコンポーネントを作成します。 Heat サービスは、カスタム プラグインを使用することでコア モジュールを超えて拡張できます。
F5 Heat プラグインを使用すると、 Heat テンプレートは、 Heat サービスを実行しているサーバーからアクセス可能なネットワーク アクセスを持つ任意の BIG-IP デバイスまたは仮想エディション上で高度なapplication配信構成を作成できます。 BIG-IP インスタンスには、テナント インスタンスへの接続とルーティングも必要になります。これは、その接続が Heat プラグインによって構成されないためです。
Heat テンプレートは、人間が読みやすく、簡単に操作できるように設計されたシンプルなマークアップ言語である YAML を使用します。 Heat テンプレートは宣言型です。つまり、必要なインフラストラクチャ コンポーネントを定義し、基盤となるプロバイダーに依存して、定義した構成を作成するだけです。
Heat テンプレートを使用すると、特に F5 iApps® テンプレート システムと組み合わせると、より高度なapplication配信シナリオを作成できます。iApps テンプレートを使用すると、必要なテンプレートとインスタンス固有の値を渡すだけで、application配信構成を繰り返し作成できます。 Webapplicationファイアウォール サービス、applicationアクセラレーション、高度な負荷分散アルゴリズムなどの高度な機能を使用した複雑な配信構成を、シンプルな API 呼び出しで実装できます。
Heat テンプレートは、個々のテナント ネットワーク環境 (「クラウド上」) 内の BIG-IP 仮想エディションのインスタンスだけでなく、基盤となる物理ネットワークに展開された BIG-IP アプライアンスでも機能します。 BIG-IP デバイスはテナント内の他のコンピューティング ノードと同じように扱われるため、Neutron ネットワーク API 呼び出しに参加する必要はありません。
F5 Heat プラグインは、F5 Githubリポジトリから入手できます。 このリポジトリには、Heat エンジンを実行しているサーバーにインストールされている Heat プラグインとサンプルのHeat テンプレートの両方が含まれています。
F5application配信サービスは、さまざまなプラットフォームで利用できます。これらのプラットフォームはすべて、同じコア オペレーティング システムと F5 マイクロカーネルを実行するため、同じapplication配信機能を提供します。
F5 ハードウェア プラットフォームは、多数のクライアントやテナント、または高スループットのユースケースを必要とする環境に、高いパフォーマンスと大規模なスケーラビリティを提供します。 単一の HA ペアで、数百のテナントと数百万のクライアントにサービスを提供できます。 F5 ハードウェア デバイスは、SSL と TCP 処理の両方に特化したハードウェアを使用することで、接続速度のサービス レベル アグリーメント (SLA) と、基盤となるコンピューティング環境の大幅なオフロードを実現します。 ネットワーク セキュリティ サービスと分散型サービス拒否 (DDoS) の緩和が必要な場合、F5 ハードウェア プラットフォームは優れたパフォーマンスと高度な保護を提供します。 複数の重複するアドレス空間とネットワーク オーバーレイ プロトコルのサポートにより、ほとんどのマルチテナント環境でハードウェア デバイスを使用できるようになります。
F5 BIG-IP 仮想エディションは、ほとんどのハイパーバイザー (KVM を含む) で利用でき、Amazon AWS や Microsoft Azure などのパブリック クラウド Infrastructure as a Service (IaaS) プロバイダーで使用できます。 BIG-IP 仮想エディション (VE) も、ラボ エディションから、25 Mb から 10 Gb のスループットに対応した成長に応じたアップグレードが可能な実稼働対応バージョンまで、さまざまな容量で利用できます。 ボリューム ライセンスと柔軟なライセンス プールにより、テスト環境と開発環境での BIG-IP インスタンスの動的なライフサイクル管理が可能になります。 ユーティリティ課金はパブリック クラウド環境でも利用できます。 BIG-IP 仮想エディションは、ハードウェア プラットフォームと同じapplication配信サービスを提供しますが、アプライアンスの特殊なハードウェアとスケールは備えていません。
BIG-IP 仮想エディションは、テナント ネットワーク内に完全に収容できます。 OpenStack からは単なる別のコンピューティング インスタンスとして認識され、Heat テンプレートによって構成されるか、LBaaS のプロバイダーとして使用できます。
使用事例 | テナントの分離 | 可能なアーキテクチャ |
---|---|---|
LBaaS 構成、数千のテナント、数百万のクライアントの分離 | VLAN、VXLAN、または GRE | 統合されたBIG-IPハードウェアプラットフォーム |
LBaaS 構成、数千のテナント、数百万のクライアントの分離 | GRE、VXLAN | 必要に応じてスケールアウトできる高スループットの BIG-IP 仮想エディション1 |
LBaaS 構成、スケール要件の低減 | GRE、VXLAN | スループットが低い BIG-IP 仮想エディション1 |
Heat構成、高度なapplication配信サービス | なし | テナント内の BIG-IP 仮想エディション |
1詳細については、F5 と OpenStack の統合ガイドを参照してください。
F5 LBaaS プラグインは複数の F5 エージェントおよびドライバー インスタンスに対応できるため、同じ LBaaS 構成内でハードウェア デバイスと BIG-IP 仮想エディションを混在させることができます。
すべてのアーキテクチャ上の決定と同様に、適切なオプションとは、ソリューションの個々の要件に最も適したオプションです。 BIG-IP ハードウェアまたは仮想エディションを使用して、高性能でスケーラブルなソリューションを構築できます。 規模とサービスに関する全体的な要件は、インフラストラクチャ アーキテクトがハードウェア、ソフトウェア、またはその 2 つの組み合わせを選択する際に役立ちます。 サービスをプロビジョニングしたいだけの消費者またはテナントにとって、LBaaS と Heat のどちらを選択するかは、配信プラットフォーム自体の選択よりも重要です。
高可用性はミッションクリティカルなネットワークおよびapplicationスタックの鍵であり、予想どおり、BIG-IP プラットフォームには堅牢な HA アーキテクチャが備わっています。 BIG-IP デバイスと仮想エディションは、スタンドアロン デバイス (テスト環境や開発環境など)、高可用性ペア、または最大 4 台のデバイスからなる N ウェイ アクティブ デバイス グループとして導入できます。 これらのデプロイメント タイプはすべて、OpenStack プラットフォーム内でサポートされています。
LBaaS またはテナント BIG-IP リソースに追加容量を追加できるため、管理者またはテナントはapplicationスループットまたはテナント数の増加に対応できます。 サービスを中断することなくスケールアップまたはスケールアウトすることは、俊敏でスケーラブルなクラウドを構築する上で不可欠です。
BIG-IP プラットフォームはスケールアップとスケールアウトの両方が可能です。 アプライアンスと仮想エディションはライセンスのアップグレードによって拡張でき、VIPRION シャーシはハードウェア ブレードを追加することで拡張できます。 BIG-IP LBaaS プラグインは、複数のエージェントとドライバー (それぞれが 1 つの BIG-IP インスタンスまたはクラスターを管理) を管理し、水平方向のスケーリングを可能にします。 複数のエージェントが使用されている場合、F5 LBaaS プラグインは、デフォルトで、BIG-IP デバイス (またはクラスター) に割り当てられた特定のテナントのすべての LBaaS ロード バランサ オブジェクトを保持します。
テナント内で BIP-IP VE インスタンスを使用する場合、ライセンスを介してインスタンスを再度スケールアップしたり、新しいワークロードをカバーするために追加のインスタンスを追加したりできます。
OpenStack デプロイメントで重要な本番applicationsがホストされるケースが増えるにつれて、OpenStack 内で堅牢かつ高品質のapplication配信サービスの必要性が高まります。 F5application配信サービスは、これらの重要なapplicationsに必要な容量、セキュリティ、高度な機能を提供するとともに、OpenStack ベースのクラウドが提供する俊敏性と低い運用オーバーヘッドも提供します。