ハイブリッド マシンを大規模に Azure に接続する

要件に応じていくつかの柔軟なオプションを使用して、環境内の複数の Windows または Linux マシンに対して Azure Arc 対応サーバーを有効にすることができます。 Microsoft が提供するテンプレート スクリプトを使用すると、Azure Arc への接続の確立を含め、インストールのすべての手順を自動化できます。ただし、ターゲット マシンおよび Azure で管理者特権でのアクセス許可を持つアカウントを使用して、このスクリプトを手動で実行する必要があります。

Azure Arc 対応サーバーにマシンを接続する方法の 1 つは、Microsoft Entra のサービス プリンシパルを使用することです。 対話形式でマシンを接続するための特権 ID の代わりに、このサービス プリンシパル方式を使用できます。 このサービス プリンシパルは、azcmagent コマンドを使用してマシンを Azure に接続するために必要な最小限のアクセス許可のみが付与される、特殊な制限付きの管理用 ID です。 この方法は、テナント管理者のような、より高い特権を持つアカウントを使用するよりも安全で、アクセス制御セキュリティのベスト プラクティスに従っています。 サービス プリンシパルは、オンボード中にのみ使用され、その他の目的には使用されません。

マシンの接続を開始する前に、次の要件を確認してください。

  1. オンボードの対象となるマシンの管理者アクセス許可があることを確認します。

    Connected Machine エージェントをマシンにインストールするためには管理者アクセス許可が必要です。Linux ではルート アカウントを使用し、Windows では Local Administrators グループのメンバーとして作業することになります。

  2. 前提条件を確認し、ご利用のサブスクリプションおよびリソースが要件を満たしていることを確認してください。 マシンのリソース グループには、Azure Connected Machine オンボーディング ロールまたは 共同作成者ロールが必要です。 事前に以下の Azure リソースプロバイダーをターゲット サブスクリプションに登録しておきます。

    • Microsoft.HybridCompute
    • Microsoft.GuestConfiguration
    • Microsoft.HybridConnectivity
    • Microsoft.AzureArcData (Arc 対応 SQL Server インスタンスを計画している場合)

    方法の詳細については、Azure リソース プロバイダーの前提に関するセクションを参照してください

    サポートされているリージョン、および関連するその他の考慮事項については、 サポート対象の Azure リージョン に関する記事を参照してください。 また、設計と展開の条件、および管理と監視に関する推奨事項については、規模拡大に関する計画ガイドを参照してください。

Azure サブスクリプションをお持ちでない場合は、始める前に無料アカウントを作成してください。

SQL Server の自動接続

Microsoft SQL Server もインストールされている Azure Arc に Windows または Linux サーバーを接続すると、SQL Server インスタンスも Azure Arc に自動的に接続されます。 Azure Arc によって有効化された SQL Server には、SQL Server インスタンスとデータベース用の詳細インベントリと追加の管理機能が備わっています。 接続プロセスの一環として、拡張機能が Azure Arc 対応サーバーにデプロイされ、新しいロールが SQL Server とデータベースに適用されます。 SQL Server を Azure Arc に自動的に接続しないように設定する場合は、Windows または Linux サーバーが Azure Arc に接続されたときに、名前が ArcSQLServerExtensionDeployment、値が Disabled のタグを追加することで、オプトアウトできます。

詳細については、「Azure Arc によって有効化された SQL Server の自動接続を管理する」を参照してください。

大規模なオンボーディング用のサービス プリンシパルを作成する

サービス プリンシパルは、Azure portal で、または、Azure PowerShell を使用して作成できます。

Note

サービス プリンシパルを作成するには、Microsoft Entra テナントでユーザーがアプリケーションを登録できる必要があります。 そうでない場合は、アカウントがアプリケーション管理者またはクラウド アプリケーション管理者管理者ロールのメンバーである必要があります。 テナント レベルの要件の詳細については、「Microsoft Entra ID でアプリ登録のアクセス許可を委任する」を参照してください。 Arc 対応のサーバー ロールを割り当てるには、アカウントを、オンボーディングに使用するサブスクリプションの所有者またはユーザー アクセス管理者ロールのメンバーにする必要があります。

Azure Portal

Azure portal の Azure Arc サービスは、ハイブリッド マシンを Azure に接続するために使用可能なサービス プリンシパルを効率的に作成する方法を提供します。

  1. Azure portal で、Azure Arc に移動してから、左側のメニューの [サービス プリンシパル] を選択します。
  2. [追加] を選択します。
  3. サービス プリンシパルの名前を入力します。
  4. サービス プリンシパルがサブスクリプション全体にアクセスできるのか、特定のリソース グループにしかアクセスできないのかを選択します。
  5. サービス プリンシパルがアクセスできるサブスクリプション (および該当する場合は、リソース グループ) を選択します。
  6. [クライアント シークレット] セクションで、生成されたクライアント シークレットを使用する期間を選択します。 必要に応じて、[説明] フィールドに任意のフレンドリ名を入力します。
  7. [ロールの割り当て] セクションで、[Azure Connected Machine のオンボード] を選択します。
  8. [作成] を選択します

Azure portal での Azure Arc サービス プリンシパルの作成画面のスクリーンショット。

Azure PowerShell

