2026年2月10日火曜日

WAC vMode PreviewにNetwork ATC設定済みのHyper-Vクラスターを追加したい その2

WAC vMode PreviewにNetwork ATC設定済みのHyper-Vクラスターを追加したい その1

の続き。まずCompute、Management、Storageを別々に指定してみます

まずManagementを指定しました。

続いてStorageを指定しました。
Computeは、二つのNWへ各々指定します。

WACからNetwork ATCを見ると下記のようになっておりました。

WAC vModeから管理対象にしてみます。(別項で、WAC vModeプレビューを改たなプレビュー版へUpgradeしております)

クラスター名を指定します。
クラスタリングは、そのまま次へ。
Network ATCは、先ほど指定したものが正しく認識されております。
ストレージは何も指定しないで、
やってみたのですが、エラーになりました。
Use Existing Storageを指定しました。
Computeは、Coming soonなので次へ。
Submitします。
うまくいきました。
これで、あらかじめNetwork ATC構成済みのS2Dを登録できます!


2026年2月8日日曜日

WAC vMode PreviewにNetwork ATC設定済みのHyper-Vクラスターを追加したい その1

Windows Admin Center Virtualization Mode preview(以降、WAC vModeと称す)は、管理配下となるHyper-VクラスターにNetwork ATCを要求します。

が、事前にスイッチ埋め込み型チーミング(SET)を組んでいたりすると、Network ATCの適用でややこしいことになります。ややこしいとは既存のSET名が変更されたり、ManagementのvNICなどが追加されたりします。これはNetwork ATCがというより、Network ATCではないHyper-Vホストを追加してしまう故の事象と思っています。特にStorate通信が不要なスタンドアロンHyper-Vホストだと、この事象に遭遇しやすいと思います。

ならば、Windows Server 2025 Hyper-VクラスターでNetwork ATCを有効化してから、WAC vModeの管理下に追加すれば良いのではと考えました。今回の記事は、Windows Server 2025 Hyper-VクラスターでNetwork ATCを有効化するところまでとします。次の記事で、Windows Server 2025 Hyper-VクラスターでNetwork ATCを有効化された状態で、WAC vModeの追加ウィザードがどのように動くかを見ることとします。

まずWindows Admin Center(以降、WACと称す)からNetwork ATCを有効化した例をご覧いただきます。当該環境は、NestedでしてRDMAは使えません。しかしながら、RDMAが有効化するのが既定値であり、有効化できないとエラーになるということです。

Network ATC ってなに?

を読み込み16ページにRDMAを無効化とありました。その後、Microsoft Learnに下記の記載がありました。

VM での Network ATC のテスト

$AdapterOverride = New-NetIntentAdapterPropertyOverrides
$AdapterOverride.NetworkDirect = 0

これで既定値を変更すれば良いと理解しました。物理サーバーであってもRDMAを使わないNICがありますので、この例を応用できると考えます。

ついでにSR-IOVも無効化しつつ、クラスター単位でCompoutとManagementの両方を指定するインテントを設定してみました。

うまく行きました!続いて、Storageのインテント指定しました。
こちらも成功しました。続いて、Computeだけを指定するインテントを作成してみます。
こちらも成功しました。WACから、Network ATC状況がどうなるかをみていきます。
成功で推移しつつあります。PowerShell ISEに戻って、Get-NetIntentStatusを実行してみました。こちらも成功しつつあります。
Computeを含むインテントに対して自動的に仮想スイッチ(スイッチ埋め込み型チーミング、SET)もできていました。
最終的には、WAC側でNetwork ATCのインテントも設定完了しました。

次稿では、Compute、Management、Storageを別々に指定してみます。加えて、WAC vModeから管理対象にする操作も確認してみます。

Azure Local 2601によるRack ware Cluster

セットアップの最初を画面撮り忘れたため、バリデーションのところから掲載します。

毎度のことですが、当方の環境は15分じゃなくて1時間かかっております。Nested故なのかは、きちんと調べておりません。。。

続いてデプロイ時のパラメーター一覧です。ゾーンごとに1ノードを配置しております。ちなみに Azure Local のRack Aware/multi-rack deploymentsで要求されるリソースプロバイダーの登録状況を確認する その2 で調べたリソースプロバイダーは一部未登録のままです。現在、プレビュー中なので大丈夫なのかもしれませんが、GAしたらどうなるか見てみたいですね。

実際のデプロイ結果は、下記のとおりです。

Nested Azure Local 2ノードの環境は、3時間47分で完了しました。

2026年2月2日月曜日

Microsoft Corporation KEK CA 2011 は 2026 年に期限切れに伴い

ITニュース. 2026年6月にセキュアブート証明書の有効期限切れ、企業は対策が必要な場合も

セキュア ブート移行に関するよくあるご質問(FAQ)

を見ていましてセキュアブート用の証明書が切れることを知りました。

Windows セキュア ブート キーの作成と管理のガイダンス

