[Hybrid][Cloud][Azure] Azure Arc for Server

オンプレミス

Azure Arc for Serverに触れてみたい

私はあまりセミナーとかイベントとかよほどのことがないと興味を持たないんですが、Twitter界隈でMicrosoft Ignightというイベントの話が盛り上がっており、Azure Arcの話題とかが結構出てました。いわゆる「クラウドハブ」と呼ばれるもので、複数のクラウドを一括管理するような、そんな仕組みを指しているようです。

まだPublic preview版・・とのことで、とりあえずそのうちの一つであるfor Serverが登場していて、それもあまり機能は豊富ではないのですが触ってみることにしました。

なお、Azureサイトでこの件取り扱ってる記事はこちらです。

Azure Arcのエージェントを適用する

Azure Portal上での操作

エージェントを入手するには、Azure Market PlaceにてAzure Arcを検索してもらい、そこでリソースを作成すればよいです。

すると、以下のような画面が表示されます。私の環境で大量にリソースをここに登録するといろいろと大変な気がしたので、対話型スクリプトを使用することにしました。といっても、対話になるところって認証のところぐらいで、たいていの部分は自動的に動きます。

すると、おなじみの画面が出てきて設定を行う感じになります。

リージョンは今のところ、西ヨーロッパ/東南アジア/米国西部2のいずれかで、プラットフォームもWindows Server 2012 R2以降とUbuntu Linuxぐらいのようです。CentOSに関してはお断りを食らいました。

サマリー画面では、「Register」項目にある「登録」ボタンをクリックする必要があるので、これをクリックしておきます。すると、

ここにあるようにスクリプトの中身を教えてもらえます。これをもとにして、エージェントを導入します。

エージェントの導入は、PowerShellを用いて行うことになります。本来はダウンロードするPS1ファイルを用いて実行して認証してポーン・・・・のはずが、うまくいかなかったので手で行いました。

PowerShell にて必要となる手順

登録する対象のサーバで、まずはパッケージをダウンロードします。
続いて、そのファイルを用いてAzure Connected Machine Agentなるものを導入します。

PS C:\> Invoke-WebRequest -Uri https://aka.ms/AzureConnectedMachineAgent -OutFile AzureConnectedMachineAgent.msi

PS C:\> msiexec /i AzureConnectedMachineAgent.msi /l*v installationlog.txt /qn | Out-String

また、Azure PowerShell用モジュールの適用及びインポートを行っておきます。AzureのAPIを使うのがその理由です。途中「いいのか?いいのか?ほんとうにいいのか?」って2回ほど聞かれますので「Y」を押しておいてください。

PS C:\> Install-Module -Name Az -AllowClobber -Scope CurrentUser

続行するには NuGet プロバイダーが必要です
PowerShellGet で NuGet ベースのリポジトリを操作するには、'2.8.5.201' 以降のバージョンの NuGet
プロバイダーが必要です。NuGet プロバイダーは 'C:\Program Files\PackageManagement\ProviderAssemblies' または
'C:\Users\administrator.BLUECORE\AppData\Local\PackageManagement\ProviderAssemblies'
に配置する必要があります。'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force' を実行して NuGet
プロバイダーをインストールすることもできます。今すぐ PowerShellGet で NuGet
プロバイダーをインストールしてインポートしますか?
[Y] はい(Y)  [N] いいえ(N)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"): Y

信頼されていないリポジトリ
信頼されていないリポジトリからモジュールをインストールしようとしています。このリポジトリを信頼する場合は、Set-PSReposit
ory コマンドレットを実行して、リポジトリの InstallationPolicy の値を変更してください。'PSGallery'
からモジュールをインストールしますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"): Y

インポートコマンドは以下の通り。

PS C:\> Import-Module -Name Az

Azure Connected Machine Agentを使ってAzureに対して登録処理を行います。ダウンロードファイルの中身をそのまま実行するとうまくいかなかったので、当方では手で一通り書きました。

デバイスを認証させるために、「It can take up to 6 minutes」の間Agentは待機します。よって、ブラウザを立ち上げ、以下にある「https://microsoft.com/devicelogin」へのアクセスを行います。その際、後述された英数字で表現されるコードを入力し、認証を実施します。

PS C:\> C:\"Program Files"\AzureConnectedMachineAgent\azcmagent.exe connect --resource-group "BLUECORE-ARC" --tenant-id "XXXXXX-XXXX-XXXX-XXXXX-XXXXXXX" --location "westus2" --subscription-id "XXXXXX-XXXX-XXXX-XXXXX-XXXXXXX"

level=info msg="Onboarding Machine. It can take up to 6 minutes."
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code XXXXXXXXX3 to authenticate.
level=info msg="Successfully Onboarded Resource to Azure" VM Id=XXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX

その他、AzResourceProviderに対してMicrosoft.HybridComputeおよびMicrosoft.GuestConfiguration名前空間を登録します。

まずログインを行い、サブスクリプションIDとの関連付けを行います。

PS C:\Users\administrator.BLUECORE> Login-AzAccount
Account            SubscriptionName     TenantId                             Environment
-------            ----------------     --------                             -----------
words@bluecore.net Pay-per-use-BLUECORE XXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXXXX AzureCloud

PS C:\> Set-AzContext -SubscriptionId XXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXXXX
Name                                     Account             SubscriptionName    Environment         TenantId
----                                     -------             ----------------    -----------         --------
Pay-per-use-BLUECORE (XXXXXXXXX-c5a8-4... words@bluecore.net  Pay-per-use-BLUE... AzureCloud          XXXXXXXXXX...

AzureArcで使用されるHybridComputeを登録。

PS C:\> Register-AzResourceProvider -ProviderNamespace Microsoft.HybridCompute


ProviderNamespace : Microsoft.HybridCompute
RegistrationState : Registered
ResourceTypes     : {machines, operations}
Locations         : {West US 2, West Europe, Southeast Asia}

GuestConfigurationを登録。

PS C:\> Register-AzResourceProvider -ProviderNamespace Microsoft.GuestConfiguration


ProviderNamespace : Microsoft.GuestConfiguration
RegistrationState : Registered
ResourceTypes     : {guestConfigurationAssignments, software, softwareUpdates, softwareUpdateProfile...}
Locations         : {East US 2, South Central US}

登録されたオンプレミス上のサーバ

今回、私は現在評価版で検証中なWSUSサーバとLinux代表としてZABBIXアプライアンスを評価対象にしており、登録してみるとこんな風に指定されたリソースグループ上にオンプレミスリソースが登録されました。

ただなんて言うか、紫色のアイコンって何か・・・・・・びみょうじゃね?

リソースの中に移動してみるとこんな感じで、例としてZABBIXアプライアンスの状態を貼ってますが、現状Azure Arc for serverの主な機能というのは監視系の機能なのかな?と思われます。RBACに基づくアクセスルールが適用できるのと、コンプライアンス評価としてpolicyを設定し、それを割り当てたりすることが可能になります。

また、LogAnalyticsのエージェントを仕込む必要があるものの、その検出ルールに関してVMと同様のルールを策定することができますし、それを通じてSecurity Centerとの連携をとることもできます。そういう意味で、今後の機能拡充が期待できるサービスかなーと感じました。

今後リリースされる中で気になるのはKubernetes管理かなぁ。それを通じてAKSみたいな触り方ができると、きっと楽しいと思えるのですが。Preview版の中でもこのサービスは当面無償提供されるようなので、少し触ってみるとよいのかもしれません。

タイトルとURLをコピーしました