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