にも、下記のように書かれています。(上記より文面引用します)

Microsoft Corporation KEK CA 2011 は 2026 年に期限切れになる予定で、すべての OEM は、新しい Microsoft Corporation KEK CA 2023 の更新プログラムを作成、署名、および Microsoft に提出する必要があります。 これにより、Microsoft は新しい Microsoft KEK CA を使用して市販デバイスを更新でき、システムは 2026 年以降も引き続き DB と DBX の更新プログラムを受け取ります。

ということで、どうやって更新するのかと思っていたら、運よくWindows Updateで配布されているのを捕捉できました!


 

2028 年にリタイア予定の Azure VM サイズについて調べた その2

2028 年にリタイア予定の Azure VM サイズについて調べた

で使用しているAzure Virtual Machine(Azure VM)がいくつかリタイヤすることがわかりました。改めてサイズ変更のやり方をwrap upします。

まずは、Azure VMをシャットダウンします。シャットダウンしない場合は、サイズ変更時に再起動してしまいますので。

Azure VMがシャットダウンしたら、下方向へスクロールしてサイズをクリックします。

Standard_B2s_v2にしようと思ったのですが、見当たらないのでD2lds_v5に変更します。

サイズ変更が完了したら、Azure VMを起動すれば完了です。


2026年1月31日土曜日

2028 年にリタイア予定の Azure VM サイズについて調べた

2028 年にリタイア予定の Azure VM サイズについて(D, Ds, Dv2, Dsv2, Ls および F, Fs, Fsv2, Lsv2, G, Gs, Av2, Amv2, B シリーズ)

という記事を見つけました。うちもBシリーズを使っているのですが、該当するのか否かを調べてみることにしました。記載されているスクリプトなどを実行してみます。

まず全てのAzure VMをResource Graph エクスプローラーで検索しました。

続いて、2028年にリタイヤするAzure VMをResource Graph エクスプローラーで検索しました。
7/8件が該当しました。2028年とまだ先ではありますが、どこかでシャットダウンしてVMサイズを変えておきます。

なお、

2028 年にリタイア予定の Azure VM サイズについて(D, Ds, Dv2, Dsv2, Ls および F, Fs, Fsv2, Lsv2, G, Gs, Av2, Amv2, B シリーズ)

に下記文言があります。下記のAzure VMサイズは、リタイヤ対象では無いです、念のため。

Standard_D2_v3 サイズといった Dv3 シリーズや Standard_B2s_v2 サイズといった Bsv2 サイズなどは、今回のリタイアの対象には含まれておりません。

wSCUGJ 第49回勉強会セッション資料「Azure MigrateによるVMwareからAzure Localへの移行概要」

wSCUGJ 第49回勉強会セッション動画「Azure MigrateによるVMwareからAzure Localへの移行概要」


 

2026年1月28日水曜日

Azure Local のRack Aware/multi-rack deploymentsで要求されるリソースプロバイダーの登録状況を確認する その2

Azure Local のRack Aware/multi-rack deploymentsで要求されるリソースプロバイダーの登録状況を確認する

では、Azure PowerShellをCloud Shellで実行するようにしました。ただ

Prerequisites for multi-rack deployments of Azure Local (preview)

は、Azure CLIで実行するようになっています。だったら、Azure CLIで登録状況を確認できた方が良いですよね。
改めてChatGPTとやりとりして、Cloud Shellで動作確認したものです。

Cloud Shellにcatを使ってファイルを保存します。

cat << 'EOF' > check-providers.sh
#!/usr/bin/env bash
set -euo pipefail

SUBSCRIPTION_ID="$1"

if [[ -z "${SUBSCRIPTION_ID:-}" ]]; then
  echo "Usage: $0 <subscription-id>"
  exit 1
fi

PROVIDERS=(
  "Microsoft.AzureArcData"
  "Microsoft.Compute"
  "Microsoft.AzureStackHCI"
  "Microsoft.ContainerService"
  "Microsoft.ExtendedLocation"
  "Microsoft.GuestConfiguration"
  "Microsoft.HybridCompute"
  "Microsoft.HybridConnectivity"
  "Microsoft.HybridContainerService"
  "Microsoft.HybridNetwork"
  "Microsoft.Insights"
  "Microsoft.KeyVault"
  "Microsoft.Kubernetes"
  "Microsoft.KubernetesConfiguration"
  "Microsoft.ManagedIdentity"
  "Microsoft.ManagedNetworkFabric"
  "Microsoft.Network"
  "Microsoft.NetworkCloud"
  "Microsoft.OperationalInsights"
  "Microsoft.OperationsManagement"
  "Microsoft.Relay"
  "Microsoft.ResourceConnector"
  "Microsoft.Resources"
  "Microsoft.Storage"
  "Microsoft.NexusIdentity"
)

az account set --subscription "$SUBSCRIPTION_ID"

printf "%-40s %s\n" "Provider" "Status"
printf "%-40s %s\n" "--------" "------"

