Azure VM Agent 詳細

Tetsuya Isogai
6 min readJan 24, 2023

--

Azure VM Agent について調べる機会があったけど忘れそうなのでメモ

Azure VM Agent とは

Azure 仮想マシンエージェント、Azure Windows Agent、Azure Linux Agent などと記載されることもある。Azure 上 の仮想マシン(VM)とファブリックコントローラ(ざっくりいうと物理サーバのクラスタ管理ソフトウェアコンポーネント)とのやりとりを管理する、VM 上の OS にインストールされるソフトウェア。具体的には以下の機能を提供する。

  • Azure ファブリックコントローラと対話して、
    - DHCP 経由で IPアドレスを取得する
    - Azure DNS を使用して名前解決を実行する
    - ロードバランサからのヘルスチェックに応答する
  • VM 拡張機能をインストールする
  • Windows Agent のみ: 問題の調査に使用するために、イベントログ、OS ログ、Azure ログ、および一部のレジストリキーの自動収集と VM ホストへの転送
  • Linux Agent のみ: イメージのプロビジョニング、ネットワーク、カーネル構成、診断 など(詳しくはこちら

Azure VM Agent をインストールするには

Marketplace から展開した OS イメージは Azure VM Agent があらかじめインストールされているため、ユーザが手動でインストールする必要はない。カスタム VM イメージを使用する場合は、VM エージェントインストーラを使って手動でインストールすることも可能。

Azure VM Agent はどのように動作するか

VM Agent 自体の Update に絞って記載する。Azure VM Agent は VMを動かしている仮想化ホストノードの仮想 IP である 168.63.129.16 と通信する。この IP アドレスは WireServer とも呼ばれる。
Azure VM Agent は WireServer に定期的に問い合わせを行い、必要な更新があるかを確認する。これは Marketplace から入手した OS の場合は自動更新がなされるよう構成されているが、それ以外の場合には以下の対処が必要となる。

  • カスタム VM イメージの場合など、Azure VM Azure のインストールを手動で行った場合は自動更新されない。
  • Linux Agent の場合も Marketplace の OS は規定で自動更新が有効になっているが、念のため設定ファイルを確認のこと。(/etc/waagent.conf)

Azure VM Agent はクローズドな環境で利用できるか

Azure VM Agent が通信する WireServer の IP アドレスは Azure 内部からしかアクセスできないため、この IP アドレスと Azure リソース間のアクセスは安全とされている。

なお、WireServer のアドレスはネットワークセキュリティグループ(NSG)の規定の受信 / 送信セキュリティルールに含まれている。Azure Portal からは、何等かの VM に割り当てられた適当な NSG を選択 > 下側 NSG 名を選択 > AllowVnetInBound / AllowVnetOutBound を選択し、右側で アドレスのプレフィックス で確認ができる。

Windows Agent はこの WireServer 経由で更新が可能。
Linux Agent は更新イメージ自体は個別のリポジトリから入手するため、パブリックアクセスが必要となる場合がある。

Azure VM Agent が正しく動作しているか確認するには

Windows の場合、Azure Portal の以下「エージェントの状態」から確認できる。

より詳細な調査については以下のログおよび MS のサイトを確認する。

C:\WindowsAzure\Logs\WaAppAgent.log

C:\WindowsAzure\Logs\TransparentInstaller.log

Linux の場合、Azure Portal の以下「エージェントの状態」から確認できる。

より詳細な調査については以下のログおよび MS のサイトを確認する。

/var/log/waagent.log

参考

ファブリックコントローラとは Azure 情報システムのコンポーネントと境界 | Microsoft Learn

Azure 仮想マシン エージェントの概要 — Azure Virtual Machines | Microsoft Learn

Azure 仮想マシン エージェントの概要 — Azure Virtual Machines | Microsoft Learn

Azure Linux VM エージェントの概要 — Azure Virtual Machines | Microsoft Learn

IP アドレス 168.63.129.16 とは | Microsoft Learn

Understanding Azure VM Agents recommendation — Microsoft Community Hub

Azure Windows VM エージェントのトラブルシューティング — Virtual Machines | Microsoft Learn

Azure Linux エージェントのトラブルシューティング — Virtual Machines | Microsoft Learn

免責事項

  • 当サイトは個人のブログです。このブログに示されている見解や意見は個人的なものであり、所属組織の見解や意見を表明するものではありません。
  • 当サイトのコンテンツは情報提供のみを目的としています。公開情報を踏まえて正確な情報を掲載するよう努めますが、その内容の完全性や正確性、有用性、安全性、最新性について一切保証しません。
  • 添付文章やリンク先などを含む本サイトの内容は作成時点でのものであり、予告なく変更される場合があります。
  • 本サイトの利用に起因した事故や損害、不利益について、いかなる責任も負いません。あらかじめご了承ください。

--

--

Tetsuya Isogai

Working at Microsoft/Cloud Solution Architect/Azure Core Infra