Azure Developer CLI (azd) は、開発、テスト、prod などの独自の構成で 環境 を作成および管理するのに役立ちます。この記事では、環境を作成および管理する方法と、Bicep インフラストラクチャ ファイルで環境を使用する方法について説明します。
環境を作成する
azd env new コマンドを使用して新しい環境を作成します。
azd env new <environment-name>
たとえば、開発環境を作成するには、次のようにします。
azd env new dev
azd upやazd deployなどのコマンドを実行すると、azd、新しい環境の Azure サブスクリプションと場所を選択するように求められます。 プロンプト設定は、新しい環境 .env または config.json ファイルに格納されます。
コマンドでサブスクリプションと場所を直接指定することもできます。
azd env new prod --subscription "My Production Subscription" --location eastus2
環境の一覧表示
プロジェクトで使用可能なすべての環境を表示するには、次を使用します。
azd env list
このコマンドを実行すると、作成したすべての環境が表示され、現在アクティブな環境が強調表示されます。
NAME DEFAULT LOCAL REMOTE
dev true true false
test false true false
prod false true false
環境を切り替える
別の環境に切り替えるには、 azd env select コマンドを使用します。
azd env select <environment-name>
たとえば、運用環境に切り替えるには、次のようにします。
azd env select prod
注
このコマンドはアクティブな環境を変更します。これは、provisionやdeployなどの後続のazdコマンドに影響します。
既定の環境を理解する
グローバル構成ファイル .azure/config.json は、現在選択されている環境を追跡します。
azd initを実行し、まだ環境が存在しない場合は、azd自動的に最初の環境が作成され、既定として設定されます。 既に 1 つ以上の環境があり、 azd env new <name>を実行している場合は、 azd 新しい環境を既定にするかどうかを選択するように求められます。 拒否すると、新しい環境が作成されますが、現在の選択内容は変更されません。
--environment フラグを使用して、1 つのコマンドの既定の環境を一時的にオーバーライドできます。 このフラグを使用しても、今後のコマンドの既定値は変更されません。
環境設定を更新する
azd env refresh コマンドを使用して、ローカル環境変数を更新できます。 このコマンドは、アプリの最新の Azure デプロイを検索し、環境変数の値を名前で取得してから、選択環境の最新の値でローカル .env ファイルを更新します。 たとえば、 dev バージョンと prod バージョンの両方をプロビジョニングし、現在 dev 環境を選択している場合、そのデプロイから最新の出力を取得して .env ファイルを設定します。
azd env refresh
注
azd env refresh コマンドはリソースを再デプロイしません。 Azure の現在の状態と一致するようにローカル環境の構成のみが更新されます。
環境の更新は、次の場合に役立ちます。
- ローカル
.envファイルに、インフラストラクチャからの最新の出力 (接続文字列、エンドポイントなど) が反映されるようにする必要があります。 - チームメイトが環境を更新した後、環境変数を同期する必要があります。
他のチーム メンバーが環境の構成に変更を加えた場合、または Azure portal で変更を行った場合は、次の方法でローカル環境設定を更新できます。
特定の環境でコマンドを実行する
--environmentまたは-e フラグを使用して、アクティブな環境を変更することなく、特定の環境で多数のazd コマンドを実行できます。
azd up --environment dev
このコマンドは、アクティブな環境を変更せずに、dev環境でup ワークフロー (プロビジョニングとデプロイ) を実行します。
または、最初に目的の環境に切り替えることもできます。
azd env select test
azd up
注
チームは、azd upやazd provisionなどのコマンドを使用して直接デプロイするのではなく、azd pipeline config コマンドを使用して CICD パイプラインを使用することを検討する必要があります。
環境リソースを削除する
azd down コマンドを使用して、特定の環境の Azure リソースを削除するには:
azd down <environment-name>
注
現在、コマンドを使用して環境 azd 直接削除または名前変更することはできません。 環境の名前を変更する必要がある場合:
-
azd downを使用して環境リソースを削除します。 -
azd env new <new-name>を実行して新しい環境を作成します。 -
.azureから古い.envフォルダーを手動で削除します。
インフラストラクチャ ファイルで環境名を使用する
環境の.env ファイルのAZURE_ENV_NAME変数を使用して、Bicep でのインフラストラクチャのデプロイをカスタマイズできます。 これは、現在の環境に基づいてリソースの名前付け、タグ付け、または構成を行う場合に便利です。
注
環境変数を使用して Azure Developer CLI プロジェクトを構成する方法の詳細については、「 環境変数の操作 」を参照してください。
azdは、プロジェクトを初期化するときにAZURE_ENV_NAME環境変数を設定します。AZURE_ENV_NAME=devmain.parameters.jsonファイルで環境変数を参照し、その値azd置き換えます。{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "environmentName": { "value": "${AZURE_ENV_NAME}" } } }azdを使用してデプロイすると、.envの値がmain.parameters.jsonから Bicep ファイルに渡されます。Bicep テンプレートで、環境名のパラメーターを定義します。
param environmentName stringenvironmentNameパラメーターを使用してリソースにタグを付けることができるため、リソースがどの環境に属するかを簡単に識別できます。param environmentName string resource storageAccount 'Microsoft.Storage/storageAccounts@2022-09-01' = { name: 'mystorage${uniqueString(resourceGroup().id)}' location: resourceGroup().location sku: { name: 'Standard_LRS' } kind: 'StorageV2' tags: { Environment: environmentName Project: 'myproject' } }
この方法は、各リソースをデプロイ環境に関連付けることで、リソース管理、コスト追跡、自動化に役立ちます。