Azure Kubernetes Service とは
Azure Kubernetes Service (AKS) は、コンテナー化されたアプリケーションをデプロイして管理するために使用できるマネージド Kubernetes サービスです。 AKS を使用するためにコンテナー オーケストレーションの専門知識は必要ありません。 AKS では、責任の多くを Azure にオフロードすることで、Kubernetes の管理の複雑さと運用上のオーバーヘッドを軽減します。 AKS は、高可用性、スケーラビリティ、移植性を必要とするコンテナー化されたアプリケーションのデプロイおよび管理と、複数のリージョンへのアプリケーションのデプロイ、オープンソース ツールの使用、既存の DevOps ツールとの統合に最適なプラットフォームです。
Azure Kubernetes Service の概要
AKS では、Kubernetes の管理の責任を Azure に移すことで、その複雑さと運用上のオーバーヘッドを軽減します。 AKS クラスターを作成すると、Azure は自動的にコントロール プレーンを作成し、コストなしで構成します。 Azure プラットフォームは、アプリケーションを実行するためにデプロイする Kubernetes オブジェクトとワーカー ノードを担当する AKS コントロール プレーンを管理します。 Azure では、正常性の監視やメンテナンスなどの重要な操作が処理され、アプリケーションを実行する AKS ノードに対してのみ料金が発生します。
AKS は CNCF 認定を受けており、SOC、ISO、PCI DSS、HIPAA に準拠しています。 詳細については、Microsoft Azure コンプライアンスの概要を参照してください。
Azure のコンテナー ソリューション
Azure には、さまざまなワークロード、アーキテクチャ、ビジネス ニーズに対応するように設計されたさまざまなコンテナー ソリューションが用意されています。
コンテナー ソリューション | リソースの種類 |
---|---|
Azure Kubernetes Service | Managed Kubernetes |
Azure Red Hat OpenShift | Managed Kubernetes |
Azure Arc 対応 Kubernetes | アンマネージド Kubernetes |
Azure Container Instances | マネージド Docker コンテナー インスタンス |
Azure Container Apps | Managed Kubernetes |
さまざまなソリューションの比較の詳細については、次のリソースを参照してください。
AKS を使用するタイミング
次の一覧では、AKS の一般的なユース ケースの一部について説明しますが、これは網羅的な一覧ではありません。
- AKS によるコンテナーへのリフト アンド シフト: 既存のアプリケーションをコンテナーに移行し、フル マネージド Kubernetes 環境で実行します。
- AKS を使用したマイクロサービス: 合理化された水平スケーリング、自己復旧、負荷分散、シークレット管理により、マイクロサービス ベースのアプリケーションのデプロイと管理を簡素化します。
- AKS 用のセキュリティで保護された DevOps: Kubernetes でセキュリティで保護された DevOps を実装することで、効率的に速度とセキュリティのバランスを取ります。
- ACI を使用した AKS からのバースト: 仮想ノードを使用して、秒単位で開始し、需要に合わせてスケーリングする ACI 内のポッドをプロビジョニングします。
- AKS を使用した機械学習モデル トレーニング: TensorFlow や Kubeflow などの使い慣れたツールで、大規模なデータセットを使用してモデルをトレーニングします。
- AKS を使用したデータ ストリーミング: センサーを介して収集された数百万のデータ ポイントを使用してリアルタイムのデータ ストリームを取り込んで処理し、高速な分析と計算を実行して、複雑なシナリオに関する分析情報を開発します。
- AKS での Windows コンテナーの使用: AKS で Windows Server コンテナーを実行して、Windows アプリケーションとインフラストラクチャを最新化します。
AKS の機能
次の表に、AKS の主な機能の一部を示します。
機能 | 説明 |
---|---|
ID とセキュリティ管理 | • 組み込みのガードレールとインターネット セキュリティ ベンチマークを使用して、Azure Policy を使用して規制コンプライアンス制御を適用します。 • Kubernetes RBAC と統合して、クラスター リソースへのアクセスを制限します。 • Microsoft Entra ID を使用して、既存の ID とグループ メンバーシップに基づいて、Kubernetes アクセスを設定します。 |
ログ記録と監視 | • Azure Monitor の機能である Container Insights と統合して、クラスターとコンテナー化されたアプリケーションの正常性とパフォーマンスを監視します。 • ネットワーク監視を設定し、BYO Prometheus と Grafana を使用して、クラスターからネットワーク トラフィック データを収集して視覚化します。 |
合理的なデプロイ | • Kubernetes の事前構築済みクラスター構成をスマートな既定値で使用します。 • Kubernetes イベント ドリブン オートスケーラー (KEDA) を使用してアプリケーションを自動スケーリングします。 • AKS 用 Draft を使用して ソース コードを準備し、運用環境用にアプリケーションを準備します。 |
クラスターとノード | • ストレージをノードやポッドに接続し、クラスター コンポーネントをアップグレードして、GPU を使用します。 • 混在するオペレーティング システムと Windows Server コンテナーをサポートするために複数のノード プールを実行するクラスターを作成します。 • クラスター オートスケーラーと水平ポッド オートスケーラーを使用して自動スケーリングを構成します。 • コンフィデンシャル コンピューティング ノードを使用してクラスターをデプロイして、ハードウェアベースの高信頼実行環境でコンテナーを実行できます。 |
ストレージ ボリュームのサポート | • 永続データ用の静的または動的ストレージ ボリュームをマウントします。 • シングル ポッド アクセスに Azure Disks を使用し、複数の同時ポッド アクセスに Azure Files を使用します。 • Azure NetApp Files を使用して、高パフォーマンス、高スループット、低遅延のファイル共有を実現します。 |
ネットワーク | • Kubenet ネットワークを利用して簡単なデプロイを行い、高度なシナリオでは Azure Container Networking Interface (CNI) ネットワークを利用します。 • サードパーティの CNI プラグインを使用するために、独自のコンテナー ネットワーク インターフェイス (CNI) を導入します。 • nginx を使用したアプリケーション ルーティング アドオンを使用して、クラスターにデプロイされたアプリケーションに簡単にアクセスできます。 |
開発ツールの統合 | • Helm を使用して AKS で開発します。 • ワークロードを管理するために、Visual Studio Code 用の Kubernetes 拡張機能をインストールします。 • Istio ベースのサービス メッシュ アドオンを使用して Istio の機能を活用します。 |
AKS の概要
次のリソースを使用して AKS の使用を開始します。
- AKS 用の Kubernetes のコア概念について学習します。
- AKS チュートリアル シリーズを使用して、AKS でのアプリケーションのデプロイを評価します。
- AKS 用の Azure Well-Architected フレームワークを確認して、AKS で信頼性の高い、セキュリティで保護され、効率的でコスト効率の高いアプリケーションを設計および運用する方法を学習します。
- リファレンス アーキテクチャを使用して、AKS の設計と運用を計画します。
- AKS でのコスト最適化の構成オプションと推奨されるベスト プラクティスについて説明します。