Contents
前提条件とサポート対象 OS
| 項目 | 必要な設定 / 条件 |
|---|---|
| Azure サブスクリプション | Owner 以上、または Contributor + Microsoft.AzureArcData ロール。 ※最小権限でオンボーディングだけを行う場合は組み込みロール Azure Connected Machine Onboarding を使用(公式ロール一覧)。 |
| 対応 OS (2024 年 12 月時点) | Windows Server 2019, Windows Server 2022(最新累積更新プログラム適用) Ubuntu 20.04 LTS / 22.04 LTS, CentOS Stream 8, Red Hat Enterprise Linux 9 等、Azure Arc の公式サポートページ に記載のもの。 |
| ハードウェア (最低要件) | CPU 2 コア以上、RAM 4 GB 以上、ディスク空き容量 10 GB 以上。 |
| ネットワーク | インターネットへ直接アクセスできるか、HTTPS(ポート 443)経由でプロキシを通過できること。アウトバウンドは *.azure.com と Azure AD エンドポイントに限定するのが推奨。 |
| Azure AD 認証 | サービスプリンシパルまたは対話型サインインで Azure に接続可能なアカウントが必要。 |
詳細は公式クイックスタート「前提条件」を参照してください。
Connected Machine エージェントの取得・インストール
1. Windows 用インストール手順
|
1 2 3 4 5 6 7 8 9 10 11 |
# (1) パッケージ取得(Microsoft が提供する CDN) $downloadUrl = "https://aka.ms/azcmagent-windows" $msiPath = "$env:TEMP\AzureConnectedMachineAgent.msi" Invoke-WebRequest -Uri $downloadUrl -OutFile $msiPath # (2) 管理者権限でサイレントインストール Start-Process msiexec.exe -ArgumentList "/i `"$msiPath`" /qn" -Wait # (3) サービス状態の確認 Get-Service -Name "AzureConnectedMachineAgent" |
ポイント
- インストール後、サービスが Running であることを必ず確認。
- プロキシ環境下では-Proxyパラメータや環境変数HTTPS_PROXYを設定してください。
2. Linux 用インストール手順(Ubuntu / RHEL 系)
|
1 2 3 4 5 6 |
# Azure の公式スクリプトでパッケージ取得・インストール curl -L https://aka.ms/azcmagent-linux | sudo bash # サービス有効化と起動 sudo systemctl enable --now azureconnectedmachine |
ポイント
-systemdが利用できないディストリビューションの場合は、init.dスクリプトを手動で配置してください。
- インストール後にsystemctl status azureconnectedmachineで状態を確認します。
3. 複数サーバーへの同時展開(PowerShell Remoting)
|
1 2 3 4 5 6 7 8 9 10 11 |
$servers = @("srv01","srv02","srv03") $cred = Get-Credential # 管理者権限の資格情報 Invoke-Command -ComputerName $servers -Credential $cred -ScriptBlock { $url = "https://aka.ms/azcmagent-windows" $temp = "$env:TEMP\AzureConnectedMachineAgent.msi" Invoke-WebRequest -Uri $url -OutFile $temp Start-Process msiexec.exe -ArgumentList "/i `"$temp`" /qn" -Wait Get-Service -Name "AzureConnectedMachineAgent" } |
ポイント
- 失敗したサーバーはログを取得し、後述のトラブルシューティングで対処してください。
Azure Portal/CLI でのオンボーディング手順
1. ポータルからの登録
- Azure Portal → Azure Arc → サーバー → + 新規
- 「オンプレミスサーバーの接続」ウィザードで「エージェントを自動ダウンロード」→「次へ」。
- 対象サブスクリプション、リソースグループ、ロケーションを選択し、必要に応じて タグ(例:
Env=Prod,Owner=TeamA)を付与。 - 「確認」→「作成」をクリックすると、エージェントが自動的にダウンロード・インストールされ、リソースグループ内に Connected Machine オブジェクトが作成されます。
UI は 2024 年のバージョンを前提とし、「状態」列は Connected / Disconnected / Failed の3色で表示します(公式 UI ガイド)。
2. Azure CLI でのオンボーディング
|
1 2 3 4 5 6 7 |
az connectedmachine onboarding create \ --resource-group MyArcRG \ --location japaneast \ --subscription <SUB_ID> \ --name myOnPremServer \ --tags Env=Prod Owner=TeamA |
--tagsは半角スペース区切りで複数指定可能。- 成功すると、CLI の出力に provisioningState: Succeeded が表示されます。
3. タグ付与ベストプラクティス
| タグキー | 推奨値例 |
|---|---|
Env |
Prod, Stg, Dev |
Owner |
部門・チーム名(例: TeamA) |
Location |
Azure リージョンコード(例: japaneast) |
- タグは Azure Policy のスコープ設定や費用分析に必須です。
- ポータルの「タグ」タブ、または
az tag createコマンドで一括付与できます。
Windows Admin Center (WAC) v2 を使った一括登録
WAC v2.1 以降では Azure Arc 拡張機能 が正式にサポートされ、オンプレミス環境の GUI 管理が可能です。(WAC と Azure Arc の統合)
1. 必要な拡張機能と Azure AD アプリの準備
| 手順 | 内容 |
|---|---|
| ① 拡張機能インストール | WAC ポータル → 拡張機能 → 「Azure Arc」検索 → バージョン 2.1 以上を「追加」 |
| ② Azure AD アプリ登録 | Azure Portal の App registrations → 「新規登録」 名前例: WAC-Arc-Onboard、サポートされるアカウントは 組織ディレクトリのみ。必要な API 権限は Microsoft.AzureConnectedMachine の User.Read と Directory.Read.All(管理者同意が必要)。 |
| ③ 設定情報入力 | WAC 拡張機能設定画面で クライアント ID、テナント ID、シークレット を入力し保存。 |
2. CSV インポートによる一括オンボーディング
CSV フォーマット例(UTF‑8, カンマ区切り)
|
1 2 3 4 |
Hostname,OS,ResourceGroup,Location,Tags srv01.contoso.local,WindowsServer2022,ArcRG,japaneast,"Env=Prod;Owner=TeamA" srv02.contoso.local,Ubuntu22.04,ArcRG,japaneast,"Env=Prod;Owner=TeamA" |
手順
- WAC ポータル → サーバー → インポート ボタンで CSV をアップロード。
- 「Azure Arc にオンボード」アクションを選択し、対象リソースグループ・ロケーションを確認。
- 画面下部の進行状況バーで各サーバーのステータスがリアルタイムに表示されます(成功=緑、失敗=赤)。
ポイント
- CSV に OS 列を正しく記載しないと、エージェント取得 URL が自動判別できず失敗します。
- 既存の WAC 管理対象サーバーでも同様にオンボーディング可能です。
拡張機能設定例
| エクステンション | 主な用途 | 有効化手順(Portal) |
|---|---|---|
| Update Management | パッチ適用スケジュール管理 | Azure Arc 対応サーバー → 更新マネジメント → 有効化 → Log Analytics ワークスペースを選択 |
| Azure Monitor (Log Analytics エージェント) | ログ・メトリクス収集、アラート作成 | サーバー詳細 → 拡張機能 → Azure Monitor エージェント → インストール(ワークスペース ID とキーを入力) |
| Azure Policy | 構成遵守・コンプライアンス自動評価 | Azure Portal 上部メニュー → Policy → 割り当て作成 → スコープに対象リソースグループ/サーバー、組み込みポリシー Require OS version などを選択 |
各エクステンションは Azure CLI でも同様に
az connectedmachine extension createコマンドで自動化できます(例:az connectedmachine extension create --name Microsoft.AzureMonitor.WindowsAgent --resource-group MyRG --machine-name myServer)。
トラブルシューティングとセキュリティベストプラクティス
1. よくあるエラーと対処法
| エラーメッセージ | 主な原因 | 推奨対策 |
|---|---|---|
0x80072F7D (TLS エラー) |
TLS 1.2 が無効、古い .NET ランタイム | OS の TLS 設定を TLS 1.2 強制。PowerShell で [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 を実行 |
Proxy authentication required |
プロキシ認証情報未設定 | 環境変数 HTTPS_PROXY と NO_PROXY を正しく設定し、az config set core.proxy=<url> で Azure CLI にも適用 |
Time synchronization error |
サーバー時刻が Azure とずれる | NTP (w32time / chrony) を有効化し、ntpdate time.windows.com で即時同期 |
Access denied (Insufficient permissions) |
実行ユーザーにローカル管理者権限なし、または Azure RBAC が不足 | インストールは Administrator 権限で実施。Azure 側は「Azure Connected Machine Onboarding」ロールを最小権限として付与 |
エラーが出たらまずログ (
C:\ProgramData\AzureConnectedMachineAgent\log) を確認し、上記表の対策を順に試してください。
2. 最小権限サービスプリンシパルの作成
|
1 2 3 4 5 |
az ad sp create-for-rbac \ --name "ArcOnboardSP" \ --role "Azure Connected Machine Onboarding" \ --scopes /subscriptions/<SUB_ID>/resourceGroups/ArcRG |
- ロールはオンボーディングに必要な権限だけを含む組み込みロールです。
- 作成したシークレットは安全に保管し、期限が切れたら再生成してください。
3. ネットワーク制御
| 項目 | 推奨設定 |
|---|---|
| アウトバウンド | NSG/ファイアウォールで *.azure.com (ポート 443) のみ許可。必要に応じて management.azure.com, login.microsoftonline.com も追加。 |
| プロキシ | az config set core.proxy=https://proxy.corp:8080 と環境変数で統一。 |
| DNS | Azure のエンドポイント解決のため、内部 DNS に *.azure.com が正しく解決できることを確認。 |
4. ログ・診断の有効化
- Log Analytics ワークスペース作成(既存が無い場合)
bash
az monitor log-analytics workspace create \
--resource-group MyRG \
--workspace-name ArcLogs \
--location japaneast - Azure Monitor エージェントの自動インストール(前節参照)。
- 診断設定で
ConnectedMachineAgentのテーブルを収集し、以下のようなアラートルールを作成
|
1 2 3 4 5 6 7 |
az monitor metrics alert create \ --name "ArcOnboardFailure" \ --resource-group MyRG \ --scopes /subscriptions/<SUB_ID>/resourceGroups/ArcRG/providers/Microsoft.HybridCompute/machines/* \ --condition "count ConnectedMachineAgentEvents where EventName == 'OnboardingFailed' > 0" \ --description "Azure Arc のオンボーディング失敗を検知" |
ポイント
- アラートはメール・Teams チャネルへ通知させ、障害対応の SLA を短縮します。
- 監査ログは Azure Policy の DeployIfNotExists と組み合わせて、未登録サーバーが残らないように自動修復も可能です。
まとめ
- 前提条件を満たした上で、公式パッケージ
azcmagentを取得しインストール。 - Azure Portal、CLI、または WAC のいずれかの UI から オンボーディング を実行し、リソースグループ・タグを適切に設定。
- 必要な 拡張機能(Update Management・Monitor・Policy) を有効化してハイブリッド環境でも一元管理。
- トラブル時はエラーログと上記表の対策で素早く復旧し、最小権限サービスプリンシパル + ネットワーク制御 + ログ監視 によるセキュリティベストプラクティスを徹底。
これらの手順を踏めば、オンプレミス・VM だけでなく、物理サーバーや他クラウド上のインスタンスも Azure Arc 経由で安全かつ自動化された運用が実現できます。