Azure PowerShell を使用して、New-AzADServicePrincipal コマンドレットでサービス プリンシパルを作成できます。

  1. Azure PowerShell セッションのコンテキストを確認して、正しいサブスクリプションで作業していることを確認します。 サブスクリプションを変更する必要がある場合は、Set-AzContext を使います。

    Get-AzContext
    
  2. サービス プリンシパルを作成して、選択したサブスクリプションでそれを Azure Connected Machine のオンボード ロールに割り当てるには、次のコマンドを実行します。 サービス プリンシパルが作成された後に、アプリケーション ID とシークレットが出力されます。 シークレットは 1 年間有効です。その後、新しいシークレットを生成し、その新しいシークレットでスクリプトを更新する必要があります。

    $sp = New-AzADServicePrincipal -DisplayName "Arc server onboarding account" -Role "Azure Connected Machine Onboarding"
    $sp | Format-Table AppId, @{ Name = "Secret"; Expression = { $_.PasswordCredentials.SecretText }}
    
    AppId                                Secret
    -----                                ------
    aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee PASSWORD_SHOWN_HERE
    

    以下のプロパティの値は、azcmagent に渡されるパラメーターと共に使用されます。

    • AppId プロパティの値は、--service-principal-id パラメーター値に使用されます
    • Secret プロパティの値は、エージェントを接続するために使用される --service-principal-secret パラメーターに使用されます。

Azure portal からインストール スクリプトを生成する

ダウンロードとインストールを自動化し、Azure Arc との接続を確立するスクリプトは、Azure portal から入手できます。 そのプロセスを完了するには、次の手順を実行します。

  1. お使いのブラウザーで Azure portal に移動します。

  2. [マシン - Azure Arc] ページで、左上にある [追加/作成] を選んで、次にドロップダウン メニューから [マシンの追加] を選びます。

  3. [Azure Arc でサーバーを追加] ページで、[複数のサーバーを追加] タイルを選び、[スクリプトを生成] を選びます。

  4. [基本] ページで、以下を設定します。

    1. マシンの [サブスクリプション][リソース グループ] を選びます。
    2. [リージョン] ドロップダウンの一覧で、サーバーのメタデータを格納する Azure リージョンを選択します。
    3. [オペレーティング システム] ドロップダウン リストで、スクリプトを実行するように構成されているオペレーティング システムを選択します。
    4. マシンがプロキシ サーバー経由でインターネットに接続して通信を行っている場合は、プロキシ サーバーの IP アドレス、またはマシンでプロキシ サーバーとの通信に使用されている名前とポート番号を指定します。 この構成を利用して、エージェントは HTTP プロトコルを使用してプロキシ サーバー経由で通信します。 http://<proxyURL>:<proxyport> の形式で値を入力します。
    5. [次へ] を選択します。
    6. [認証] セクションの [サービス プリンシパル] ドロップダウン リストで、[Arc-for-servers] を選びます。 その後、[次へ] を選びます。
  5. [タグ] ページで、提案されている既定の物理的な場所のタグを確認し、値を入力するか、カスタム タグを 1 つ以上指定して標準をサポートします。

  6. [次へ] を選択します。

  7. [Download and run script]\(次: スクリプトをダウンロードして実行する\) ページで概要情報を確認し、[ダウンロード] を選択します。 引き続き変更が必要な場合は、[前へ] を選択します。

Windows の場合は OnboardingScript.ps1、Linux の場合は OnboardingScript.sh をコンピューターに保存するよう求められます。

エージェントをインストールして Azure に接続する

先ほど作成したスクリプト テンプレートがあれば、組織で利用中の自動化ツールを使用して、Connected Machine エージェントを複数のハイブリッド Linux コンピューターおよび Windows コンピューターにインストールして構成できます。 このスクリプトでは、「Azure portal からハイブリッド マシンを Azure に接続する」に説明されているものに似た手順が実行されます。 違いは、サービス プリンシパルを使用して azcmagent コマンドを実行し、Azure Arc への接続を確立する最後の手順です。

以下に、サービス プリンシパル用に使用する azcmagent コマンドを構成する設定を示します。

  • service-principal-id: サービス プリンシパルのアプリケーション ID を表す一意の識別子 (GUID)。
  • service-principal-secret | サービス プリンシパルのパスワード。
  • tenant-id : Microsoft Entra ID の専用インスタンスを表す一意識別子 (GUID)。
  • subscription-id: マシンが必要な Azure サブスクリプションのサブスクリプション ID (GUID)。
  • resource-group: 接続されたマシンの所属先にするリソース グループの名前。
  • location: サポート対象の Azure リージョンに関するページを参照してください。 この場所は、リソース グループの場所と同じ場合も異なる場合もあります。
  • resource-name: (省略可能) オンプレミス マシンの Azure リソースの表記に使用されます。 この値を指定しない場合は、マシンのホスト名が使用されます。

azcmagent コマンドライン ツールの詳細は、Azcmagent のリファレンスに関するページを参照して確認することができます。

Note

Windows PowerShell スクリプトは、64 ビット版の Windows PowerShell からの実行のみをサポートしています。

エージェントをインストールし、それを Azure Arc 対応サーバーに接続するように構成したら、Azure portal に移動して、サーバーが正常に接続されたことを確認します。 自分のマシンは Azure portal に表示されます。

Azure portal でのサーバー接続の成功を示すスクリーンショット。

次のステップ