みなさんこんにちは。 以前にこちらのブログ記事でAzure Arcについてご紹介いたしました。
まずはAzure Arcにリソースを接続(オンボード)してみようということで、接続方法についてご紹介したいと思います。 今回は「サーバー」(Linux)をAzure Arcに接続してみます。
なお、Windowsをご利用の場合は前回のブログ記事「サーバー(Windows)編」でご紹介しておりますのでそちらをご参照ください。 Connected Machine エージェントや通信経路などの概要も前回のブログ記事にてご紹介しております。
検証環境
今回はサーバーとしてUbuntu 20.04LTSを用意し、Azure Arcに接続してみたいと思います。
前回と同様にインターネットにアクセス可能な状態にしてあります。 また、プロキシ、VPNやAzure ExpressRouteがない環境ですのでサーバー側からAzure Arcのパブリックエンドポイントに接続します。
また、Connected Machine エージェントをインストールする上でのソフトウェア要件がありますので事前に確認しておきましょう。 Linuxの場合はsystemd、wget、openssl、Gnupgが必要です。 今回利用する環境では以下のようになっています。
Azure Arcにサーバーを接続するのに必要なAzureのリソースプロバイダーMicrosoft.HybridCompute、Microsoft.GuestConfiguration、Microsoft.HybridConnectivityは登録済みです。 (未登録の場合はこちらの手順に沿ってリソースプロバイダーを登録します。)
スクリプトを使ってサーバー(Linux)をAzure Arcに接続
サーバー(Linux)をMicrosoft Learnの記載に従って接続してみます。
Azure Arcの「インフラストラクチャ」配下の「サーバー」を開いて「+追加」をクリックします。
「単一サーバーの追加」の「スクリプトの作成」をクリックします。
リソースグループや地域(リージョン)、オペレーティング・システムを選択します。 ここではオペレーティング・システムとして「Linux」を選択し、「次へ」をクリックします。
タグの設定画面が表示されます。 必要に応じて値を入力し「次へ」をクリックします。
スクリプトが表示されます。 こちらをAzure Arcに接続するサーバーに保存します。
なお、下にスクロールするとスクリプトの用法や内容を確認することができます。
今回はサーバーのrootのホームディレクトリ(/root)にスクリプトを保存しました。(こちらに記載の通り、Linuxの場合はroot アカウントでスクリプト(Connected Machine エージェントのインストールや構成)を実行する必要があります。)
スクリプトを実行します。
しばらく待機すると認証のためURLとコードが表示されます。
表示されたURLにWebブラウザでアクセスします。(Webブラウザを開くのはAzure Arcに接続するサーバーとは異なるホストでも構いません。)
コードを入力して「次へ」をクリックします。
サインインします。(Azureアカウントに必要なロールについてはこちらをご参照ください。)
認証が完了したらWebブラウザを閉じて構いません。
スクリプトの実行が続行されますので、完了するまで待機します。
Azure Portalには接続したサーバーが以下のように表示されています。 ホスト名がそのままリソースの名前になっており、「接続済み」の状態になっています。
複数のサーバーを非対話型で接続したいときは...
サーバーがLinuxの場合も、Azure Portalの「複数サーバーの追加」からスクリプトを作成することによって各サーバー上で都度Azureにサインインする手間を省くことが可能です。 先ほどと同様の環境(Ubuntu 20.04LTS)を「複数サーバーの追加」で作成したスクリプトによってAzure Arcに接続してみます。
リソースグループや地域(リージョン)などを入力して「次へ」をクリックします。(ここではサービスプリンシパルを指定しなくても「次へ」をクリックすることが可能です。ただしスクリプトにサービスプリンシパルの情報を追加する必要があります。サービスプリンシパルがなければ「新規作成」から新たに作成することが可能です。)
タグ設定画面は「単一サーバーの追加」と同じです。 「次へ」をクリックします。
Linuxの場合、デプロイ方法として選べるのは「基本スクリプト」または「Ansible」です。 今回はAzure Arcに接続するサーバー上でスクリプトを実行しますので「基本スクリプト」を選択します。
表示されているスクリプトをAzure Arcに接続するサーバーに保存します。
なお、スクリプトに記載されているコメント文の通り、サービスプリンシパルの情報を追加する必要があります。
編集したスクリプトをサーバー側で実行した様子が以下です。 特にAzureへのサインインを求められずにAzure Arcへの接続が完了しています。
サービスプリンシパルを利用してAzure Arcに接続する方法についてはMicrosoft Learnにも記載がございますので併せてご参照ください。
まとめ
今回はLinuxをAzure Arcに「接続するまで」の手順をご紹介しました。 以前のブログ記事でAzure ArcにWindowsを接続する方法についてご紹介しましたが、スクリプトを利用する場合はWindowsでもLinuxでも作業の大まかな流れは同様です。(ただしスクリプト自体はWindowsとLinuxとではそれぞれ異なっています。)
接続後の管理についてはまた改めてご紹介できればと思います。
SB C&SはAzureを取り扱われているパートナー企業様へ様々なご支援のメニューを用意しております。 メニューの詳細やAzureに関するご相談等につきましては以下の「Azure相談センター」をご確認ください。
Azure相談センター
https://licensecounter.jp/azure/
※ 本ブログは弊社にて把握、確認された内容を基に作成したものであり、製品の動作や仕様について担保・保証するものではありません。サービスや製品の動作、仕様等に関しては、予告なく変更される場合があります。
Azureに関するブログ記事一覧はこちら
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 第1技術部 4課
中原 佳澄