Azure CLI を使用した Azure Stack Hub へのリソースの管理とデプロイ - Modular Data Center (MDC)
適用対象:Azure Stack Hub 統合システム
この記事の手順に従って、Linux、Mac、Windows クライアントのプラットフォームから Azure Stack Hub のリソースを管理するように Azure コマンド ライン インターフェイス (CLI) を設定します。
Azure CLI の準備
仮想マシンのエイリアス エンドポイントでは、"UbuntuLTS" または "Win2012Datacenter" などのエイリアスが提供されます。このエイリアスは、VM をデプロイするときに、イメージ発行者、プラン、SKU、バージョン を 1 つのパラメーターとして参照します。
次のセクションでは、仮想マシンのエイリアス エンドポイントを設定する方法について説明します。
仮想マシンのエイリアス エンドポイントを設定する
VM のエイリアス ファイルをホストする、パブリックにアクセス可能なエンドポイントを設定できます。 VM のエイリアス ファイルは、イメージの共通名が指定された JSON ファイルです。 この名前は、Azure CLI パラメーターとして VM をデプロイするときに使用します。
カスタム イメージを発行する場合は、発行時に指定した発行者、プラン、SKU、およびバージョン情報をメモしておいてください。 Marketplace のイメージである場合は、
Get-AzureVMImage
コマンドレットを使用して情報を表示できます。GitHub からサンプル ファイルをダウンロードします。
Azure Stack Hub にストレージ アカウントを作成します。 完了したら、BLOB コンテナーを作成します。 アクセス ポリシーを [パブリック] に設定します。
その新しいコンテナーに JSON ファイルをアップロードします。 完了すると、BLOB の URL を表示できるようになります。 BLOB 名を選択してから、BLOB プロパティから URL を選択します。
CLI をインストールまたはアップグレードする
開発ワークステーションにサインインし、CLI をインストールします。 Azure Stack Hub には、Azure CLI のバージョン 2.0 以降が必要です。 API プロファイルの最新バージョンには、CLI の最新バージョンが必要です。 CLI をインストールするには、「Azure CLI のインストール」で説明されている手順を使用します。
インストールが正常に完了したことを確認するには、ターミナルまたはコマンド プロンプト ウィンドウを開いて次のコマンドを実行します。
az --version
お使いのコンピューターにインストールされている Azure CLI と依存するその他のライブラリのバージョンが表示されます。
Windows/Linux (Microsoft Entra ID)
このセクションでは、ID 管理サービスとして Microsoft Entra ID を使用していて、Windows/Linux マシンで CLI を使用している場合に CLI を設定する手順について説明します。
Azure Stack Hub に接続する
az cloud register
コマンドを実行して Azure Stack Hub 環境を登録します。お客様の環境を登録します。
az cloud register
を実行するときに、次のパラメーターを使用します。値 例 説明 環境名 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。 詳細については、「仮想マシンのエイリアス エンドポイントを設定する」を参照してください。 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>
次のコマンドを使用して、アクティブな環境を設定します。
az cloud set -n <environmentname>
Azure Stack Hub 固有の API バージョンのプロファイルを使用するようにお使いの環境の構成を更新します。 構成を更新するには、次のコマンドを実行します。
az cloud update --profile 2019-03-01-hybrid
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>
注意
お使いのユーザー アカウントで多要素認証が有効になっている場合は、
-u
パラメーターを指定しないで、az login
コマンドを使用します。 このコマンドを実行すると、認証で使用する必要がある URL とコードを取得できます。サービス プリンシパルを使ってサインインする。
サインインする前に、CLI または Azure Portal でサービス プリンシパルを作成してロールに割り当てます。 次のコマンドを使用してサインインします。
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 フェデレーション サービス (AD FS) を使用していて、Windows マシンまたは Linux マシン上で CLI を使用する場合の CLI の設定について説明します。
Azure Stack Hub に接続する
az cloud register
コマンドを実行して Azure Stack Hub 環境を登録します。お客様の環境を登録します。
az cloud register
を実行するときに、次のパラメーターを使用します。値 例 説明 環境名 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。 詳細については、「仮想マシンのエイリアス エンドポイントを設定する」を参照してください。 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>
次のコマンドを使用して、アクティブな環境を設定します。
az cloud set -n <environmentname>
Azure Stack Hub 固有の API バージョンのプロファイルを使用するようにお使いの環境の構成を更新します。 構成を更新するには、次のコマンドを実行します。
az cloud update --profile 2019-03-01-hybrid
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"
注意
お使いのユーザー アカウントで多要素認証が有効になっている場合は、
-u
パラメーターを指定しないで、az login
コマンドを使用します。 このコマンドを実行すると、認証で使用する必要がある 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
コマンドの代わりに、az vm image list --all
コマンドを使用します。--all
オプションを指定すると、Azure Stack Hub 環境内で使用できるイメージのみが応答として返されます。 - Azure で使用できる仮想マシン イメージのエイリアスは、Azure Stack Hub に適用できない場合があります。 仮想マシン イメージを使用する場合は、イメージのエイリアスの代わりに、URN パラメーター全体 (Canonical:UbuntuServer:14.04.3-LTS:1.0.0) を使用する必要がありますします。 この URN は、
az vm images list
コマンドから派生したイメージ仕様と一致している必要があります。