for ns in "${PROVIDERS[@]}"; do
  state=$(az provider show \
    --namespace "$ns" \
    --query "registrationState" \
    -o tsv 2>/dev/null || echo "NotFound")

  printf "%-40s %s\n" "$ns" "$state"
done
EOF

実行権限を付与します。

chmod +x check-providers.sh

実行権限を付与したので、ファイル名とサブスクリプションIDを指定して実行します。

./check-providers.sh <subscription-id>

実行結果の例を下記に貼ります。


結果の内容自体は、Azure Local のRack Aware/multi-rack deploymentsで要求されるリソースプロバイダーの登録状況を確認する と同じです。

2026年1月27日火曜日

Azure Local のRack Aware/multi-rack deploymentsで要求されるリソースプロバイダーの登録状況を確認する

Prerequisites for multi-rack deployments of Azure Local (preview) - Register resource providers

を読んでいまして、Azure Localの通常デプロイにはないリソースプロバイダーがあるなと。とりあえず、未登録のものを知りたいので、chatGPTとやりとりすること数回。結果、

$subscriptionId = "あなたのサブスクリプションID"
Select-AzSubscription -SubscriptionId $subscriptionId
$providers = @(
  "Microsoft.AzureArcData",
  "Microsoft.Compute",
  "Microsoft.AzureStackHCI",
  "Microsoft.ContainerService",
  "Microsoft.ExtendedLocation",
  "Microsoft.GuestConfiguration",
  "Microsoft.HybridCompute",
  "Microsoft.HybridConnectivity",
  "Microsoft.HybridContainerService",
  "Microsoft.HybridNetwork",
  "Microsoft.Insights",
  "Microsoft.Keyvault",
  "Microsoft.Kubernetes",
  "Microsoft.KubernetesConfiguration",
  "Microsoft.ManagedIdentity",
  "Microsoft.ManagedNetworkFabric",
  "Microsoft.Network",
  "Microsoft.NetworkCloud",
  "Microsoft.OperationalInsights",
  "Microsoft.OperationsManagement",
  "Microsoft.Relay",
  "Microsoft.ResourceConnector",
  "Microsoft.Resources",
  "Microsoft.Storage",
  "Microsoft.NexusIdentity"
)
$providers |
ForEach-Object {
    $rp = Get-AzResourceProvider -ProviderNamespace $_ -ErrorAction SilentlyContinue
    if ($null -eq $rp) {
        [PSCustomObject]@{
            Provider = $_
            Status   = "NotFound"
        }
    }
    else {
        [PSCustomObject]@{
            Provider = $_
            Status   = ($rp | Select-Object -First 1).RegistrationState
        }
    }
} |
Format-Table -AutoSize

が出来上がりました。出力結果は下記の通りなのですが、しばらく待つ必要がありますのでご注意ください。

別途、未登録のリソースプロバイダーを登録するように改良もできますね。

2026年1月22日木曜日

Nested Azure Localクラスターを解体する

PoC環境なので、定期的にNested Azure Localクラスターを解体しています。今回はUpdateに失敗した状況でそれができるかというものです。。。

なおここから記載する順番は、何か根拠があってではなく、デプロイの順番をおおよそ巻き戻していく感じで進めていくことをご了承ください。この手順通りにやったとして何か起きてもご自身でリスクを負っていただきます。(今回は自分自身でもリスクを負っています)

注)アップデートの失敗は、Azureサポートに照会するのが本来かと思います。今回は、PoC故にHyper-Vホストのリソースを開けることを目的としたに解体です。改めてご承知おきください。

一番問題なのが、Azure Localクラスターがアップデート実行中のまま(もしくはアップデートが失敗)であることです。

この状態で、Azure LocalクラスターのリソースをAzureから削除できるのだろうかということで、強行してみます。

最初のエラーは、Lockオブジェクトの削除し忘れなので気にしないでください。

改めてロックオブジェクトを削除します。
Azure Localのオブジェクトを削除します。
無事に削除できました。

続いてAzrure Arc対応サーバーであるAzure Localのノードを削除します。Lockオブジェクトの削除、Extensionの削除、ノードのオブジェクトを削除といった順で進めます。

注)Azure Arc対応サーバーのリソースは、拡張を削除してから削除しています。Azure Arc対応サーバーが稼働している状態で、拡張を削除、Azure Connecte Machine Agentの関連付け削除といった順番です。

あとは、リソースグループに残っている不要なリソースを削除します。下記ではまとめて削除しました。(Arcゲートウェイを除きます)

実際には、Lockオブジェクトを持つストレージアカウントの二つが残りました。こちらはLockオブジェクトを削除後、改めて削除しました。

Azure側の登録解除が終わりましたら、S2D無効化、クラスターの解体、OU内のオブジェクトクリーンアップ、OUの削除、DNSレコードの削除を進めれば完了します。この辺りは、画面キャプチャを省略させていただきます。