JavaScriptを有効にしてください

Azure Arc 対応サーバーのデモ環境を作り隊

 ·   5 分で読めます  ·   Kento

今回は Azure Arc 対応サーバーのデモ環境を Azure 上に立てたいと思います
以下の動画のブログ版になります
Azure Arc のテスト環境を作ろう! - YouTube

ざっくり手順

  1. Azure VM の作成
  2. Azure VM の拡張機能を削除
  3. VM エージェントを無効化
  4. Azure Instance Metadata Service (IMDS) へのアクセスを拒否
  5. Azure Arc 対応サーバーとして構成

Linux 環境

Linux 環境を作ってみます
※動画では紹介していないです

1. Azure VM の作成

今回は Ubuntu 20.04 のイメージを使用します
Azure Arc 対応サーバーのサポート OS であれば問題ないと思います
Connected Machine エージェントの前提条件 - Azure Arc | Microsoft Learn

2. Azure VM の拡張機能を削除

デプロイした仮想マシンのメニューから [拡張機能とアプリケーション] を選択します
ここに表示されている拡張機能があれば削除します

3. VM エージェントを無効化

VM エージェントを無効化するために VM に SSH で接続し、以下のコマンドを実行します

1
2
3
4
5
CURRENT_HOSTNAME=$(hostname)
sudo service walinuxagent stop
sudo waagent -deprovision -force
sudo rm -rf /var/lib/waagent
sudo hostnamectl set-hostname $CURRENT_HOSTNAME

4. Azure Instance Metadata Service (IMDS) へのアクセスを拒否

OS の組み込みのファイアーウォールなどを使って、169.254.169.254/32 への通信をブロックします
今回使用している Ubuntu の場合は以下のコマンドになります

1
2
3
sudo ufw --force enable
sudo ufw deny out from any to 169.254.169.254
sudo ufw default allow incoming

CentOS、Red Hat、または SUSE の場合は以下のコマンドになります

1
2
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -d 169.254.169.254 -j DROP
firewall-cmd --reload

5. Azure Arc 対応サーバーとして構成

Azure Portal に移動します
Azure Arc > Machines > + Add/Create > Add a machine > 単一サーバーの追加 (スクリプトの生成) の順に選択します

portal01
Azure Arc 対応祖サーバーの構成 Linux 01:
portal02
Azure Arc 対応祖サーバーの構成 Linux 02:

リソースグループ、リージョン、OS、接続方法を適切なものを選び、[次へ] を選択します

portal03
Azure Arc 対応祖サーバーの構成 Linux 03:

タグについては必要な情報を入力し、[スクリプトのダウンロードと実行] を選択します
以下のようなスクリプトが表示されるので、コピーして Azure Arc 対応サーバーとして構成する VM で実行します

portal04
Azure Arc 対応祖サーバーの構成 Linux 04:

最後の接続コマンドの実行時に認証が必要なので表示された内容に従って、認証を行います
以下の 4行目の部分になります

AzureAdmin@linux-arc:~$ sudo azcmagent connect --resource-group "$resourceGroup" --tenant-id "$tenantId" --location "$location" --subscription-id "$subscriptionId" --cloud "$cloud" --correlation-id "$correlationId";
INFO    Connecting machine to Azure... This might take a few minutes.
INFO    Testing connectivity to endpoints that are needed to connect to Azure... This might take a few minutes.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code XXXXXX to authenticate.
  20% [==>            ]
  30% [===>           ]
  INFO    Creating resource in Azure...                 Correlation ID=22f9cab3-4d9f-4d66-bc53-2f22b558d164 Resource ID=/subscriptions/0b11dcba-e984-4c39-b2f0-9abba02b7e67/resourceGroups/arc-demo-rg/providers/Microsoft.HybridCompute/machines/linux-arc
  60% [========>      ]
  80% [===========>   ]
 100% [===============]
  INFO    Connected machine to Azure
INFO    Machine overview page: https://portal.azure.com/#@385a387c-3180-48ad-b5ec-b863152cd911/resource/subscriptions/0b11dcba-e984-4c39-b2f0-9abba02b7e67/resourceGroups/arc-demo-rg/providers/Microsoft.HybridCompute/machines/linux-arc/overview

認証も無事に完了して、Azure Connected Machine Agent のインストール、接続が完了すると Azure Portal に表示されます

portal05
Azure Arc 対応祖サーバーの構成 Linux 05:

Windows 環境

Windows 環境を作ってみます
※動画で紹介している手順になります

1. Azure VM の作成

今回は Windows Server 2022 のイメージを使用します
Azure Arc 対応サーバーのサポート OS であれば問題ないと思います
Connected Machine エージェントの前提条件 - Azure Arc | Microsoft Learn

2. Azure VM の拡張機能を削除

デプロイした仮想マシンのメニューから [拡張機能とアプリケーション] を選択します
ここに表示されている拡張機能があれば削除します

3. VM エージェントを無効化

VM エージェントを無効化するために VM に RDP で接続し、以下のコマンドを実行します

1
2
Set-Service WindowsAzureGuestAgent -StartupType Disabled -Verbose
Stop-Service WindowsAzureGuestAgent -Force -Verbose

4. Azure Instance Metadata Service (IMDS) へのアクセスを拒否

OS の組み込みのファイアーウォールなどを使って、169.254.169.254/32 への通信をブロックします

1
New-NetFirewallRule -Name BlockAzureIMDS -DisplayName "Block access to Azure IMDS" -Enabled True -Profile Any -Direction Outbound -Action Block -RemoteAddress 169.254.169.254

5. Azure Arc 対応サーバーとして構成

Azure Portal に移動します
Azure Arc > Machines > + Add/Create > Add a machine > 単一サーバーの追加 (スクリプトの生成) の順に選択します

portal01
Azure Arc 対応祖サーバーの構成 Windows 01:
portal02
Azure Arc 対応祖サーバーの構成 Windows 02:

リソースグループ、リージョン、OS、接続方法を適切なものを選び、[次へ] を選択します
※今回は Windows を選択します

portal06
Azure Arc 対応祖サーバーの構成 Windows 03:

タグについては必要な情報を入力し、[スクリプトのダウンロードと実行] を選択します
以下のようなスクリプトが表示されるので、コピーして Azure Arc 対応サーバーとして構成する VM で実行します

portal07
Azure Arc 対応祖サーバーの構成 Windows 04:

認証も無事に完了して、Azure Connected Machine Agent のインストール、接続が完了すると Azure Portal に表示されます

portal08
Azure Arc 対応祖サーバーの構成 Windows 05:

まとめ

Linux でも Windows でも簡単に Azure Arc 対応サーバーの検証環境を立てることができました
Azure Policy や Azure Monitor Agent の検証などに役立ててもらえればと思います

参考

共有

Kento
著者
Kento
2020年に新卒で IT 企業に入社. インフラエンジニア(主にクラウド)として活動中