次の方法で共有


Azure Kubernetes Service (AKS) でのステートフル ワークロード

この記事では、Azure Kubernetes Service (AKS) でのステートフル ワークロードの実行の概要について説明します。

ステートフル ワークロードとは

"ステートフル ワークロード" は、永続的なデータ ストレージを使って複数のインスタンス間で状態を保持し、シームレスでカスタマイズされたユーザー エクスペリエンスを実現するアプリケーションです。 この設計は、データの一貫性、セッション履歴、信頼性が重要なオンライン バンキング、オンライン ショッピング、メールなどのサービスに不可欠です。 ステートフル ワークロードは、フェールオーバーや復旧などの高度な機能を利用してビジネス継続性を実現する、ハイ パフォーマンスでほぼリアルタイムの処理のシナリオでも効果を発揮します。

ステートフル ワークロードには多くの利点がありますが、固有の課題もあります。 たとえば、ステートフル ワークロードでは、複雑な処理パターンが伴うことが多く、オーバーヘッドとパフォーマンス コストの増加につながる可能性があります。 アプリケーションのニーズを明確に理解して検討し、ステートフル性とステートレス性の間の適切なバランスを判断することが重要です。

ステートフル ワークロードには重要な役割があるので、Azure にはそれらを効果的に実行するためのいくつかのアプローチが用意されています。 このセクションでは、Azure Kubernetes Service (AKS) へのステートフル ワークロードのデプロイに関するベスト プラクティスについて説明し、開発者や組織がニーズに最適なオプションを選択できるようにします。

Kubernetes ステートフル フレームワークの基盤スタック

Kubernetes ステートフル フレームワークは、共通の基盤スタックから始まります。 この場合は、多くのインフラストラクチャ プロジェクトで使われている一般的な標準化されたスタックである KATE スタックを使います。 KATE スタックでは、次のオープンソース ツールが使われます。

ArgoCD または Terraform は、Day 1 オペレーション用に設計されているため、AKS のガイドでは実装されません。 ただし、ガイドでは KATE スタックの一部が使われているため、デプロイが拡大して要件が進化したら、ArgoCD と Terraform の統合がいっそう簡単になるはずです。

Azure 用の Kubernetes ステートフル フレームワーク

基盤スタックが確立されたら、次に、Azure でのステートフル ワークロードをサポートするようにフレームワークを拡張する必要があります。具体的には、Azure Kubernetes Service (AKS) でデータ インフラストラクチャを実行するために不可欠なリソースを統合します。

データベースやメッセージ キューのような複雑なステートフル ワークロードをサポートするには、エフェメラル オプションより高度なストレージ機能が必要です。 具体的には、アプリケーションの障害や異なるホストへのワークロードの再割り当てなど、さまざまなイベントに対処するため、回復性と可用性が強化されたシステムが必要です。 これは、相互接続された 3 つの Kubernetes リソース PersistentVolumesPersistentVolumeClaimsStorageClasses で構成される "PersistentVolume サブシステム" を使って実現できます。 このサブシステムでは、ユーザーと管理者に対し、ストレージの使用方法からストレージの提供方法の詳細を抽象化するための API が提供されます。

ほとんどのステートフル ワークロードでは、接続文字列、ユーザー名、パスワード、証明書などのシークレットからのデータが必要です。 Azure Key Vault は、必要なステートフル フレームワーク シークレットを保持するために使用する、シークレット用のセキュリティで保護されたストアを提供します。

また、シークレット ストアのシークレットを Kubernetes シークレットとして同期するには、Secrets Store CSI DriverExternal Secrets Operator のような Kubernetes コントローラーまたは Kubernetes オペレーターも必要です。

Azure 用の Kubernetes ステートフル フレームワークを示す図のスクリーンショット。

ステートフル ワークロードを設計して Azure にデプロイする

以降のセクションでは、Azure でのステートフル ワークロードのシナリオに関する設計とデプロイの情報へのリンクを示します。

MongoDB

PostgreSQL

Valkey

Apache Airflow

共同作成者

Microsoft では、この記事を保持しています。 当初の寄稿者は次のとおりです。

  • Don High | プリンシパル カスタマー エンジニア
  • Colin Mixon | プロダクト マネージャー
  • Erin Schaffer |コンテンツ開発者 2