Azure デプロイ環境に対する Azure Developer CLI のサポート
Azure Developer CLI (azd) は、Azure Deployment Environmentのサポートを提供します。 Azure Deployment Environment (ADE) は、定義済みのサブスクリプションにデプロイされた Azure リソースの事前構成済みコレクションです。 Azure ガバナンスは、サンドボックス、テスト、ステージング、運用などの環境の種類に基づいて、これらのサブスクリプションに適用されます。 Azure Deployment Environment を使用すると、エンタープライズ セキュリティ ポリシーを適用し、コードとしての定義済みインフラストラクチャ (IaC) テンプレートのキュレーションされたセットを提供できます。
前提 条件
azd
を使用して Azure デプロイ環境を操作するための次の前提条件が満たされていることを確認します。
インストール済み
azd
ローカルに するか、Cloud Shell 経由でazd
にアクセスできますデベロッパー センター、プロジェクト、テンプレート カタログを使用して Azure Deployment Environment を作成して構成しました
デベロッパー センター レベルとプロジェクト レベルで 構成済みの環境の種類
開発者がプロジェクトに配置環境ユーザー ロールを持っていることを確認する
先端
Azure デプロイ環境に関する 重要な概念を理解することは、
azd
を介してそれらを操作するために不可欠です。
Azure デプロイ環境のサポートを有効にする
azd up
や azd provision
などの標準コマンドを使用して、デプロイ環境にリソースをプロビジョニングしてデプロイするように azd
を構成できます。 Azure デプロイ環境のサポートを有効にするには、次のコマンドを実行します。
azd config set platform.type devcenter
platform.type
を devcenter
に設定すると、すべての 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
設定は、複数の場所で定義できます。 これらの場所から設定を組み合わせて、次の優先順位で構成の最終的なセットを作成します。
- 環境変数
- Azd 環境の構成
- プロジェクトの構成
- ユーザー構成
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"
}
}
}