Azure Arc とは?

Azure Arc とは、Azure以外で稼働している仮想/物理サーバーをAzureポータルを通して一元管理するためのサービスです。Azureポータルで管理が行えるので、Azure monitorによるサーバー監視やDefender for Cloudによるセキュリティ管理などが、Azure上の仮想マシンと同じように扱えます。あとはサーバー台帳に利用するとか。。

さっそく、構成を見てみましょう!

サーバー(単体)のメタデータを収集するために[Azure Connected Machine Agent]のインストールが必要です。※OSの種類、バージョン、コンピュータ名、HW情報など

Azureと接続する事で、下記サービスが利用できます。Azure VMと同じように管理可能。
※Azure Monitor Agentのインストールが必要

・Azure monitor:ログの可視化や分析機能。アラート発報も可能
ーLog Analytics:イベントログ/パフォーマンスログを収集
ーApplication Insights:アプリケーションのパフォーマンス監視
ーService Map:サービスと通信先のマッピング機能
・Azure Sentinel:SIEM/SOAR
・Azure Policy:Azure基盤の監視/統制
・Defender for Cloud:EDR/セキュリティ警告/推奨設定/コンプライアンス評価
Azure Update Manager:Windows/Linux パッチオーケストレーション
拡張セキュリティ更新プログラム(ESU)の適用

【管理対象リソース】

【サーバー(単体)】
Windows Server 2008 R2 SP1 / 2012 R2 / 2016 / 2019 / 2022 ※Server Coreも可
Windows 10/11 ※常に電源オンであり、インターネットに接続している環境に限る
Windows IoT Enterprise
Ubuntu 16.04 / 18.04 / 20.04 / 22.04 LTS
Red Hat Enterprise Linux (RHEL) 7 / 8 / 9
SUSE Linux Enterprise Server (SLES) 12 SP3-SP5/15
Debian 10/11
CentOS 7/8
Rocky Linux 8
Amazon Linux 2
Oracle Linux 7/8

※64bitのみサポート。Azure VMは対象外
※各サーバーには、Azure Connected Machine Agentのインストールが必要
※バックアップからの復元、クローンによる複製、マスターイメージから展開した場合は、作成後にAzure Connected Machine Agentをインストールして下さい。

【SQLサーバー】
Windows Server 2012 以降
Ubuntu 20.04
Red Hat Enterprise Linux 8
SUSE Linux Enterprise Server 15

※64bitのみサポート。Azure VMは対象外
※各サーバーには、Azure Connected Machine Agentのインストールが必要
※コンテナ上のSQL、フェールオーバークラスター構成は対象外

【Kubernetes】
AKS on Azure Stack HCI
K8s on Azure Stack Edge
AKS Edge Essentials
RedHat OpenShift
VMware Tanzu Kubernetes
Amazon EKS
Google Kubernetes Engine

※Kubernetes Agentのインストールが必要

【Azure Stack HCI】
Azure Stack HCI:21H2 / 22H2

※リソースブリッジ(VMM連携用のNVA)の作成が必要

【VMware vSphere】
vCenter:6.7 / 7 ※Azure VMware Solutionも対象

※最大9500VM
※リソースブリッジ(vCenter連携用のNVA)の作成が必要
※各VMの起動/停止を行うには、Azure Connected Machine Agentのインストールが必要

【System Center Virtual Machine Manager】
VMM:2016 / 2019 / 2022

※最大3500VM
※リソースブリッジ(VMM連携用のNVA)の作成が必要

【Azure Connected Machine Agent のネットワーク要件】

aka.ms:インストールスクリプトのダウンロード
download.microsoft.com:Windows用インストールパッケージのダウンロード
packages.microsoft.com:Linux用インストールパッケージのダウンロード
login.windows.net:Azure Active Directory
login.microsoftonline.com:Azure Active Directory
pas.windows.net:Azure Active Directory
management.azure.com:Azure Resource Manager 。Arcリソース作成/削除
*.his.arc.azure.com:メタデータとハイブリッドIDサービス
*.guestconfiguration.azure.com:拡張機能管理とゲスト構成サービス
guestnotificationservice.azure.com:通知サービス
*.guestnotificationservice.azure.com:通知サービス
azgn*.servicebus.windows.net:通知サービス
*.servicebus.windows.net:Windows Admin CenterでSSHを利用する場合
*.waconazure.com:Windows Admin Centerを利用する場合
*.blob.core.windows.net:Arc対応サーバー拡張機能のダウンロード用
dc.services.visualstudio.com:エージェントのテレメトリ
san-af-<region>-prod.azurewebsites.net:SQLサーバーのインベントリ&課金情報

