Azure Kubernetes Service(AKS)

Azure Kubernetes Service(AKS)


Azure Kubernetes Service(AKS)は、
Kubernetes(コンテナオーケストレーション)を Azure 上で簡単に運用できるマネージドサービス です。

Kubernetes の複雑な管理を Azure が肩代わりすることで、
開発者はアプリケーションのデプロイと運用に集中できます。


Kubernetes の役割(まず理解すべきポイント)

Kubernetes は、コンテナを大量に動かすための自動管理システムです。

具体的には:

  • コンテナのデプロイ
  • スケール(増減)
  • ロードバランシング
  • 障害時の自動復旧
  • 設定管理
  • ノードの健康監視

これらを自動で行い、
大量のコンテナを安定して動かす ことができます。


AKS の特徴

● Azure が Kubernetes の複雑な部分を管理

Kubernetes では本来、以下の管理が必要です:

  • コントロールプレーンの構築
  • クラスタのアップグレード
  • ノードの管理
  • セキュリティ更新

AKS ではこれらの作業を Azure が自動で管理するため、
ユーザーは「ワーカーノード(実行部)」だけを意識すればよい。


● 自動スケール

AKS は以下の 2 種類のスケールをサポート:

  • ノード自動スケール(Cluster Autoscaler)
  • ポッド自動スケール(HPA:Horizontal Pod Autoscaler)

アクセス増に応じて、自動的にコンテナやノードを増やします。


● 高可用性(HA)構成

  • 複数ノードプール
  • 可用性ゾーンへの配置
  • 自動復旧機能

クラウドネイティブなアプリにおいて、非常に強い冗長性を提供。


● ACR(Azure Container Registry)と連携

AKS は ACR からコンテナイメージを直接取得できます。

  • セキュア
  • 高速
  • 自動認証

実務で最もよく使われる構成です。


● DevOps と統合しやすい

  • GitHub Actions
  • Azure DevOps
  • CI/CD パイプライン

クラウドネイティブ環境での自動デプロイが容易。


AKS の主な用途

● 大規模 Web サービス

大量のユーザーアクセスを捌く必要があるサービス。

● マイクロサービス構成

サービスを複数コンテナで分割して動かす構成に最適。

● バックエンド API 群の運用

複数サービスを Kubernetes 上で統一管理。

● AI/ML ワークロード

GPU ノードプールも用意でき、機械学習タスクにも適用可能。


AKS が解決する問題

  • コンテナの数が多いと手動では運用困難
  • 自動スケールなしでは負荷に対応できない
  • 障害対応を自動化したい
  • デプロイのロールバック・ローリングアップデートを行いたい

Kubernetes の恩恵を Azure 上で簡単に利用できます。


AKS と ACI の違い(AZ-900でよく問われる)

項目AKSACI
用途大規模運用・マイクロサービス単発・軽量コンテナ
管理範囲Kubernetes クラスターなし(直接実行)
スケール自動で高度単体のみ
起動速度やや遅い速い(数秒)
適用規模中〜大規模小規模・テスト

ACI:コンテナをすぐ実行したい場合
AKS:本番運用・大規模サービス


AKS の課金ポイント

  • ノード(VM)の料金
  • ストレージ
  • ネットワーク
    ※コントロールプレーンは無料(AKS の特徴)

AZ-900で理解すべきポイント

  • AKS は Kubernetes の マネージドサービス
  • Azure がコントロールプレーンを管理
  • 自動スケール、分散管理、自己修復を提供
  • ACR との連携が一般的
  • ACI と比較して「大規模向け」
  • マイクロサービスや大量コンテナで使用される