目次
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でよく問われる)
| 項目 | AKS | ACI |
|---|---|---|
| 用途 | 大規模運用・マイクロサービス | 単発・軽量コンテナ |
| 管理範囲 | Kubernetes クラスター | なし(直接実行) |
| スケール | 自動で高度 | 単体のみ |
| 起動速度 | やや遅い | 速い(数秒) |
| 適用規模 | 中〜大規模 | 小規模・テスト |
ACI:コンテナをすぐ実行したい場合
AKS:本番運用・大規模サービス
AKS の課金ポイント
- ノード(VM)の料金
- ストレージ
- ネットワーク
※コントロールプレーンは無料(AKS の特徴)
AZ-900で理解すべきポイント
- AKS は Kubernetes の マネージドサービス
- Azure がコントロールプレーンを管理
- 自動スケール、分散管理、自己修復を提供
- ACR との連携が一般的
- ACI と比較して「大規模向け」
- マイクロサービスや大量コンテナで使用される