Amazon Web Services ブログ
Rafay が SonicWall によるコンテナと Amazon EKS の採用を加速
この投稿は、AWS のプリンシパルソリューションアーキテクトである Carmen Puccio 氏と、Rafay Systems の共同創設者兼 CEO である Haseeb Budhani 氏によって提供されました
背景
有名なテクノロジー企業である SonicWall は、大企業や中小企業 (SMB) を保護するための幅広いセキュリティ製品のスイートを提供しています。設立以来、SonicWall はセキュリティ製品をハードウェアアプライアンスまたはダウンロード可能なソフトウェアとして提供してきました。SonicWall のお客様がアプリケーションをクラウドに移行し始めると、SonicWall はバックエンドと管理サービスにクラウドコンピューティングを採用するという戦略的な決定を下しました。さらに、SonicWall の大企業およびサービスプロバイダーであるお客様は、プライベートクラウド環境内で SonicWall の製品を利用しています。
重要な要件
クラウドパラダイムを十分に活用し、高度にスケーラブルなクラウドベースの一連の製品を提供するために、SonicWall は 3 つの重要な要件を特定しました。
- コアサービスは、アプリケーションを複数のクラウドリージョンに簡単に分散できるように、Docker コンテナとして、マイクロサービスパラダイムを使用して再実装されなければならないこと。
- 世界各地で事業活動を行うお客様のため、成熟したマネージド型の一連のアプリケーションサービスを世界中の多数の場所で提供するクラウドプロバイダーを選択すること。
- パブリッククラウド、オンプレミス、およびお客様の環境でのクラスターのデプロイとアプリケーションの運用を自動化する (Kubernetes ベースの) コンテナ化されたアプリケーションオーケストレーションおよび運用ソリューション。
マイクロサービスの採用
SonicWall のサイバーセキュリティと管理サービスのポートフォリオを最新化するというタスクには、同社のエンジニアリングチームとクラウド運用チームが極めて適任でした。また、チームは最新化の一環として、自社の各製品をサポートする管理ソリューションが複数のクラウドリージョンと数万のお客様のためにスケーリングできることを確認しました。
クラウドプロバイダーの選択
SonicWall は成熟した企業として、次のような成熟したプロバイダーと提携することを意図していました。
- 信頼性が高い
- グローバルなコンピューティングフットプリントを提供している
- 次のようなさまざまなマネージド型のサービスを提供している:
- 安全なネットワーク
- リレーショナルデータベースとドキュメントデータベース
- ログ管理
- 安全なコンテナレジストリ
- サーバーレス機能
これらの前提条件を考慮して、SonicWall はアマゾン ウェブ サービス (AWS) を主要なクラウドプロバイダーとして選択しました。SonicWall はすぐに、次のような多くの AWS のサービスの使用を開始しました。
- Amazon EC2
- Amazon VPC
- Amazon RDS
- Amazon Elasticsearch Service
- Amazon Elastic Container Registry
- AWS Lambda
- AWS Transit Gateway
Kubernetes の運用と管理サービスの選択
SonicWall がマネージド型のサービスを優先することを考えれば、AWS リージョンで実行されているコンテナ化されたアプリケーションに Amazon Elastic Kubernetes Service (EKS) を選択することは、チームにとって容易な意思決定でした。
AWS は、EKS をマネージド型の Kubernetes サービスとして提供することで、お客様が Kubernetes を簡単に実行できるようにしています。EKS を使用する主な利点は、AWS が Kubernetes コントロールプレーンのインストール、運用、および保守の運用責任を担うことで、お客様がアプリケーション運用のための Kubernetes の設定と運用に集中できることにあります。EKS は CNCF 認定のアップストリーム Kubernetes ディストリビューションであるため、お客様は Kubernetes コミュニティによって構築および保守されているツールとプラグインを実行できます。
SonicWall のクラウド運用チームは、エンドツーエンドの自動化が複数の製品ラインをクラウドに迅速に移行するのに役立つことをすぐに認識しました。チームは、Kubernetes の管理と運用の要件をリスト化して明らかにし、Kubernetes の管理と運用にエンドツーエンドの自動化を提供する既成のオプションの評価を開始しました。SonicWall の要件リストは次のとおりです。
EKS に加えて、データセンターおよびお客様のプレミスのデプロイのサポート
パートナーのデータセンター、そして場合によってはお客様のプレミスにおいて、最新のアプリケーションのデプロイが将来的に行われることが予想されるため、チームは、サードパーティーネットワークでのデプロイに加えて、ハイブリッド環境のサポートが重要な要件であるとの結論に至りました。そこで、チームは、サービスが多様なデプロイのための単一のツールチェーンを提供することをハード要件としました。サービスは、AWS 環境の外部にデプロイできるフルマネージド型の Kubernetes サービスを提供するものでなければなりません。これにより、運用チームは、AWS リージョンに EKS クラスターをデプロイできるだけでなく、AWS 以外の環境にフルマネージド型のアップストリーム Kubernetes クラスターを単一画面からデプロイできます。
さらに、パートナーまたはお客様のネットワークにアプリケーションインフラストラクチャをデプロイして運用する場合、サービスは、アプリケーションのデプロイを可能にする複雑な VPN のセットアップをサードパーティーに要求してはならず、また、特別なリバースプロキシまたはロードバランシング要件に準拠することをサードパーティーに要求してはなりません。時間の経過とともにアプリケーションが数十のターゲットクラスターにデプロイされるようになった際、理想的には、すべてのターゲットクラスターが正常に動作し、適切なバージョンのソフトウェアを実行するなどのために必要な運用インテリジェンスを、サービスに組み込む必要があります。
委任された管理とガバナンス
10 年以上にもわたって SaaS セキュリティサービスを実行してきた SonicWall 運用チームは、ガバナンスと委任された管理に関して繊細な知見を有しています。長年をかけて、チームは、本番環境への読み取り専用アクセスを開発者に与えることで、運用上の問題が特定された場合の平均解決時間 (MTTR) が短縮されることを学びました。さらに、クラウド運用チームが本番環境だけでなく、開発者環境や本番前の環境に対しても完全な可視性と制御を確保できるようにすることで、最終的には機能のロールアウトが速くなり、運用がスムーズになります。
委任されたすべての管理とアクセスは、エンタープライズシングルサインオン (SSO) システム (例: SAML 2.0 仕様に基づく ID プロバイダー (IdP))と紐づいている必要があります。
セルフサービスの開発者サンドボックス
SonicWall の運用チームは、開発者の生産性にボトルネックを導入しないことを約束し、開発者向けのセルフサービスオプションを有効にすることを好んでいます。シナリオによっては、開発者は事前に割り当てられたクラスターの共有または専用のサンドボックスにデプロイできる必要があります。主要な開発者またはエンジニアリングリーダーには、必要に応じてクラスタープロビジョニングのアクセス許可を割り当てることができます。サンドボックスまたはクラスターをプロビジョニング、デプロイ、または分解するために、Kubernetes に関する事前の知識は必要ありません。
マルチクラスターのデプロイと運用
SonicWall は世界中のお客様にサービスを提供しており、複数の AWS リージョンとパートナーネットワークでセキュリティと管理サービスを運用する予定です。運用の簡素化に関して、チームの期待は、Kubernetes の管理および運用ソリューションが、すべてのターゲットクラスター全体にわたって、デプロイの運用ステータスを分散し、継続的に検証できることにありました。現在利用可能なターゲットクラスター (現時点で正常/到達可能であるなどのクラスター) に関するインテリジェンスを会社の CI/CD システムに構築する代わりに、Kubernetes の管理および運用サービスは、クラスターのフリートがポリシーに基づいて適切なバージョンのソフトウェアを実行するようにする機能を備えた複数のクラスターにわたるアプリケーション分散をサポートしている必要があります。
SonicWall のクラウド運用チームは、製品チームごとに異なる CI システムを好むことを理解し、これを尊重しています。Jenkins、Gitlab、CircleCI のいずれであっても、製品チームは好きなように柔軟に選択できる必要があります。DevOps チームは、脆弱な統合を継続的に構築および維持する必要がないように、Kubernetes の管理および運用サービスは、さまざまな CI システムとのターンキー統合を提供するものである必要があります。
AWS 環境と AWS 以外の環境でデプロイが行われる場合、ターゲットクラスターは EKS 環境と非 EKS 環境の混合になる可能性があります。したがって、サービスはマルチディストリビューション環境全体にデプロイできる必要があります。また、このサービスは、運用チームは単一画面からクラスターのライフサイクルを簡単に管理できるように、EKS とアップストリームの Kubernetes ベースのクラスターの両方の Kubernetes アップグレードワークフローもサポートする必要があります。
レジストリ統合
AWS とパートナーネットワークで運用されているクラスターでは、コンテナレジストリの選択が重要です。SonicWall はマネージド型のサービスを優先しているため、Amazon Elastic Container Registry (ECR) は、開発用および本番用のコンテナイメージを格納するための正しい選択です。EKS クラスターは、ECR からコンテナイメージをプルするように簡単に設定できますが、ECR が AWS 以外の環境で動作する Kubernetes クラスターの望ましいレジストリでもある場合、プルシークレットをこれらの非 AWS クラスターに定期的に入力して更新する必要があります。プルシークレットのライフサイクル管理は、Kubernetes の管理および運用サービスによって提供される必要があります。これにより、運用チームは、複数のコンテナレジストリの起動を心配することなく、クラスターをどこにでも簡単にデプロイして運用できます。
Secrets Manager の統合
AWS とパートナーネットワークで運用されているクラスターでは、シークレットの配布と管理は、運用チームが対処しなければならない重要な問題です。お客様は、Amazon Secrets Manager から Hashicorp Vault などのサードパーティー製品まで、シークレットの保存と管理のための多くのオプションを利用できます。管理下にあるすべてのクラスターにシークレットを配布するターンキーオプションを提供することは、Kubernetes の管理および運用ソリューションの重要な要件であり、運用チームは、未使用のシークレットのクラスターの継続的な監査などを心配することなく、どこにでもクラスターをデプロイして運用できます。
ログとメトリクスの統合
マルチレベルの可視性は、地域やクラウド全体で最新のアプリケーションを円滑に運用するための鍵です。運用チームは、ノードとコンテナーのヘルスメトリクスを簡単に追跡できる必要がある一方で、DevOps と開発チームは、アプリケーションログとメトリクスに簡単にアクセスして、エンドカスタマーが可能な限り最高のエクスペリエンスを享受できるようにする必要があります。
各クラスターのさまざまなコンポーネントのログとメトリクスは、クラスターの外部にあるリージョンまたは中央のリポジトリに最もよく集約されることに留意することが重要です。これにより、開発者と運用エンジニアは、Kubernetes 関連の問題またはアプリケーションの問題が発生した場合に、根本原因の分析 (RCA) を実行するための関連情報に簡単にアクセスできます。
そのために、Kubernetes の管理および運用サービスは、関連するノード、クラスター、およびコンテナのメトリクスを、運用チームと開発チームの両方が必要に応じてアクセスできるポータルにプールする必要があります。このサービスは、ログ (Fluentd ベース) およびメトリクス (Prometheus ベース) コレクションのマネージド型のサービスを活用するために、アプリケーションの簡単な統合も提供するものでなければなりません。
デプロイオプションの柔軟性
すべてのアプリケーションが同じように作成されるわけではありません。一部のセキュリティアプリケーションでは、毎秒数十ギガビットのトラフィックが常に発生する場合がある一方で、他のアプリケーションでは、必要に応じて散発的なトラフィックが発生する場合があります。アプリケーションによって、GPU などの固有の要件がある場合とない場合があります。
SonicWall の運用チームは、以下のように、必要に応じて、アプリケーションを環境をさまざまに組み合わせることのできる柔軟性を好みます。
- プログラムによってアプリケーションを単一のクラスター内の名前空間にマップします。 これは、対象となっているすべてのアプリケーションが同様のネットワークおよびコンピューティング要件を示している場合にうまく機能します。
- プログラムによってアプリケーションを EKS クラスターのノードグループ、または非 EKS クラスターのラベル付きノードにマップします。これは、クラスターにデプロイされたアプリケーションに固有のハードウェア要件があり、GPU や特別なネットワークカードなどのニーズを満たすようにノードグループが設定されている場合にうまく機能します。
- プログラムによってアプリケーションを専用クラスターにマップします。 これは、アプリケーションがスループットニーズなどで大きな不均衡を示しており、いくつかのアプリケーションに専用クラスターを割り当てたほうがよい場合にうまく機能します。
運用の可視化と監査
SonicWall は、開発環境、本番前の環境、および本番環境で Kubernetes クラスターのフリートを運用し、複数のアプリケーションがクラスター全体で展開されているため、アプリケーションのステータスとパフォーマンスの詳細情報を確認できることに加えて、フリート全体を単一画面から確認できることが重要となります。さらに、必要に応じて検証と認証を容易にするために、すべてのアクティビティを監査する必要があります。
SonicWall が Rafay と提携した理由
Rafay Systems は、Kubernetes のクラスター管理とアプリケーション操作を大規模に自動化するターンキーサービスを提供します。このソリューションは、Amazon EKS との緊密な統合を提供するため、開発者と IT ユーザーは AWS リージョン全体で EKS クラスターのライフサイクルを簡単に起動および管理できます。このソリューションは、お客様がオンプレミスまたはエッジで活用できるフルマネージド型の Kubernetes サービスも提供します。
SonicWall の幅広い要件リストは、クラウドおよびオンプレミスでワークロードを実行している成熟した大企業のものとしては典型的です。SonicWall の開発者および IT 運用に対する経験に基づく期待は、多くの大企業が採用している最新化後のモデルとも一致しています。Rafay により、SonicWall およびその他のお客様は、高度な可視性とガバナンスを備えたセルフサービスモデルを採用できます。
運用サポート
差別化された Kubernetes の管理および運用ソリューションに加えて、Rafay は、数多くの Kubernetes のエキスパートを擁しており、企業が Kubernetes ジャーニーを飛躍させるのをサポートしています。Kubernetes は新しい機能と能力で急速に成熟を遂げつつある比較的新しいシステムであるため、企業は、差別化されたソリューションを提供するだけでなく、DevOps や運用チームと直接連携してお客様の成功に貢献する Rafay などのベンダーと提携することを好みます。Rafay と連携することで、お客様は、内部チームが Kubernetes と関連テクノロジーに関する専門知識を習得するのを数四半期または数年待つことなく、最新のアプリケーションを市場にタイムリーに提供できます。
SonicWall の要件 | Rafay |
Amazon EKS のターンキーライフサイクル管理 (プロビジョニング、アップグレードなど) | ✔ |
アップストリーム Kubernetes のターンキーライフサイクル管理 (プロビジョニング、アップグレードなど) | ✔ |
Kubernetes API サーバーエンドポイントのパブリック IP 要件はなし | ✔ |
エンタープライズ ID に基づくロールベースのアクセス (SAML 2.0 SSO 経由) | ✔ |
セルフサービスの開発者サンドボックス | ✔ |
マルチクラスター (EKS + アップストリーム Kubernetes) のデプロイと配布 | ✔ |
CI システムとの統合 (Jenkins、GitLab、CircleCI など) | ✔ |
プルシークレットの自動更新をサポートするコンテナレジストリとの統合 | ✔ |
シークレットマネージャーとの統合 (Hashicorp Vault など) | ✔ |
ログおよびメトリクス集計システムとの統合 | ✔ |
デプロイの柔軟性 (名前空間ごと、ノードグループごと、クラスターごと、マルチクラスター) | ✔ |
クラウド運用と IT のためのフリート全体のガバナンスと可視性 | ✔ |
運用サポートモデル | ✔ |
まとめ
SonicWall は、AWS および Rafay と提携することで、インフラストラクチャのプロビジョニングとアプリケーションのロールアウトに関する目標を達成しました。3 か月以内にソリューションをロールアウトすることで、納期を 50% 短縮しました。さらに、SonicWall は、これらの目標を達成するために、5 人の DevOps エンジニアを追加で雇用しようとしていました。AWS + Rafay ソリューションの採用とデプロイの容易さはそのニーズを打ち消し、開発者の生産性を向上させました。現在、アプリケーションは最大 6 つの AWS リージョンで動作しています。Rafay の運用サポートチームは、SonicWall が世界各地で活躍するお客様にサービスを提供していく限り、引き続きサポートします。AWS と Rafay は共に、今後数年間の SonicWall の変革目標をサポートすることを楽しみにしています。Rafay について詳しく知りたい場合は、ウェブサイトにアクセスするか、デモのスケジューリングをするためにチームに E メールでご連絡ください。