Azure CLI を Azure Stack Hub にインストールする

Azure CLI をインストールすると、Windows マシンまたは Linux マシンで Azure Stack Hub を管理することができます。 この記事では、Azure CLI のインストールと設定の手順について説明します。

Azure CLI のインストール

  1. 開発ワークステーションにサインインし、CLI をインストールします。 Azure Stack Hub には、Azure CLI のバージョン 2.0 以降が必要です。

  2. CLI は、「Azure CLI のインストール」で説明されている手順を使用してインストールできます。

  3. インストールが正常に完了したことを確認するには、ターミナルまたはコマンド プロンプト ウィンドウを開いて次のコマンドを実行します。

    az --version
    

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

    Azure Stack Hub 上の Azure CLI の Python の場所

  4. CLI の Python の場所を書き留めておきます。

証明書を追加する

接続されていない統合システムおよび ASDK の場合は、Azure Stack Hub 証明書をエクスポートしてインポートします。 接続されている統合システムの場合は、証明書はパブリック的に署名されており、この手順は必要ありません。 手順については、「Azure Stack Development Kit での Azure CLI 用の証明書の設定」を参照してください。

Azure CLI との接続

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

Azure Stack Hub に接続する

  1. ASDK を使用している場合、Azure Stack Hub の CA ルート証明書を信頼します。 手順については、「証明書を信頼する」を参照してください。

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

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

    説明
    環境名 AzureStackUser ユーザー環境には、AzureStackUser を使用します。 オペレーターの場合は、AzureStackAdmin を指定します。
    Resource Manager エンドポイント https://management.contoso.onmicrosoft.com ASDK の ResourceManagerUrl です。統合システムの ResourceManagerUrl です。統合システムのエンドポイントについてご質問がある場合は、ご利用のクラウド オペレーターにお問い合わせください。
    ストレージ エンドポイント 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>" `
        --endpoint-active-directory-graph-resource-id "https://graph.windows.net/"
    

    register コマンドのリファレンスは、Azure CLI リファレンス ドキュメントにあります。

  4. 次のコマンドを使用して、アクティブな環境を設定します。

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

    az cloud update --profile 2020-09-01-hybrid
    
  6. 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>
      
  7. 環境が正しく設定されていること、環境がアクティブなクラウドであることを確認します。

        az cloud list --output table
    

環境が一覧表示され、IsActive になっていることを確認します。 例:

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
}

次のステップ