今回は Azure Arc 対応サーバーのデモ環境を Azure 上に立てたいと思います
以下の動画のブログ版になります
Azure Arc のテスト環境を作ろう! - YouTube
ざっくり手順
- Azure VM の作成
- Azure VM の拡張機能を削除
- VM エージェントを無効化
- Azure Instance Metadata Service (IMDS) へのアクセスを拒否
- 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 で接続し、以下のコマンドを実行します
|
|
そのため競合を防ぐために無効化する必要があります
4. Azure Instance Metadata Service (IMDS) へのアクセスを拒否
OS の組み込みのファイアーウォールなどを使って、169.254.169.254/32 への通信をブロックします
今回使用している Ubuntu の場合は以下のコマンドになります
|
|
CentOS、Red Hat、または SUSE の場合は以下のコマンドになります
|
|
5. Azure Arc 対応サーバーとして構成
Azure Portal に移動します
Azure Arc > Machines > + Add/Create > Add a machine > 単一サーバーの追加 (スクリプトの生成) の順に選択します


リソースグループ、リージョン、OS、接続方法を適切なものを選び、[次へ] を選択します
タグについては必要な情報を入力し、[スクリプトのダウンロードと実行] を選択します
以下のようなスクリプトが表示されるので、コピーして Azure Arc 対応サーバーとして構成する VM で実行します
最後の接続コマンドの実行時に認証が必要なので表示された内容に従って、認証を行います
以下の 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 に表示されます

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 で接続し、以下のコマンドを実行します
|
|
そのため競合を防ぐために無効化する必要があります
4. Azure Instance Metadata Service (IMDS) へのアクセスを拒否
OS の組み込みのファイアーウォールなどを使って、169.254.169.254/32 への通信をブロックします
|
|
5. Azure Arc 対応サーバーとして構成
Azure Portal に移動します
Azure Arc > Machines > + Add/Create > Add a machine > 単一サーバーの追加 (スクリプトの生成) の順に選択します


リソースグループ、リージョン、OS、接続方法を適切なものを選び、[次へ] を選択します
※今回は Windows を選択します
タグについては必要な情報を入力し、[スクリプトのダウンロードと実行] を選択します
以下のようなスクリプトが表示されるので、コピーして Azure Arc 対応サーバーとして構成する VM で実行します
このときうまくブラウザが起動しない場合 (IE がデフォルト ブラウザに設定されているなど)、しばらく待つと Linux と同様の認証方法になります
認証も無事に完了して、Azure Connected Machine Agent のインストール、接続が完了すると Azure Portal に表示されます

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