※TCP443 アウトバウンド通信のみ。Azure Arc Private Link Scope を利用可能


それでは、やってみよう!!

今回、最もオーソドックスな、サーバー(単体)のArcへの追加を行ってみます。
追加するのは、オンプレHyperーV上で動作する[Windows Server][Ubuntu]とします。
※対象サーバー上でPowerShellスクリプトを実行するので管理者権限が必要となります。
※Azure Arcへの接続のためリソースグループでの[Contributor]権限も必要となりますが、
事前にArc専用サービスプリンシパルを作成する事で省略可能です。

[+すべてのサービス]ー[検索:Arc] ※Arcというリソースを作成することは無い

[サーバー]ー[+追加]を選択

単一サーバーの追加[スクリプトの生成]を選択
※サービスプリンシパルを利用する際は、[複数サーバーの追加]を選択

サブスクリプション:Azureサービスの提供範囲
リソースグループ:グループ名(複数のリソースを1つにグループ化する機能)
地域:メタデータの置き場所
オペレーティングシステム:Windows / Linux
接続方法:※対象サーバーからArcへの接続方法

※デフォルトで入力されている

作成したスクリプト[OnboardingScript.ps1]をダウンロードします。

[OnboardingScript.ps1]を管理対象サーバー上で実行します。

実行途中でArc接続のためのAzureAD認証があります。
※Azure Connected Machine Agentがダウンロード&インストールされます。
※事前にArc専用サービスプリンシパルを作成する事で省略可能

Azure Connected Machine Agentのインストールが確認できます。

Arcへの接続状態が確認できます。

同様にLinux版のスクリプトを作成し、[OnboardingScript.sh]を管理対象サーバー上で実行
※実行途中でArc接続のためのAzureAD認証があります。

Azure Connected Machine Agent は、5分間隔でハートビートをArcに送信します。
15~30分間受信できない場合は[オフライン]となります。また、45日間オフライン状態が続くと、Arcから切断されます。


SQLサーバーの登録

Arcに登録したWindows Server上でSQLを動かしている場合の登録方法。
追加で、SQLサーバー用エージェントをインストールする必要があります。

Arcに登録したSQLサーバーを選択ー[拡張機能]ー[追加]を選択

[Azure extension for SQL Server]ー[次へ]を選択

SQLのライセンスタイプを選択
・PAYG:Azureを通して、SQLライセンス料を支払っている場合
・Paid:SA付きSQLライセンスを所持している場合
・LicenseOnly:SA無しSQLライセンスを所持している場合
Excluded SQL Server:登録を除外したいSQLサーバー名を入力

[確認と作成]を押すと、エージェントのインストールが開始されます。

SQLサーバー用エージェント[WindowsAgent.SqlServer]のインストールが確認できます。

[SQL Server instances]にて、SQLサーバーとしての登録が確認できます。


それでは、確認してみましょう!

もっとも利用頻度の高い、VMのパフォーマンス情報を見てみます。パフォーマンス情報を取得するには、Azure Monitor Agent のインストールが必要です。

Arc接続したサーバーを選択ー[分析情報]ー[有効]を選択

Azure Monitor Agent が自動的にインストールされます。

AzureVMと同様にパフォーマンス情報が見えるようになります。
※[CPU Utilization][Available Memory][Disk IOPS][Disk MB/s][Disk Latency(ms)]
[Disk Used][Byte Send Rate][Byte Received Rate]

サービスマップも表示可能

Log Analyticsに[Heartbeat]も飛ばせるので死活監視も可能です。

Arcにもう1台接続し、3台を並べてみました。

リスト表示も可能