Azure Arc とは、マルチクラウド(AWS、Google Cloud など)上のリソース、オンプレミス上のサーバーを一元的に管理することで、環境全体で一貫したインベントリ(資産管理)、ガバナンス、セキュリティを実現するための機能になります。
現時点 (2022年12月 現在) において、以下のリソースを管理することが可能なようです。
- サーバー (Windows, Linux 物理サーバー、Azure外部の仮想マシン)
- Kubernetes クラスター
- Azure データ サービス (オンプレミス、マルチクラウド上に SQL Managed Instance、Azure Database for PostgreSQL サービスを展開可能)
- SQL Server (Azure 外部のSQL Serverに対して Azure サービスを拡張可能)
今回は、Azure Arc の機能を簡単に検証するため、Azure 仮想マシン上で Azure Arc 機能を利用する方法について、自分の整理も兼ねてまとめてみようと思います。
Azure Arc を Azure 仮想マシンで利用するための事前準備 (Windows)
1) Azure 上に Azure 仮想マシンをデプロイします。
2) Azure ポータルに接続します。
3) 1) でデプロイした Azure 仮想マシン - 設定 -「拡張機能とアプリケーション」を選択します。
3) 拡張機能 - 拡張機能が存在している場合、各拡張機能をアンインストールします。
※ 本例では、「CustomScriptExtension」がインストールされているのでアンインストールしています。
4) 1) でデプロイした Azure 仮想マシンに リモートデスクトップ接続 (RDP) により接続します。
5) PowerShell を管理者として起動します。
6) 以下のコマンドを実行し、Azure VM ゲスト エージェントを無効化します。
Set-Service WindowsAzureGuestAgent -StartupType Disabled -Verbose Stop-Service WindowsAzureGuestAgent -Force -Verbose |
6) 以下のコマンドを実行し、Azure Instance Metadata Service (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 Instance Metadata Service (IMDS) は、現在実行中のAzure 仮想マシンの情報を取得するために利用されるサービスになります。
Azure 仮想マシンで Azure Arc に接続する方法 (Windows)
1) Azure ポータルに接続します。
2) Azure Arc - インフラストラクチャ -「サーバー」-「+追加」を選択します。
3)「単一サーバーの追加」-「スクリプトの生成」を選択します。
※ 複数のサーバーを追加する場合は、「複数のサーバーの追加」を選択します。
4) 必要項目を入力後、「次へ」を選択します。
サーバーの詳細
- 地域
- オペレーティングシステム : Windows
接続方法
- 接続方法 : パブリック エンドポイント
※ ExpressRoute を構成している場合は、プライベート エンドポイントを選択することで、Azure Arc と Azure Arc エージェント間の通信がプライベート通信にて行われます。
5) 必要項目を入力後、「次へ」を選択します。
6)「ダウンロード」を選択し、生成されたスクリプトをダウンロードし、Azure Arc を Azure 仮想マシンで利用するに事前準備を実施した Azure 仮想マシン上の任意のパスに保存します。
※「ダウンロード」されたスクリプトの内容が文字化けするようであれば、Azure ポータルで表示されているスクリプトの内容をコピーして、手動で PowerShell スクリプトを作成します。
7) Azure Arc を Azure 仮想マシンで利用するに事前準備を実施した Azure 仮想マシンにリモートデスクトップ(RDP) で接続します。
8) 管理者権限でPowerShellを起動し、6)で生成したPowerShellスクリプトを実行します。
> .\OnboardingScript.ps1 |
※ スクリプトの中では以下の操作が行われます。
- Connected Machine エージェントのインストール
- Azure Arc サービスへの接続構成 (エージェント)
※ スクリプト処理の中でAzure への認証が行われるため、Azure Arc でスクリプトを生成した Azure サブスクリプションへ必要な権限が付与されたアカウントにて認証を実施します。
9) Azure ポータルに接続後、Azure Arc - インフラストラクチャ -「サーバー」を選択し、Azure Arc に管理されたサーバーが追加されたことを確認します。
[補足]
Azure Arc に該当サーバーが登録されたため、ログ監視、Microsoft Defender for Cloud による脆弱性監視、ポリシーの適用などを Azure ポータル上から設定することが可能になります。
まとめ
今回は、Azure Arc の機能を簡単に検証するため、Azure 仮想マシン上で Azure Arc 機能を利用する方法についてまとめてみました。
Azure Arc を利用することで、マルチクラウド(AWS、Google Cloud など)上のリソース、オンプレミス上のサーバーを一元的に管理し、環境全体で一貫したインベントリ(資産管理)、ガバナンス、セキュリティを実現することが可能になります。
また、SQL Server 2022 の新機能として、Azure Arc 機能を利用した Azure Active Directory 認証がサポートされているため、次回は 本新機能について確認してみようと思います。
[参考URL]
※ 2022年12月 現在