🧀

Japan-West で Azure Arc-enabled Servers を利用

2024/04/15に公開

Azure Arc-enabled Servers が Japan West で利用可能に!

Azure Arc enabled servers の登録先として、Japan West が使えるようになっています!
これまでは、Japan East のみでしたが、Japan West でも登録が可能になりました。

今までは、万が一、Japan East リージョン で障害が発生した場合には、Azure を介した管理機能の利用や、新たな システム割り当てマネージド ID 証明書が取得できず Azure Arc 関連機能が利用できなくなることが想定されました。
今後は、Japan West リージョンも利用が可能になったため、同じ日本の Azure の 地域同士で フェールオーバー されるようになり、影響が軽減されます。

Azure Arc 対応サーバーとは - ディザスター リカバリー

特段 Japan East 時と異なる点はありませんが、Japan West へ登録できることを確認してみます!

Arc 登録するためのマシンを、Azure VM で用意!

本当は Arc 登録するマシンは、オンプレ物理マシンや、マルチクラウドマシンだったりしますが、今回は検証ですし、 Azure VM で用意してみましょう。
Azure VM に ひと手間加えれば、以下の公式ドキュメント記載の通り、 Azure Arc 対応サーバーの評価に利用することができます。

ひと手間というのも、スクリプトを実行するだけです。
Windows VM であれば、以下のような PowerShell で Azure 上にデプロイされた場合に動作しているエージェント等を無効にすることで、Azure Arc 対応サーバー エージェントをインストールしての検証に利用することができるというものです。

Azure VM で Arc を試すための PowerShell スクリプト
# 変数登録
[System.Environment]::SetEnvironmentVariable("MSFT_ARC_TEST",'true', [System.EnvironmentVariableTarget]::Machine)

# Azure VM ゲスト エージェントを無効にします。
Set-Service WindowsAzureGuestAgent -StartupType Disabled -Verbose
Stop-Service WindowsAzureGuestAgent -Force -Verbose

# Azure IMDS エンドポイントへのアクセスをブロックします。
New-NetFirewallRule -Name BlockAzureIMDS -DisplayName "Block access to Azure IMDS" -Enabled True -Profile Any -Direction Outbound -Action Block -RemoteAddress 169.254.169.254

では、やってみます!
まずは Azure VM をデプロイして、スクリプトを実行します。


これで、登録するための マシン が用意できました。

Azure Arc 登録のためのスクリプト

続けて、Arc 登録するためのスクリプトを用意します。
Azure Portal で進めていけば、登録用スクリプトを生成できます。

対象リージョンは、 Japan West を選びます!




Azure Arc 対応サーバー エージェントをインストールして構成します。

Azure Portal 上 で 作成したスクリプト
Arc登録スクリプト
try {
    $env:SUBSCRIPTION_ID = "";
    $env:RESOURCE_GROUP = "japan-west-arc";
    $env:TENANT_ID = "";
    $env:LOCATION = "japanwest";
    $env:AUTH_TYPE = "token";
    $env:CORRELATION_ID = "";
    $env:CLOUD = "AzureCloud";
    

    [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor 3072;

    # インストール パッケージをダウンロードします
    Invoke-WebRequest -UseBasicParsing -Uri "https://aka.ms/azcmagent-windows" -TimeoutSec 30 -OutFile "$env:TEMP\install_windows_azcmagent.ps1";

    # ハイブリッド エージェントをインストールします
    & "$env:TEMP\install_windows_azcmagent.ps1";
    if ($LASTEXITCODE -ne 0) { exit 1; }

    # 接続コマンドを実行します
    & "$env:ProgramW6432\AzureConnectedMachineAgent\azcmagent.exe" connect --resource-group "$env:RESOURCE_GROUP" --tenant-id "$env:TENANT_ID" --location "$env:LOCATION" --subscription-id "$env:SUBSCRIPTION_ID" --cloud "$env:CLOUD" --correlation-id "$env:CORRELATION_ID";
}
catch {
    $logBody = @{subscriptionId="$env:SUBSCRIPTION_ID";resourceGroup="$env:RESOURCE_GROUP";tenantId="$env:TENANT_ID";location="$env:LOCATION";correlationId="$env:CORRELATION_ID";authType="$env:AUTH_TYPE";operation="onboarding";messageType=$_.FullyQualifiedErrorId;message="$_";};
    Invoke-WebRequest -UseBasicParsing -Uri "https://gbl.his.arc.azure.com/log" -Method "PUT" -Body ($logBody | ConvertTo-Json) | out-null;
    Write-Host  -ForegroundColor red $_.Exception;
}

では、用意したスクリプトを、マシン上で実行します。

途中、ブラウザが開き、認証が求められます。
認証を行うと、Azure Arc への登録が完了します。

登録できたか確認

Azure Portal から Arc 登録したマシンを確認します。

また、マシン側からも、エージェントの状態を確認してみます!
西日本 https://japanwest-gas.guestconfiguration.azure.com との疎通が取れていることが確認できます。

azcmagent check
azcmagent check
INFO    Testing connectivity to endpoints that are needed to connect to Azure... This might take a few minutes.
ENDPOINT                                              |REACHABLE  |PRIVATE  |TLS      |PROXY
https://agentserviceapi.guestconfiguration.azure.com  |true       |false    |TLS 1.2  |not used
https://gbl.his.arc.azure.com                         |true       |false    |TLS 1.3  |not used
https://japanwest-gas.guestconfiguration.azure.com    |true       |false    |TLS 1.2  |not used
https://jw.his.arc.azure.com                          |true       |false    |TLS 1.3  |not used
https://login.microsoftonline.com                     |true       |false    |TLS 1.3  |not used
https://login.windows.net                             |true       |false    |TLS 1.3  |not used
https://management.azure.com                          |true       |false    |TLS 1.2  |not used
https://pas.windows.net                               |true       |false    |TLS 1.2  |not used
azcmagent show "Agent Status" "Agent Last Heartbeat"
azcmagent show "Agent Status" "Agent Last Heartbeat"
Agent Status                            : Connected
Agent Last Heartbeat                    : 2024-05-08T02:51:32Z

まとめ

Azure Arc enabled servers の登録先として、Japan West が使えるようになりました!
西日本にあるマシンはそちらに登録したり、Japan East へ登録していてもフェールオーバーを考慮したりすることができるようになりました。
対象リージョンが広がったということで、より柔軟な利用が可能になりました!

URLs

https://learn.microsoft.com/ja-jp/azure/azure-arc/servers/overview

https://learn.microsoft.com/ja-jp/azure/azure-arc/servers/plan-evaluate-on-azure-virtual-machine

https://azure.microsoft.com/ja-jp/explore/global-infrastructure/geographies/#geographies

https://learn.microsoft.com/ja-jp/azure/azure-arc/servers/azcmagent-check

Microsoft (有志)

Discussion