次の方法で共有


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

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

前提 条件

azdを使用して Azure デプロイ環境を操作するための次の前提条件が満たされていることを確認します。

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

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

azd config set platform.type devcenter

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

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

azd config unset platform

Azure デプロイ環境の操作

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

azd init

デベロッパー センター モードの azd init コマンド エクスペリエンスには、構成済みのカタログから選択するための azd 互換 ADE テンプレートがすべて表示されます。 init プロセス中に、テンプレート コードを複製 azd 後、azure.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

更新されたテンプレート ギャラリーを示すスクリーンショット。

azd provision

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

azd provision

azd env list

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

azd env list

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

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

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

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

    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_USER

構成の定義

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

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

プロジェクト スコープ

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

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"
        }
    }
}