📐

Azure Arc のオンボード (サービス プリンシパル利用)

2023/04/21に公開

はじめに

Azure Arc は Azure 以外にあるサーバーや Kubernetes などを Azure Resource Manager に接続して、Azure サービスを使えるようにするような機能です。(詳細は公式ドキュメントを参照)
管理対象サービスはいろいろあるのですが、今回はサーバーについてです。物理・仮想関係なく、オンプレ・AWS・GCP などのサーバーがオンボード可能です。ただし、サポート対象 OS は決まっているので、その点はご注意ください。

Azure Arc をインストール・オンボードすると、Azure 上からサーバーを管理できるようになり、Azure Monitor や Defender for Cloud、Azure Policy など様々な機能が使えるようになります。
https://learn.microsoft.com/ja-jp/azure/azure-arc/servers/overview

今回はオンボード時の手動でのログインが不要で、大規模展開に向くサービス プリンシパルを使用した方法をまとめます。

設定手順

こちらが公式のガイドになります。こちらを参考に進めていきます。
https://learn.microsoft.com/ja-jp/azure/azure-arc/servers/onboard-service-principal

Azure Arc のページで [サーバー] > [追加] をクリックします。


[複数のサーバーの追加] から [スクリプトの作成] をクリックします。


サブスクリプション・リソース グループ、サーバーがある地域、OS を指定します。
インストールしたサーバーはここで設定したサブスクリプション・リソース グループに所属することになります。接続方法に関しては、直接インターネットにアクセスできる場合はパブリックエンドポイント、プロキシ経由であればプロキシサーバーを選択して、http://<FQDN or IP>:<port> 形式で入力します。


下にスクロールして、サービス プリンシパルの[新規作成] をクリックします。※ すでに作成済みであれば選択可能です。
名前などの設定を入力し、ロールは [Azure に接続されたマシンのオンボード] を選択し、[作成] をクリックします。サービス プリンシパル情報がダウンロードされるので保存しておきます。


いま作成したサービス プリンシパルを選択し、[次へ]をクリックします。


サーバーにタグを追加した場合はこちらで指定します。[スクリプトのダウンロードと実行] をクリックします。


スクリプトが表示されるので、コピーもしくはダウンロードします。
サービス プリンシパルのシークレットが空欄になっているので、さきほど取得したサービス プリンシパルのシークレットを入力します。今回の例では Windows を指定したので PowerShell ですが、Linux を指定した場合は bash で作成されます。


オンボード対象のサーバーでスクリプトを実行します。インストーラがダウンロードされ、インストール・Azure への接続が処理されます。


接続が完了すると、Azure Arc のサーバーのページに表示され、接続済みになります。

Microsoft (有志)

Discussion