Azure CLIを使用してAzure Stack Hubにリソースを管理およびデプロイする - Modular Data Center (MDC)

適用対象: Azure Stack Hub 統合システム

この記事の手順に従って、Linux、Mac、Windows クライアント プラットフォームからAzure Stack Hubリソースを管理するように Azure Command-Line インターフェイス (CLI) を設定します。

Azure CLIの準備

仮想マシンエイリアス エンドポイントは 、"UbuntuLTS" や "Win2012Datacenter" などのエイリアスを提供します。このエイリアスは、VM のデプロイ時に、イメージの発行元、オファー、SKU、およびバージョンを 1 つのパラメーターとして参照します。

次のセクションでは、仮想マシンのエイリアス エンドポイントを設定する方法について説明します。

仮想マシンのエイリアス エンドポイントを設定する

VM エイリアス ファイルをホストするパブリックにアクセス可能なエンドポイントを設定できます。 VM エイリアス ファイルは、イメージの共通名を提供する JSON ファイルです。 この名前は、VM を Azure CLI パラメーターとしてデプロイするときに使用します。

  1. カスタム イメージを発行する場合は、発行時に指定した発行元、オファー、SKU、およびバージョン情報を書き留めます。 Marketplace のイメージの場合は、 Get-AzureVMImage コマンドレットを使用して情報を表示できます。

  2. GitHubからサンプル ファイルをダウンロードします。

  3. Azure Stack Hubでストレージ アカウントを作成します。 完了したら、BLOB コンテナーを作成します。 アクセス ポリシーを "public" に設定します。

  4. JSON ファイルを新しいコンテナーにアップロードします。 完了したら、BLOB の URL を表示できます。 BLOB 名を選択し、BLOB のプロパティから URL を選択します。

CLI のインストールまたはアップグレード

開発ワークステーションにサインインし、CLI をインストールします。 Azure Stack Hub には、バージョン 2.0 以降の Azure CLI が必要です。 API プロファイルの最新バージョンには、CLI の現在のバージョンが必要です。 CLI は、Azure CLIのインストールに関する記事で説明されている手順を使用してインストールします。

インストールが成功したかどうかを確認するには、ターミナルまたはコマンド プロンプト ウィンドウを開き、次のコマンドを実行します。

az --version

Azure CLI のバージョンと、コンピューターにインストールされているその他の依存ライブラリが表示されます。

Azure Stack Hub Python 上の Azure CLI の場所

Windows/Linux (Microsoft Entra ID)

このセクションでは、ID 管理サービスとして Microsoft Entra ID を使用していて、Windows/Linux マシンで CLI を使用している場合に CLI を設定する手順について説明します。

Azure Stack Hub に接続する

  1. az cloud register コマンドを実行して、Azure Stack Hub 環境を登録します。

  2. お客様の環境を登録します。 az cloud registerを実行するときは、次のパラメーターを使用します。

    価値 Description
    環境名 AzureStackUser ユーザー環境に AzureStackUser を使用します。 演算子の場合は、 AzureStackAdminを指定します。
    Resource Manager エンドポイント https://management.local.azurestack.external 統合システムの ResourceManagerUrl は、 https://management.<region>.<fqdn>/ 統合システム エンドポイントに関する質問がある場合は、クラウド オペレーターにお問い合わせください。
    ストレージ エンドポイント local.azurestack.external 統合システムの場合は、システムのエンドポイントを使用します。
    Keyvault のサフィックス .vault.local.azurestack.external 統合システムの場合は、システムのエンドポイントを使用します。
    VM イメージのエイリアスのドキュメント エンドポイント https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json VM イメージのエイリアスを含むドキュメントの URI。 詳細については、 VM エイリアス エンドポイントの設定に関するページを参照してください。
    az cloud register -n <environmentname> --endpoint-resource-manager "https://management.local.azurestack.external" --suffix-storage-endpoint "local.azurestack.external" --suffix-keyvault-dns ".vault.local.azurestack.external" --endpoint-vm-image-alias-doc <URI of the document which contains VM image aliases>
    
  3. 次のコマンドを使用して、アクティブな環境を設定します。

    az cloud set -n <environmentname>
    
  4. Azure Stack Hub 固有の API バージョンのプロファイルを使用するようにお使いの環境の構成を更新します。 構成を更新するには、次のコマンドを実行します。

    az cloud update --profile 2019-03-01-hybrid
    
  5. az login コマンドを使用して、Azure Stack Hub 環境にサインインします。 ユーザーまたはサービス プリンシパルとして、Azure Stack Hub環境にサインインします。

    • ユーザーとしてサインインします。

      az login コマンド内で直接ユーザー名とパスワードを指定するか、ブラウザーを使用して認証できます。 アカウントで多要素認証が有効になっている場合は、後者を実行する必要があります。

      az login -u <Microsoft Entra administrator or user account. For example: username@<aadtenant>.onmicrosoft.com> --tenant <Azure Active Directory Tenant name. For example: myazurestack.onmicrosoft.com>
      

      Note

      ユーザー アカウントで多要素認証が有効になっている場合は、az login パラメーターを指定せずに -u コマンドを使用します。 このコマンドを実行すると、認証に使用する必要がある URL とコードが提供されます。

    • サービス プリンシパルとしてサインインします。

      サインインする前に、Azure portal または CLI を 使用してサービス プリンシパルを作成 し、ロールを割り当てます。 次に、次のコマンドを使用してサインインします。

      az login --tenant <Azure Active Directory Tenant name. For example: myazurestack.onmicrosoft.com> --service-principal -u <Application Id of the Service Principal> -p <Key generated for the Service Principal>
      

