Azure デプロイ環境に対する Azure Developer CLI のサポート

Azure Developer CLI (azd) は、Azure デプロイ環境のサポートを提供します。 Azure Deployment Environment (ADE) は、定義済みのサブスクリプションにデプロイされた Azure リソースの事前構成済みコレクションです。 Azure のガバナンスは、サンドボックス、テスト、ステージング、運用などの環境の種類に基づいて、それらのサブスクリプションに適用されます。 Azure Deployment Environment を使用すると、エンタープライズ セキュリティ ポリシーを適用し、コードとしての定義済みインフラストラクチャ (IaC) テンプレートのキュレーションされたセットを提供できます。

前提条件

次を使用して azdAzure Deployment Environment を操作するための次の前提条件が満たされていることを確認します。

Azure デプロイ環境のサポートを有効にする

などのazd upazd provision標準コマンドを使用して、デプロイ環境にリソースをプロビジョニングしてデプロイするように構成azdできます。 Azure デプロイ環境のサポートを有効にするには、次のコマンドを実行します。

azd config set platform.type devcenter

devcenter設定するとplatform.type、すべてのazdリモート環境の状態とプロビジョニングで、新しいデベロッパー センター コンポーネントが活用されます。 この構成は、ローカル テンプレート内の infra フォルダーが実質的に無視されることを意味します。 代わりに、 azd デベロッパー センター カタログで定義されているインフラストラクチャ テンプレートの 1 つをリソース プロビジョニングに使用します。

次のコマンドを使用して、デベロッパー センターのサポートを無効にすることもできます。

azd config unset platform

Azure Deployment Evironments の使用

デベロッパー センター機能が有効になっている場合、一部の一般的な azd コマンドの既定の動作は、これらのリモート環境で動作するように変更されます。 デベロッパー センター機能は、標準azdのリモート 環境サポートによって提供される機能を拡張します

azd init

デベロッパー センター モードのコマンド エクスペリエンスには azd init 、構成済みのカタログから選択するための azd 互換 ADE テンプレートがすべて表示されます。 init プロセス中に、テンプレート コードを複製した後 azdazure.yaml 選択したテンプレートに基づいて選択した構成のセクションが含まれる platform ようファイルが自動的に更新されます。 構成には、デベロッパー センターの名前、カタログ、環境の定義が含まれます。

`azd init`

azd up

この azd up コマンドにより、アプリケーションがパッケージ化され、プロビジョニングされ、Azure デプロイ環境にデプロイされます。 ただし、コマンドの azd up プロビジョニング ステージでは、リモート デベロッパー センターでキュレーションされたコードとしてのインフラストラクチャ テンプレートが使用され、デプロイ ステージではテンプレートに azd ソース コードがデプロイされます。 デベロッパー センター モードが有効になっている間、azdローカル azd テンプレート内のinfraフォルダーは無視され、デベロッパー センター テンプレートを使用してリソースのみがプロビジョニングされます。 このコマンドでは、Azure Deployment Environment プロジェクトや環境の種類など、必要な値の入力も求められます。

azd up

azd template list

この azd template list コマンドは、既定の AZD Awesome ギャラリーのテンプレートを表示するのではなく、デベロッパー センター カタログで使用可能なインフラストラクチャ テンプレートを表示します。 カタログには 、開発チームが環境の作成に使用できる一連のキュレーションされた承認済みのコードとしてのインフラストラクチャ テンプレートが用意されています。

azd template list

A screenshot showing the updated template gallery.

azd provision

この azd provision コマンドを実行すると、新しいデベロッパー センター環境が作成されます。 このコマンドを実行すると、環境の種類やプロジェクトなど、不足している値を入力するように求められます。 コマンドを実行すると、関連付けられているインフラストラクチャ テンプレートを使用して、その環境に適した Azure リソースのセットがプロビジョニングされます。 デベロッパー センター モードが有効になっている間、azdローカル azd テンプレート内のinfraフォルダーは無視され、デベロッパー センター テンプレートを使用してリソースのみがプロビジョニングされます。

azd provision

azd env list

この azd env list コマンドは、開発者ポータルに表示される環境の同じ一覧を表示します。

azd env list

Azure デプロイ環境のリソースのタグ付け

azd Azure Deployment Environment のプロビジョニングは、デベロッパー センター カタログからキュレーションされたテンプレートに依存します。 カタログ内のテンプレートは、アプリ サービス azure.yaml をファイルに関連付けるために、プロビジョニングされた Azure リソースにタグを割り当てる場合と割り当てない場合があります。 テンプレートでタグが割り当てられない場合は、次の 2 つの方法のいずれかでこの問題に対処できます。

  • デベロッパー センター カタログ管理者と協力して、プロビジョニングされた Azure リソースに、ファイルで定義されているサービスに関連付けるタグが含まれるようにします azure.yaml

  • タグを resoureName 使用する代わりに、ファイル内 azure.yaml を指定します。

    services:
        api:
            project: ./src/api
            host: containerapp
            language: js
            resourceName: sample-api-containerapp
        web:
            project: ./src/web
            host: containerapp
            language: js
            resourceName: sample-web-containerapp
    

デベロッパー センターの設定を構成する

デベロッパー センターの設定は複数の場所で定義 azd できます。 これらの場所から設定を組み合わせて、次の優先順位で構成の最終的なセットを作成します。

  1. 環境変数
  2. Azd 環境の構成
  3. プロジェクトの構成
  4. ユーザー構成

azd では、これらのソースに不足している構成値の入力が自動的に求められます。 これらの各構成オプションについては、次のセクションで詳しく説明します。

環境変数

次の環境変数が検出され、使用 azdされます。

  • AZURE_DEVCENTER_NAME
  • AZURE_DEVCENTER_PROJECT
  • AZURE_DEVCENTER_CATALOG
  • AZURE_DEVCENTER_ENVIRONMENT_DEFINITION
  • AZURE_DEVCENTER_ENVIRONMENT_TYPE
  • AZURE_DEVCENTER_ENVIRONMENT_UStandard Edition R

構成の定義

ファイル内の環境スコープ.azure/<env>/config.jsonでデベロッパー センターの構成をazd定義します。

{
    "platform": {
        "config": {
            "catalog": "SampleCatalog",
            "environmentDefinition": "Todo",
            "environmentType": "Dev",
            "name": "sample-devcenter",
            "Project": "SampleProject"
        }
    }
}

プロジェクト スコープ

ファイルのノードのプロジェクト スコープでazdデベロッパー センターの構成をplatformazure.yaml定義します。

name: todo-nodejs-mongo-aca
metadata:
    template: todo-nodejs-mongo-aca@0.0.1-beta
platform:
    type: devcenter
    config:
        catalog: SampleCatalog
        environmentDefinition: Todo
        name: sample-devcenter
        project: SampleProject
services:
    api:
        project: ./src/api
        host: containerapp
        language: js
    web:
        project: ./src/web
        host: containerapp
        language: js

ユーザー スコープ

ファイル内のユーザー スコープでデベロッパー センターの構成を ~/<user_profile>/.azd/config.json 定義します。

{
    "platform": {
        "config": {
            "catalog": "SampleCatalog",
            "environmentDefinition": "Todo",
            "environmentType": "Dev",
            "name": "sample-devcenter",
            "Project": "SampleProject"
        }
    }
}