azcmagent connect

Azure でサーバーのメタデータ表現を作成し、それに Azure Connected Machine エージェントを関連付けることで、サーバーを Azure Arc に接続します。 このコマンドには、Azure 内のサーバーを表すテナント、サブスクリプション、リソース グループに関する情報と、その場所に Azure Arc 対応サーバー リソースを作成するためのアクセス許可を持つ有効な資格情報が必要です。

使用方法

azcmagent connect [authentication] --subscription-id [subscription] --resource-group [resourcegroup] --location [region] [flags]

既定のログイン方法 (対話型ブラウザーまたはデバイス コード) を使用してサーバーを接続します。

azcmagent connect --subscription-id "Production" --resource-group "HybridServers" --location "eastus"
azcmagent connect --subscription-id "Production" --resource-group "HybridServers" --location "eastus" --use-device-code

サービス プリンシパルを使用してサーバーを接続します。

azcmagent connect --subscription-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" --resource-group "HybridServers" --location "australiaeast" --service-principal-id "ID" --service-principal-secret "SECRET" --tenant-id "TENANT"

プライベート エンドポイントとデバイス コード ログイン方法を使用してサーバーを接続します。

azcmagent connect --subscription-id "Production" --resource-group "HybridServers" --location "koreacentral" --use-device-code --private-link-scope "/subscriptions/.../Microsoft.HybridCompute/privateLinkScopes/ScopeName"

認証オプション

Azure 接続マシン エージェントに認証資格情報を提供するには、4 つの方法があります。 認証オプションを 1 つ選び、使用法構文の [authentication] セクションを推奨フラグに置き換えます。

対話型ブラウザー ログイン (Windows のみ)

このオプションは、デスクトップ エクスペリエンスを備えた Windows オペレーティング システムの既定値です。 既定の Web ブラウザーでログイン ページが開きます。 組織で条件付きアクセス ポリシーを構成し、信頼されたマシンからログインする必要がある場合は、このオプションが必要になる場合があります。

対話型ブラウザー ログインを使用するためにフラグは必要ありません。

デバイス コード ログイン

このオプションでは、別のデバイス上の Web ブラウザーにログインするために使用できるコードが生成されます。 これは、Windows Server コア エディションとすべての Linux ディストリビューションの既定のオプションです。 接続コマンドを実行すると、インターネットに接続されたデバイスで指定されたログイン URL を開き、ログイン フローを完了するまでに 5 分かかります。

デバイス コードで認証するには、--use-device-code フラグを使用します。 ログインしているアカウントと、サーバーを登録しているサブスクリプションが同じテナントにない場合は、--tenant-id [tenant] でサブスクリプションのテナント ID も指定する必要があります。

シークレットを持つサービス プリンシパル

サービス プリンシパルを使うと、非対話形式で認証することができ、多くの場合、同じスクリプトが複数のサーバーで実行される大規模なデプロイに使用されます。 Microsoft では、コンソール ログでシークレットが公開されないように、構成ファイル (参照 --config) を介してサービス プリンシパル情報を提供することをお勧めします。 また、サービス プリンシパルは Arc オンボード専用にし、アクセス許可をできるだけ少なくして、盗まれた資格情報の影響を制限する必要があります。

シークレットを使用してサービス プリンシパルで認証するには、サービス プリンシパルのアプリケーション ID、シークレット、テナント ID を指定します。 --service-principal-id [appid] --service-principal-secret [secret] --tenant-id [tenantid]

証明書を使用したサービス プリンシパル

証明書ベースの認証は、サービス プリンシパルを使用して認証するためのより安全な方法です。 エージェントは両方の PCKS #12 (.PFX) ファイルと ASCII でエンコードされたファイル (例: .PEM)、秘密キーと公開キーの両方が含まれています。 証明書はローカル ディスクで使用でき、コマンドを実行しているユーザーは azcmagent ファイルへの読み取りアクセス権を必要とします。 パスワードで保護された PFX ファイルはサポートされていません。

証明書を使用してサービス プリンシパルで認証するには、サービス プリンシパルのアプリケーション ID、テナント ID、および証明書ファイルへのパスを指定します。 --service-principal-id [appId] --service-principal-cert [pathToPEMorPFXfile] --tenant-id [tenantid]

詳細については、証明書ベースの認証を使用した RBAC のサービス プリンシパルの作成に関するページを参照してください

トークンへのアクセス

アクセス トークンは非対話型認証にも使用できますが、有効期間が短く、通常は、短時間にわたって複数のサーバーをオンボードするオートメーション ソリューションによって使用されます。 Get-AzAccessToken またはその他の Microsoft Entra クライアントを使用して、アクセス トークンを取得できます。

アクセス トークンで認証するには、--access-token [token] フラグを使用します。 ログインしているアカウントと、サーバーを登録しているサブスクリプションが同じテナントにない場合は、--tenant-id [tenant] でサブスクリプションのテナント ID も指定する必要があります。

フラグ

--access-token

Azure で Azure Arc 対応サーバー リソースを作成するために使用される Microsoft Entra アクセス トークンを指定します。 詳細については、認証オプションに関する記事を参照してください。

--automanage-profile

Azure に接続された後にサーバーに適用される Azure Automanage ベスト プラクティス プロファイルのリソース ID。

サンプル値: /providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction

--cloud

Azure クラウド インスタンスを指定します。 --location フラグと共に使用する必要があります。 マシンが既に Azure Arc に接続されている場合、既定値はエージェントが既に接続されているクラウドです。 それ以外の場合、既定値は "AzureCloud" です。

サポートされる値:

  • AzureCloud (パブリック リージョン)
  • AzureUSGovernment (Azure US Government リージョン)
  • AzureChinaCloud (21Vianet によって運営される Microsoft Azure のリージョン)

