Azure CLI をインストールすると、Windows マシンまたは Linux マシンで Azure Stack Hub を管理することができます。 この記事では、Azure CLI のインストールと設定の手順について説明します。
このセクションでは、ID 管理サービスとして Azure AD を使用していて、Windows マシン上で CLI を使用する場合の CLI の設定について説明します。
Azure Stack Hub に接続する
ASDK を使用している場合、Azure Stack Hub の CA ルート証明書を信頼します。 手順については、「証明書を信頼する」を参照してください。
az cloud register
コマンドを実行して Azure Stack Hub 環境を登録します。
お客様の環境を登録します。 az cloud register
を実行するときに、次のパラメーターを使用します。
値 |
例 |
説明 |
環境名 |
AzureStackUser |
ユーザー環境には、AzureStackUser を使用します。 オペレーターの場合は、AzureStackAdmin を指定します。 |
Resource Manager エンドポイント |
https://management.contoso.onmicrosoft.com |
ASDK の ResourceManagerUrl は次のとおりです。https://management.local.azurestack.external/ になります。統合システムの ResourceManagerUrl はhttps://management.<region>.<fqdn>/ になります。統合システム エンドポイントに関する質問がある場合は、お客様のクラウド オペレーターにお問い合わせください。 |
ストレージ エンドポイント |
local.contoso.onmicrosoft.com |
local.azurestack.external は、ASDK の場合です。 統合システムの場合は、システムのエンドポイントを使用します。 |
Keyvault のサフィックス |
.vault.contoso.onmicrosoft.com |
.vault.local.azurestack.external は、ASDK の場合です。 統合システムの場合は、システムのエンドポイントを使用します。 |
エンドポイント Azure Active Directory Graph リソース ID |
https://graph.windows.net/ |
Active Directory リソース ID。 |
az cloud register `
-n <environmentname> `
--endpoint-resource-manager "https://management.<region>.<fqdn>" `
--suffix-storage-endpoint "<fqdn>" `
--suffix-keyvault-dns ".vault.<fqdn>"
register コマンドのリファレンスは、Azure CLI リファレンス ドキュメントにあります。
次のコマンドを使用して、アクティブな環境を設定します。
az cloud set -n <environmentname>
Azure Stack Hub 固有の API バージョンのプロファイルを使用するようにお使いの環境の構成を更新します。 構成を更新するには、次のコマンドを実行します。
az cloud update --profile 2020-09-01-hybrid
az login
コマンドを使用して Azure Stack Hub 環境にサインインします。
Azure Stack Hub 環境にサインインするには、ユーザー資格情報を使用するか、クラウド オペレーターによって提供されるサービス プリンシパル (SPN) を使用します。
ユーザーとしてサインインする場合:
az login
コマンド内で直接ユーザー名とパスワードを指定するか、ブラウザーを使用して認証できます。 多要素認証が有効になっているアカウントの場合は、後者を実行する必要があります。
az login -u "user@contoso.onmicrosoft.com" -p 'Password123!' --tenant contoso.onmicrosoft.com
Note
お使いのユーザー アカウントで多要素認証が有効になっている場合は、-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>
環境が正しく設定されていること、環境がアクティブなクラウドであることを確認します。
az cloud list --output table
環境が一覧表示され、IsActive が true
になっていることを確認します。 例:
IsActive Name Profile
---------- ----------------- -----------------
False AzureCloud 2020-09-01-hybrid
False AzureChinaCloud latest
False AzureUSGovernment latest
False AzureGermanCloud latest
True AzureStackUser 2020-09-01-hybrid
接続のテスト
すべての設定が完了したら、CLI を使用し、Azure Stack Hub 内でリソースを作成します。 たとえば、アプリのリソース グループを作成し、VM を追加できます。 次のコマンドを使用して、"MyResourceGroup" という名前のリソース グループを作成します。
az group create -n MyResourceGroup -l local
リソース グループが正常に作成されると、上記のコマンドによって、新たに作成されたリソースの次のプロパティが出力されます。
{
"id": "/subscriptions/84edee99-XXXX-4f5c-b646-5cdab9759a03/resourceGroups/RGCL11",
"location": "local",
"name": "RGCLI1",
" properties ": {
"provisioningState": "Succeeded"
},
"tags ": null
}
このセクションでは、ID 管理サービスとして Active Directory フェデレーション サービス (AD FS) を使用していて、Windows マシン上で CLI を使用する場合の CLI の設定について説明します。
Azure Stack Hub に接続する
ASDK を使用している場合、Azure Stack Hub の CA ルート証明書を信頼します。 手順については、「証明書を信頼する」を参照してください。
az cloud register
コマンドを実行して Azure Stack Hub 環境を登録します。
お客様の環境を登録します。 az cloud register
を実行するときに、次のパラメーターを使用します。
値 |
例 |
説明 |
環境名 |
AzureStackUser |
ユーザー環境には、AzureStackUser を使用します。 オペレーターの場合は、AzureStackAdmin を指定します。 |
Resource Manager エンドポイント |
https://management.local.azurestack.external |
ASDK の ResourceManagerUrl は次のとおりです。https://management.local.azurestack.external/ になります。統合システムの ResourceManagerUrl はhttps://management.<region>.<fqdn>/ になります。統合システム エンドポイントに関する質問がある場合は、お客様のクラウド オペレーターにお問い合わせください。 |
ストレージ エンドポイント |
local.azurestack.external |
local.azurestack.external は、ASDK の場合です。 統合システムの場合は、システムのエンドポイントを使用します。 |
Keyvault のサフィックス |
.vault.local.azurestack.external |
.vault.local.azurestack.external は、ASDK の場合です。 統合システムの場合は、システムのエンドポイントを使用します。 |
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 2020-09-01-hybrid
Note
1808 ビルドより前のバージョンの Azure Stack Hub を実行している場合は、2020-09-01-hybrid の API バージョンのプロファイルではなく、2017-03-09-profile の API バージョンのプロファイルを使用する必要があります。 また、Azure CLI の最新バージョンを使用する必要もあります。
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 "2020-09-01-hybrid"
サービス プリンシパルを使ってサインインする。
サービス プリンシパルのログインに使用する .pem ファイルを用意します。
プリンシパルが作成されたクライアント マシン上で、サービス プリンシパル証明書を、cert:\CurrentUser\My
にある秘密キーを持つ pfx としてエクスポートします。 証明書名にはプリンシパルと同じ名前が付けられています。
pfx を pem に変換します (OpenSSL ユーティリティ を使用)。
CLI にサインインします。
az login --service-principal \
-u <Client ID from the Service Principal details> \
-p <Client secret (password), or 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
リソース グループが正常に作成されると、上記のコマンドによって、新たに作成されたリソースの次のプロパティが出力されます。
{
"id": "/subscriptions/84edee99-XXXX-4f5c-b646-5cdab9759a03/resourceGroups/RGCL11",
"location": "local",
"name": "RGCLI1",
" properties ": {
"provisioningState": "Succeeded"
},
"tags ": null
}
このセクションでは、ID 管理サービスとして Azure AD を使用していて、Linux マシン上で CLI を使用する場合の CLI の設定について説明します。
Azure Stack Hub に接続する
次の手順を使用して Azure Stack Hub に接続します。
ASDK を使用している場合、Azure Stack Hub の CA ルート証明書を信頼します。 手順については、「証明書を信頼する」を参照してください。
az cloud register
コマンドを実行して Azure Stack Hub 環境を登録します。
お客様の環境を登録します。 az cloud register
を実行するときに、次のパラメーターを使用します。
値 |
例 |
説明 |
環境名 |
AzureStackUser |
ユーザー環境には、AzureStackUser を使用します。 オペレーターの場合は、AzureStackAdmin を指定します。 |
Resource Manager エンドポイント |
https://management.local.azurestack.external |
ASDK の ResourceManagerUrl は次のとおりです。https://management.local.azurestack.external/ になります。統合システムの ResourceManagerUrl はhttps://management.<region>.<fqdn>/ になります。統合システム エンドポイントに関する質問がある場合は、お客様のクラウド オペレーターにお問い合わせください。 |
ストレージ エンドポイント |
local.azurestack.external |
local.azurestack.external は、ASDK の場合です。 統合システムの場合は、システムのエンドポイントを使用します。 |
Keyvault のサフィックス |
.vault.local.azurestack.external |
.vault.local.azurestack.external は、ASDK の場合です。 統合システムの場合は、システムのエンドポイントを使用します。 |
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 2020-09-01-hybrid
Note
1808 ビルドより前のバージョンの Azure Stack Hub を実行している場合は、2020-09-01-hybrid の API バージョンのプロファイルではなく、2017-03-09-profile の API バージョンのプロファイルを使用する必要があります。 また、Azure CLI の最新バージョンを使用する必要もあります。
az login
コマンドを使用して Azure Stack Hub 環境にサインインします。 Azure Stack Hub 環境には、ユーザーまたはサービス プリンシパルとしてサインインできます。
ユーザーとしてサインインする場合:
az login
コマンド内で直接ユーザー名とパスワードを指定するか、ブラウザーを使用して認証できます。 多要素認証が有効になっているアカウントの場合は、後者を実行する必要があります。
az login \
-u <Active directory global administrator or user account. For example: username@<aadtenant>.onmicrosoft.com> \
--tenant <Azure Active Directory Tenant name. For example: myazurestack.onmicrosoft.com>
Note
お使いのユーザー アカウントで多要素認証が有効になっている場合は、-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
リソース グループが正常に作成されると、上記のコマンドによって、新たに作成されたリソースの次のプロパティが出力されます。
{
"id": "/subscriptions/84edee99-XXXX-4f5c-b646-5cdab9759a03/resourceGroups/RGCL11",
"location": "local",
"name": "RGCLI1",
" properties ": {
"provisioningState": "Succeeded"
},
"tags ": null
}
このセクションでは、管理サービスとして Active Directory フェデレーション サービス (AD FS) を使用していて、Linux マシン上で CLI を使用する場合の CLI の設定について説明します。
Azure Stack Hub に接続する
次の手順を使用して Azure Stack Hub に接続します。
ASDK を使用している場合、Azure Stack Hub の CA ルート証明書を信頼します。 手順については、「証明書を信頼する」を参照してください。
az cloud register
コマンドを実行して Azure Stack Hub 環境を登録します。
お客様の環境を登録します。 az cloud register
を実行するときに、次のパラメーターを使用します。
値 |
例 |
説明 |
環境名 |
AzureStackUser |
ユーザー環境には、AzureStackUser を使用します。 オペレーターの場合は、AzureStackAdmin を指定します。 |
Resource Manager エンドポイント |
https://management.local.azurestack.external |
ASDK の ResourceManagerUrl は次のとおりです。https://management.local.azurestack.external/ になります。統合システムの ResourceManagerUrl はhttps://management.<region>.<fqdn>/ になります。統合システム エンドポイントに関する質問がある場合は、お客様のクラウド オペレーターにお問い合わせください。 |
ストレージ エンドポイント |
local.azurestack.external |
local.azurestack.external は、ASDK の場合です。 統合システムの場合は、システムのエンドポイントを使用します。 |
Keyvault のサフィックス |
.vault.local.azurestack.external |
.vault.local.azurestack.external は、ASDK の場合です。 統合システムの場合は、システムのエンドポイントを使用します。 |
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 2020-09-01-hybrid
Note
1808 ビルドより前のバージョンの Azure Stack Hub を実行している場合は、2020-09-01-hybrid の API バージョンのプロファイルではなく、2017-03-09-profile の API バージョンのプロファイルを使用する必要があります。 また、Azure CLI の最新バージョンを使用する必要もあります。
az login
コマンドを使用して Azure Stack Hub 環境にサインインします。 Azure Stack Hub 環境には、ユーザーまたはサービス プリンシパルとしてサインインできます。
サインインします。
- Web ブラウザーとデバイス コードを使用してユーザーとして:
az login --use-device-code
Note
コマンドを実行すると、認証で使用する必要がある URL とコードを取得できます。
サービス プリンシパルとして:
サービス プリンシパルのログインに使用する .pem ファイルを用意します。
CLI にサインインします。
az login --service-principal \
-u <Client ID from the Service Principal details> \
-p <Client secret (password), or 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
リソース グループが正常に作成されると、上記のコマンドによって、新たに作成されたリソースの次のプロパティが出力されます。
{
"id": "/subscriptions/84edee99-XXXX-4f5c-b646-5cdab9759a03/resourceGroups/RGCL11",
"location": "local",
"name": "RGCLI1",
" properties ": {
"provisioningState": "Succeeded"
},
"tags ": null
}
既知の問題
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
コマンドから派生したイメージ仕様と一致している必要があります。