2023年10月21日土曜日

azcmagent connectでテナントIDを非明示とした場合、全く違うテナントに接続し、connectが失敗する事もあり

頻繁に発生する現象ではないと思いますが、テナントIDを非明示とした場合、全く違うテナントに接続した挙動を見つけましたので、書いておきます。
※別で持っているOffice 365のテナントIDかと思ったが違いました。

こんなメッセージが出て、Azure Arc 対応サーバーの登録が失敗するようになりました。

メッセージは、「終了コード:  AZCM0042: Failed to Create Resource」なのですが、最高の権限を使っていることから、権限周りは考えにくく。

ログファイルは、"C:\ProgramData\AzureConnectedMachineAgent\Log\azcmagent.log"ですので、確認してみました。401のあたりからさかのぼっていくと、こんなメッセージがありました。

time="2023-10-21T09:56:56+09:00" level=debug msg="Azure response" Body="{\"error\":{\"code\":\"InvalidAuthenticationTokenTenant\",\"message\":\"The access token is from the wrong issuer 'https://sts.windows.net/f8cdef31-マスキングしてます/'. It must match the tenant 'https://sts.windows.net/2156436d-マスキングしてます/' associated with this subscription. Please use the authority (URL) 'https://login.windows.net/2156436d-マスキングしてます' to get the token. Note, if the subscription is transferred to another tenant there is no impact to the services, but information about new tenant could take time to propagate (up to an hour). If you just transferred your subscription and see this error message, please try back later.\"}}" Error Code=InvalidAuthenticationTokenTenant Operation=GET Status Code=401

上記赤字部分で別テナントへなぜか接続してますね。別のテナントだと権限がないわけで、エラーコートとしてはそうなります。

解決方法は、--tenant-idオプションにてテナントIDを明示的に指定します。

登録失敗が解消しました!

2023年10月14日土曜日

Azure Arcの画面にもESUが提供できる旨、表示されるようになりました。

Windows Server & Cloud User Group Japan 第36回 勉強会 にて発表あった

拡張セキュリティ更新プログラム (ESU) のおさらい

にESUの提供形態として、Azure Arcが増えている旨、説明がありました。

それに関してAzure Arcの画面にもメッセージが出るようになっていたので、そちらを貼ります。


遅まきながら、Convert-WindowsImageによるISOファイルからVHDXファイル生成

だんだん検証用途の環境がおかしくなっているような気がして、Convert-WindowsImageによるISOファイルからVHDXファイル生成に手を出すことにしました。

いろいろ探したところ、下記が一番新しそうです。

https://github.com/x0nn/Convert-WindowsImage

下記のコードでWindows クライアントで試したところ、うまくいきました。

$IsoPath = "C:\Sources\20349.1129.221007-2120.fe_release_hciv3_svc_refresh_SERVERAZURESTACKHCICOR_OEMRET_x64FRE_en-us.iso"
$VhdFormat = "VHDX"
$SizeByte = 127GB
$DiskLayout = "UEFI"
$VhdPath = "C:\Sources\g2azshcios127GB.vhdx"
Convert-WindowsImage -SourcePath $IsoPath -VHDFormat $VhdFormat -SizeBytes $SizeByte -DiskLayout $DiskLayout -VHDPath $VhdPath 
-RemoteDesktopEnable
※Set-ExecutionPolicy Unrestricted -Scope CurrentUser などでPowerShellの実行ポリシーは事前に変更ください。

このConvert-WindowsImageコマンドレットには、-Featureオプションで役割と機能を追加できるようなんです。ただ書き方が悪いのかうまくいかない。
役割と機能の追加については、Install-WindowsFeatureを使えばよいですね。

ここまでWindows クライアント上で実行していました。がWindows クライアントではInstall-WindowsFeatureが、使えないわけです。Windows Server上に移動して続行しましたよ。

2023年10月14日追記

-RemoteDesktopEnableは、うまく機能しない模様です。コンソール画面から改めてリモートデスクトップを有効化しました。

2023年10月7日土曜日

Azure MonitorとAzure Arcエージェントをアンインストールする その2

Azure MonitorとAzure Arcエージェントをアンインストールする の続きで、下記について確認します。
※あいにくAzure Portalから拡張の削除を指示したため、削除完了の画面ショットは無し。。。

  • Azure CLIによる削除
  • Azure PowerShellによる削除

Azure CLIによる削除

az connectedmachine extension list で現況を確認します。

az connectedmachine extension delete を使います。


Azure PowerShellによる削除

Get-AzConnectedMachineExtension で現況を確認します。

Remove-AzConnectedMachineExtension を使います。


Azure MonitorとAzure Arcエージェントをアンインストールする

検証時のリソース都合により、常時起動する仮想マシンを減らす準備として、Azure MonitorとAzure Arcエージェントをアンインストールします。

やり方は、エージェントのアンインストールに沿って進めます。
またAzure Monitorエージェントのアンインストール拡張機能を削除するでも、拡張機能のアンインストールが言及されています。
※拡張機能の管理は、Azure CLIPowerShell、または Azure Resource Manager テンプレートでもできます。自動化の観点ではこれらのほうが良いですね。

まずは、Azure Arc対応サーバーの拡張機能を削除します。先にAzure Monitorエージェントを削除し、それ以外はまとめて削除しています。
※結構時間かかります。あと、Azure Arcエージェントとの接続がオフラインになっていると失敗するようです。

拡張機能のアンインストールが完了したら、Azure Arc対応サーバー側にリモートデスクトップ接続を行います。

強制削除の意味合いで、azcmagent disconnect --force-local-only を管理者権限にて起動したコマンドプロンプトで実行します。
※Azureリリースごと削除ならば、--force-local-onlyは、不要です。今回は強制削除を確認するのが目的でした。

Azure Arcエージェントをアンインストールします。
※Windows Server 2019は、この画面からやるとアンインストールに失敗しますが。

気を取り直して「プログラムと機能」から削除します。

Azure PotralのAzure Arc対応サーバーに戻ります。該当リソースの概要画面に移動します。接続していない旨のメッセージが出ていることを確認後、リソースを削除します。

削除完了。

Azure MonitorとAzure Arcエージェントをアンインストールする その2 へ続く。

2023年10月2日月曜日

Azure Connected Machine Agentの手動アップグレード

Azure Connected Machine Agentは、Windows Updateからアップグレード可能です。

本題。
Azure PortalからAzure Arc対応サーバーを開きます。
サーバー名をクリック→「問題の診断と解決」→「構成とセットアップ」→「サーバーをAzure Arcに接続できない」を選択すると、最新版ではないサーバーの一覧を確認できます。
またこのページから、Azure Connected Machine Agent最新版を入手できます。

対象のサーバーを確認します。以前のAzure Connected Machine Agentです。
Azure Connected Machine Agent最新版をインストールします。
インストール後に、azcmagent showを実行します。最新版になっていますね。


補足)Azure Connected Machine agentのサポートOSについては、こちらをご確認ください。