Azure Arc のオンボード (サービス プリンシパル利用)
はじめに
Azure Arc は Azure 以外にあるサーバーや Kubernetes などを Azure Resource Manager に接続して、Azure サービスを使えるようにするような機能です。(詳細は公式ドキュメントを参照)
管理対象サービスはいろいろあるのですが、今回はサーバーについてです。物理・仮想関係なく、オンプレ・AWS・GCP などのサーバーがオンボード可能です。ただし、サポート対象 OS は決まっているので、その点はご注意ください。
Azure Arc をインストール・オンボードすると、Azure 上からサーバーを管理できるようになり、Azure Monitor や Defender for Cloud、Azure Policy など様々な機能が使えるようになります。
今回はオンボード時の手動でのログインが不要で、大規模展開に向くサービス プリンシパルを使用した方法をまとめます。
設定手順
こちらが公式のガイドになります。こちらを参考に進めていきます。
Azure Arc のページで [サーバー] > [追加] をクリックします。
[複数のサーバーの追加] から [スクリプトの作成] をクリックします。
サブスクリプション・リソース グループ、サーバーがある地域、OS を指定します。
インストールしたサーバーはここで設定したサブスクリプション・リソース グループに所属することになります。接続方法に関しては、直接インターネットにアクセスできる場合はパブリックエンドポイント、プロキシ経由であればプロキシサーバーを選択して、http://<FQDN or IP>:<port> 形式で入力します。
下にスクロールして、サービス プリンシパルの[新規作成] をクリックします。※ すでに作成済みであれば選択可能です。
名前などの設定を入力し、ロールは [Azure に接続されたマシンのオンボード] を選択し、[作成] をクリックします。サービス プリンシパル情報がダウンロードされるので保存しておきます。
いま作成したサービス プリンシパルを選択し、[次へ]をクリックします。
サーバーにタグを追加した場合はこちらで指定します。[スクリプトのダウンロードと実行] をクリックします。
スクリプトが表示されるので、コピーもしくはダウンロードします。
サービス プリンシパルのシークレットが空欄になっているので、さきほど取得したサービス プリンシパルのシークレットを入力します。今回の例では Windows を指定したので PowerShell ですが、Linux を指定した場合は bash で作成されます。
オンボード対象のサーバーでスクリプトを実行します。インストーラがダウンロードされ、インストール・Azure への接続が処理されます。
接続が完了すると、Azure Arc のサーバーのページに表示され、接続済みになります。
Discussion