--correlation-id

サーバーを Azure Arc に接続するために使用されるメカニズムを識別します。たとえば、Azure portal で生成されたスクリプトには、Microsoft がそのエクスペリエンスの使用状況を追跡するのに役立つ GUID が含まれています。 このフラグは省略可能であり、エクスペリエンスを向上させるためにテレメトリの目的でのみ使用されます。

--ignore-network-check

必要なエンドポイントのネットワーク チェックが失敗した場合でも、オンボードを続行するようにエージェントに指示します。 このオプションは、ネットワーク チェックの結果が正しくないと確信している場合にのみ使用してください。 ほとんどの場合、ネットワーク チェックの失敗は、Azure Connected Machine エージェントがサーバーで正しく機能しないことを示します。

-l, --location

接続を確認する Azure リージョン。 マシンが既に Azure Arc に接続されている場合は、現在のリージョンが既定として選択されます。

サンプル値: westeurope

--private-link-scope

サーバーに関連付ける Azure Arc プライベート リンク スコープのリソース ID を指定します。 このフラグは、プライベート エンドポイントを使用してサーバーを Azure に接続する場合に必要です。

-g, --resource-group

Azure Arc 対応サーバー リソースを作成する Azure リソース グループの名前。

サンプル値: HybridServers

-n, --resource-name

Azure Arc 対応サーバー リソースの名前。 既定では、リソース名は次のとおりです。

  • AWS インスタンス ID (サーバーが AWS 上にある場合)
  • ホスト名 (他のすべてのマシンの場合)

名前の競合を回避するために、既定の名前を独自に選択した名前でオーバーライドできます。 選択すると、エージェントを切断して再接続しないと、Azure リソースの名前を変更できません。

AWS サーバーでインスタンス ID ではなくホスト名を使用するように強制する場合は、シェルで現在のホスト名を評価し、新しいリソース名として渡すように $(hostname) に渡します。

サンプル値: FileServer01

-i, --service-principal-id

Azure で Azure Arc 対応サーバー リソースを作成するために使用されるサービス プリンシパルのアプリケーション ID を指定します。 または--service-principal-certフラグと共に--tenant-id使用する--service-principal-secret必要があります。 詳細については、認証オプションに関する記事を参照してください。

--service-principal-cert

サービス プリンシパル証明書ファイルへのパスを指定します。 --service-principal-id--tenant-id フラグと共に使用する必要があります。 証明書には秘密キーを含める必要があり、PKCS #12 (.PFX) または ASCII でエンコードされたテキスト (.Pem。CRT) 形式。 パスワードで保護された PFX ファイルはサポートされていません。 詳細については、認証オプションに関する記事を参照してください。

-p, --service-principal-secret

サービス プリンシパル シークレットを指定します。 --service-principal-id--tenant-id フラグと共に使用する必要があります。 コンソール ログでシークレットが公開されないようにするため、Microsoft は構成ファイルにサービス プリンシパル シークレットを提供することをお勧めします。 詳細については、認証オプションに関する記事を参照してください。

-s, --subscription-id

Azure Arc 対応サーバー リソースを作成するサブスクリプションの名前または ID。

サンプル値: Production、aaaaaaaa-bbbb-cccc-dddd-eeeeeeeee

--tags

Azure Arc 対応サーバー リソースに適用するタグのコンマ区切りの一覧。 各タグは、TagName=TagValue という形式で指定する必要があります。 タグ名または値にスペースが含まれている場合は、名前または値を単一引用符で囲んでください。

サンプル値: Datacenter=NY3,Application=SharePoint,Owner='Shared Infrastructure Services'

-t, --tenant-id

Azure Arc 対応サーバー リソースを作成するサブスクリプションのテナント ID。 このフラグは、サービス プリンシパルを使用して認証する場合に必要です。 他のすべての認証方法では、Azure での認証に使用されるアカウントのホーム テナントもリソースに使用されます。 アカウントとサブスクリプションのテナントが異なる場合 (ゲスト アカウント、Lighthouse)、サブスクリプションが存在するテナントを明確にするために、テナント ID を指定する必要があります。

--use-device-code

別のコンピューターの Web ブラウザーに入力して、Azure でエージェントを認証できる Microsoft Entra デバイス ログイン コードを生成します。 詳細については、認証オプションに関する記事を参照してください。

--user-tenant-id

サーバーを Azure に接続するために使用されるアカウントのテナント ID。 このフィールドは、オンボード アカウントのテナントが Azure Arc 対応サーバー リソースの目的のテナントと同じでない場合に必要です。

すべてのコマンドで使用可能な共通フラグ

--config

コマンドへの入力を含む JSON または YAML ファイルへのパスを受け取ります。 構成ファイルには、キーが使用可能なコマンド ライン オプションと一致する一連のキーと値のペアが含まれている必要があります。 たとえば、--verbose フラグを渡す場合、構成ファイルは次のようになります。

{
    "verbose": true
}

コマンド呼び出しと構成ファイルの両方でコマンド ライン オプションが見つかった場合は、コマンド ラインで指定された値が優先されます。

-h, --help

構文やコマンド ライン オプションなど、現在のコマンドに関するヘルプを表示します。

-j, --json

コマンドの結果を JSON 形式で出力します。

--log-stderr

エラーと詳細メッセージを標準エラー (stderr) ストリームにリダイレクトします。 既定では、すべての出力が標準出力 (stdout) ストリームに送信されます。

--no-color

ANSI カラーをサポートしていないターミナルのカラー出力を無効にします。

-v, --verbose

コマンドの実行中に、より詳細なログ情報を表示します。 コマンドを実行するときの問題のトラブルシューティングに役立ちます。