
はじめに
こんにちは。NRI入社2年目の前田と申します。
現在は主にAzure・AWSを用いたシステムの設計/構築/運用を担当しています。
私が所属する維持保守チームでは主にエンハンス対応・障害対応をメインに行っています。
2023年の秋に部署に配属され業務に参画してから8か月ほどになりますが、
障害(対応)でよく発生するのがAKSノードの再起動です。
ノード再起動は一時的な障害と考えられる場合に有効な手段として実施することが多く、またハードウェア障害の自動復旧対応として自動的に動作する場合もあります。しかし、ハードウェア故障時の場合、再起動では復旧しないものの、停止・起動で復旧する場合があり、ハードウェアとノードの関係は障害対応者から見えづらく対応に苦戦しました。
そのため、本記事ではAKSにおいてノードの停止・起動と再起動の動作の違いについて取り上げます。
Kubernetes/AKSとは
まず、Kubernetes(k8s)とはコンテナの運用管理やスケーリングを支援するオーケストレーションツールになります。
k8sを用いることで、複数のコンテナを簡便に管理することができます。
Azure側でこのk8sの管理機能・運用の一部を引き受けることにより、さらにアプリケーションのデプロイ、管理、スケーリングを簡素化するサービスがAKSになります。
AKSクラスタのアーキテクチャは以下のようになっています。
アプリケーション実行用にデプロイする Kubernetes オブジェクトとワーカー ノードを担当する AKS コントロール プレーンがAzure 側で管理されます。

出典:Microsoft、Azure Kubernetes Services (AKS) の中心概念
Azureにおけるk8sノードとAzure VM
Azure上でk8sクラスタ(以下、これをAKSクラスタと記載します)を構成した場合、Kubernetesノードコンポーネントを実行するAzure 仮想マシン (VM) であるノードが少なくとも1つ必要となります。
また、同じ構成のノードを複数用意する場合、これらをグループ化することができます。
これがノードプールです。
各クラスタには
- CoreDNS や konnectivity などの重要なシステム ポッドをホストするシステム ノード プール
- アプリケーションポッドをホストするユーザノードプール
を作成できます。
ノードプールにはノード=仮想マシンスケールセット(VMSS)を配置する必要があります。
実際の例は画像のようになります。

AKSクラスタのノード再起動・起動停止の動作の違い
AKSクラスタのノードでハードウェアの故障による再起動が実行された場合でも、仮想マシンが動作する物理ホストの移動をしていない場合がありました。
この時、再起動しても解消せず、停止→起動で解消しました。
その理由として、VMの動作が以下のように規定されていることがあります。
|
操作 |
ゲスト OS の再起動 |
物理ホストの移動 |
|
再起動 |
〇 |
× |
|
停止 (割り当て解除) / 起動 |
〇 |
△ ※1 |
|
再デプロイ |
〇 |
〇 |
|
再適用 |
△ ※2 |
× |
表:VMの再起動・停止起動時の物理HW移動
出典:日本マイクロソフトAzure IaaSテクニカルサポートチーム「Azure 仮想マシンにおける操作 (再起動、停止/起動、再デプロイ、再適用) について」
また、VMSSインスタンスの名称についてもVMSSインスタンスの削除・作成が発生すると変更されます。
例えば以下のような操作は削除・作成が伴います。
- AKSのノードプール再作成
- VMSSのスケールイン・スケールアウト
- AKSの停止・起動
以下の場合には伴わず、名称はそのままになります
- ノード停止・起動
- VMSSインスタンスの再起動
これらの動作を正しく理解しておくことで、障害時の適切な手順選択や障害リソースの追跡ができるようになりました。
終わりに
AKSの障害対応の躓きの一例として、AKSクラスタのノードについて、停止起動/再起動が行われた際の挙動を取り上げました。
本記事がAKSを用いたシステムを扱っている方、Azureを勉強しようとしている方の一助となれば幸いです。
お問い合わせ
atlax では、ソリューション・サービス全般に関するご相談やお問い合わせを承っております。
関連リンク・トピックス
・atlax / クラウドの取り組み / Azure(Microsoft Azure)
・2024/11/27 Microsoft Azure 全冠になってみた ~ アレを使い倒した者が試験を制す!? ~
-

採用情報
NRIの IT基盤サービスでは、キャリア採用を実施しています。様々な職種で募集しておりますので、ご興味を持たれた方は キャリア採用ページも ぜひご覧ください。
※ 記載された会社名 および ロゴ、製品名などは、該当する各社の登録商標または商標です。
※ アマゾン ウェブ サービス、Amazon Web Services、AWS および ロゴは、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。
※ Microsoft、Azure は、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。
※ Google Cloud、Looker、BigQuery および Chromebook は、Google LLC の商標です。
※ Oracle、Java、MySQL および NetSuite は、Oracle Corporation、その子会社および関連会社の米国およびその他の国における登録商標です。NetSuite は、クラウド・コンピューティングの新時代を切り開いたクラウド・カンパニーです。

お問い合わせ