接続をテストする

すべてが設定された状態で、CLI を使用して Azure Stack Hub 内にリソースを作成します。 たとえば、アプリのリソース グループを作成し、VM を追加できます。 次のコマンドを使用して、"MyResourceGroup" という名前のリソース グループを作成します。

az group create -n MyResourceGroup -l local

リソース グループが正常に作成されると、前のコマンドによって、新しく作成されたリソースの次のプロパティが出力されます。

リソース グループの出力の作成

Windows/Linux (AD FS)

このセクションでは、ID 管理サービスとして Active Directory Federated Services (AD FS) を使用していて、Windows/Linux マシンで CLI を使用している場合に CLI を設定する手順について説明します。

Azure Stack Hub に接続する

  1. az cloud register コマンドを実行して、Azure Stack Hub 環境を登録します。

  2. お客様の環境を登録します。 az cloud registerを実行するときは、次のパラメーターを使用します。

    価値 Description
    環境名 AzureStackUser ユーザー環境に AzureStackUser を使用します。 演算子の場合は、 AzureStackAdminを指定します。
    Resource Manager エンドポイント https://management.local.azurestack.external 統合システムの ResourceManagerUrl は、 https://management.<region>.<fqdn>/ 統合システム エンドポイントに関する質問がある場合は、クラウド オペレーターにお問い合わせください。
    ストレージ エンドポイント local.azurestack.external 統合システムの場合は、システムのエンドポイントを使用します。
    Keyvault のサフィックス .vault.local.azurestack.external 統合システムの場合は、システムのエンドポイントを使用します。
    VM イメージのエイリアスのドキュメント エンドポイント https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json VM イメージのエイリアスを含むドキュメントの URI。 詳細については、 VM エイリアス エンドポイントの設定に関するページを参照してください。
    az cloud register -n <environmentname> --endpoint-resource-manager "https://management.local.azurestack.external" --suffix-storage-endpoint "local.azurestack.external" --suffix-keyvault-dns ".vault.local.azurestack.external" --endpoint-vm-image-alias-doc <URI of the document which contains VM image aliases>
    
  3. 次のコマンドを使用して、アクティブな環境を設定します。

    az cloud set -n <environmentname>
    
  4. Azure Stack Hub 固有の API バージョンのプロファイルを使用するようにお使いの環境の構成を更新します。 構成を更新するには、次のコマンドを実行します。

    az cloud update --profile 2019-03-01-hybrid
    
  5. az login コマンドを使用して、Azure Stack Hub 環境にサインインします。 Azure Stack Hub環境には、ユーザーまたはサービス プリンシパルとしてサインインできます。

    • ユーザーとしてサインインします。

      az login コマンド内で直接ユーザー名とパスワードを指定するか、ブラウザーを使用して認証できます。 アカウントで多要素認証が有効になっている場合は、後者を実行する必要があります。

      az cloud register  -n <environmentname>   --endpoint-resource-manager "https://management.local.azurestack.external"  --suffix-storage-endpoint "local.azurestack.external" --suffix-keyvault-dns ".vault.local.azurestack.external" --endpoint-vm-image-alias-doc <URI of the document which contains VM image aliases>   --profile "2019-03-01-hybrid"
      

      Note

      ユーザー アカウントで多要素認証が有効になっている場合は、az login パラメーターを指定せずに -u コマンドを使用します。 このコマンドを実行すると、認証に使用する必要がある URL とコードが提供されます。

    • サービス プリンシパルとしてサインインします。

      サービス プリンシパルのログインに使用する .pem ファイルを準備します。

      プリンシパルが作成されたクライアント コンピューターで、サービス プリンシパル証明書を秘密キーを含めて cert:\CurrentUser\My にある pfx としてエクスポートします。 証明書名の名前はプリンシパルと同じです。

      pfx を pem に変換します (OpenSSL ユーティリティを使用します)。

      CLI にサインインします。

      az login --service-principal \
      -u <Client ID from the Service Principal details> \
      -p <Certificate's fully qualified name, such as, C:\certs\spn.pem>
      --tenant <Tenant ID> \
      --debug 
      

接続をテストする

すべてが設定された状態で、CLI を使用して Azure Stack Hub 内にリソースを作成します。 たとえば、アプリのリソース グループを作成し、VM を追加できます。 次のコマンドを使用して、"MyResourceGroup" という名前のリソース グループを作成します。

az group create -n MyResourceGroup -l local

リソース グループが正常に作成されると、前のコマンドによって、新しく作成されたリソースの次のプロパティが出力されます。

リソース グループの出力の作成

既知の問題

Azure Stack Hub で CLI を使用する場合、既知の問題があります。

  • CLI 対話型モード。 たとえば、az interactive コマンドは、Azure Stack Hubではまだサポートされていません。
  • Azure Stack Hub で使用できる VM イメージの一覧を取得するには、az vm image list --all コマンドの代わりに az vm image list コマンドを使用します。 --all オプションを指定すると、応答は Azure Stack Hub 環境で使用可能なイメージのみを返します。
  • Azureで使用できる VM イメージエイリアスは、Azure Stack Hubには適用できない場合があります。 VM イメージを使用する場合は、イメージ エイリアスの代わりに URN パラメーター (Canonical:UbuntuServer:14.04.3-LTS:1.0.0) 全体を使用する必要があります。 この URN は、 az vm images list コマンドから派生したイメージ仕様と一致している必要があります。

次のステップ