Kubernetesで人工知能(AI)と機械学習(ML)のワークロードを実行する主な利点の1つは、Ingress Controllerを介してすべての受信リクエストを一元的に制御できることです。Ingress Controllerは、ロードバランサーとAPIゲートウェイの役割を果たす汎用性の高いモジュールであり、Kubernetes環境でAI/MLアプリケーションを保護するための強固な基盤となります。
統合ツールであるIngress Controllerは、セキュリティ対策やパフォーマンス対策の適用、アクティビティの監視、コンプライアンスの徹底を一元的に行ううえで便利なポイントとなります。より具体的には、Kubernetes環境のIngress ControllerでAI/MLアプリケーションを保護することで、いくつかの戦略的なメリットが得られます。本ブログでは、これらのメリットについて解説します。
セキュリティとコンプライアンスの一元管理
Ingress ControllerはKubernetesクラスターへのゲートウェイとして機能するため、MLOpsチームとプラットフォームエンジニアリングチームは、セキュリティポリシーを一元的に適用できます。これにより、Pod単位またはサービス単位でセキュリティを設定する際の複雑さが軽減されます。セキュリティ制御をIngressレベルに集約することで、コンプライアンス対応プロセスが簡素化され、コンプライアンス状況の管理と監視が容易になります。
認証と認可の一元化
Ingress Controllerは、すべてのAI/MLアプリケーションへのアクセスに対する認証と認可を実装し、適用するうえでも合理的な場所です。強固な認証局管理を追加することで、Ingress ControllerはKubernetes向けゼロトラスト(ZT)アーキテクチャを構築する際の要にもなります。ZTは、非常に価値の高い専有データを使用する機密性の高いAIアプリケーションのセキュリティとコンプライアンスを継続的に確保するうえで不可欠です。
レート制限とアクセス制御
Ingress Controllerは、レート制限を適用するのに最適な場所です。DDoS攻撃や過剰なAPI呼び出しなどの不正利用からアプリケーションを保護できるため、一般公開されるAI/ML APIにとって極めて重要です。モデルの窃取やデータ漏えいといった新たなAI脅威が増加する中、ブルートフォース攻撃から保護するうえで、レート制限とアクセス制御の適用はますます重要になっています。また、攻撃者がビジネスロジックを悪用したり、ガードレールをジェイルブレイクしたりして、データやモデルのトレーニング情報、重み情報を抽出する行為の防止にも役立ちます。
Web Application Firewall(WAF)との統合
多くのIngress ControllerはWAFとの統合をサポートしています。WAFは、外部に公開されたアプリケーションやサービスを保護するうえで不可欠です。WAFは、OWASP Top 10に挙げられる一般的なWeb脆弱性や攻撃に対し、セキュリティをさらに強化します。さらに重要なのは、適切にチューニングされたWAFが、AI/MLアプリケーションを狙った、より標的型の攻撃から保護することです。レイテンシーとパフォーマンスが重要なAI/MLアプリケーションでは、WAFによって生じる可能性のあるオーバーヘッドが主な検討事項となります。また、AI/MLアプリケーションでWAFの効果を発揮するには、監視およびオブザーバビリティのダッシュボードやアラート機構と連携できるよう、WAFをIngress Controllerに緊密に統合する必要があります。WAFとIngress Controllerが共通のデータプレーンを共有できる構成が理想的です。
まとめ:AI/MLアーキテクチャの計画初期からIngress Controllerを組み込む
Ingress Controllerは、AI/MLアプリのKubernetesアプリケーションデプロイにおいて重要な役割を担うため、AI/MLアプリケーションのアーキテクチャ設計にその機能を組み込むことが最善です。これにより、機能の重複を軽減できるほか、AI/MLアプリケーションのニーズに合わせて拡張・発展できるIngress Controllerをより適切に選定できます。MLOpsチームにとって、Ingress Controllerは、セキュリティを最優先事項の1つとする、重要なプラットフォーム機能や運用機能の多くを一元的に制御するポイントとなります。
NGINXを始める
NGINXは、お客さまのニーズに応え、Kubernetesプラットフォームのセキュリティ、スケーラビリティ、オブザーバビリティを強化するための包括的なツールと構成要素を提供します。
今すぐお申し込みいただけます。Connectivity Stack for Kubernetesの30日間無料トライアルをご利用ください。
著者について

関連するブログ記事
チュートリアル:NGINXを使用してアプリケーション向けにOpenTelemetryを構成する
OpenTelemetryを使用してNGINXサーバーの状態と健全性をより明確に把握することで、問題のトラブルシューティングを行い、Webアプリケーションのパフォーマンスを向上できます。
AkitaのNGINX Plus認定モジュールでAPIエンドポイントの問題を特定・修正
Akita SoftwareのAPIオブザーバビリティ向け新しいNGINX Plus Certified Moduleを活用して、APIエンドポイントの問題をより迅速に特定し、修正できます。
JavaプロジェクトをスキャフォールディングしてKubernetesネイティブアプリを構築する方法
Red HatのシニアプリンシパルデベロッパーアドボケイトであるDaniel Oh氏が、Javaプロジェクトをゼロから構築するためのひな形を作成し、Kubernetesネイティブアプリケーションとしてビルドする方法を解説します。
F5 NGINXaaS for Azureのご紹介:Microsoft Azureでネイティブに利用できるSaaS型ロードバランシング
NGINXaaS for Azureは、NGINX PlusをAzureネイティブのSaaSとして利用できるサービスです。NGINXの設定を容易にリフト&シフトできるため、クラウド導入とモダンアプリの展開を加速できます。

SELinuxでNGINXおよびNGINX Plusを使用する
Red Hat Enterprise Linux(RHEL)および関連ディストリビューションでSecurity-Enhanced Linux(SELinux)を有効にすると、デフォルト設定によりNGINXとNGINX Plusの一部の操作が制限されます。この記事では、すべての機能を利用できるようにSELinuxの設定を変更する方法について説明します。
NGINX PlusによるAWS Auto Scalingグループの負荷分散
新しいnginx-asg-sync統合ソフトウェアにより、NGINX PlusはAWS Auto Scalingグループの負荷を直接分散できるため、クラウドでの負荷分散がさらに柔軟になります