환경 변수 관리
환경 변수는 리소스를 프로비전하고 Azure에 배포하는 방법에 영향을 줍니다. 이는 CI/CD 워크플로 시나리오에서 azd를 실행할 때 특히 유용합니다.
입력 매개 변수 대체
환경 변수는 프로비전의 일부로 매개 변수 파일(*.parameters.json
Bicep, *.tfvars.json
Terraform의 경우)에서 참조할 수 있습니다. 환경 변수 대체 구문이 발견 azd
되면 참조를 실제 환경 변수 값 집합으로 자동으로 대체합니다. 대체는 특정 구성 설정 azure.yaml
('지원 환경 변수 대체'로 문서화된 속성) 및 배포 구성 파일(예: 에 대한 aks
배포 매니페스트)에서도 발생합니다.
입력 매개 변수 대체 예제(Bicep)
환경 변수 AZURE_LOCATION
가 설정되어 있다고 가정합니다.
export AZURE_LOCATION=westus3
$env:AZURE_LOCATION='westus3'
main.parameters.json
파일에서 다음 구문을 사용하여 환경 대체를 참조 AZURE_LOCATION
하고 허용할 수 있습니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"value": "${AZURE_LOCATION}"
}
}
}
환경별 .env
파일
인프라 프로비저닝에 대한 출력은 아래에 있는 .azure/<environment name>/.env
파일에 환경 변수 .env
로 자동으로 저장됩니다. 이 설정을 사용하면 로컬 애플리케이션 또는 배포 스크립트가 .env
필요한 경우 파일에 저장된 변수를 사용하여 Azure 호스팅 리소스를 참조할 수 있습니다. 이러한 출력을 보려면 JSON 출력을 실행하거나 azd env get-values --output json
실행azd env get-values
합니다.
제공된 환경 변수 azd
다음은 자동으로 제공되는 azd
변수입니다.
속성 | 설명 | 예제 | 사용 가능한 경우 |
---|---|---|---|
AZURE_ENV_NAME |
사용 중인 환경의 이름입니다. | todo-app-dev |
환경이 만들어질 때(예를 들어 azd init 또는 azd env new를 실행한 후) |
AZURE_LOCATION |
사용 중인 환경의 위치입니다. | eastus2 |
환경이 처음으로 프로비전되기 바로 전에. |
AZURE_PRINCIPAL_ID |
실행 중인 사용자/서비스 주체입니다. | 925cff12-ffff-4e9f-9580-8c06239dcaa4 |
프로비전 중에 자동으로 결정됩니다(임시). |
AZURE_SUBSCRIPTION_ID |
대상 구독입니다. | 925cff12-ffff-4e9f-9580-8c06239dcaa4 |
환경이 처음으로 프로비전되기 바로 전에. |
SERVICE_<service>_IMAGE_NAME |
컨테이너 앱 서비스용 Azure Container Registry에 게시된 컨테이너 이미지의 전체 이름입니다. | todoapp/web-dev:azdev-deploy-1664988805 |
이미지를 성공적으로 게시한 containerapp 후 |
사용자가 제공한 환경 변수
사용자가 제공한 변수는 파일에서 인프라 출력 매개 변수(자동으로 저장 .env
됨) main.bicep
로 선언하거나 환경(azd env set <key> <value>
)의 사용자가 직접 설정할 수 있습니다. azd
는 값을 구성으로 읽고 다르게 수행합니다.
속성 | 설명 | 예제 | 효과 |
---|---|---|---|
AZURE_AKS_CLUSTER_NAME |
대상으로 지정할 Azure Kubernetes Service 클러스터의 이름입니다. | aks-my-cluster |
서비스 배포에 필요한 속성입니다 aks . |
AZURE_RESOURCE_GROUP |
대상으로 지정할 특정 리소스 그룹입니다. 문자열을 입력합니다. | rg-todo-dev |
azd 는 리소스 그룹 검색을 수행하지 않고 대신 이 리소스 그룹을 참조합니다. azd 또한 작성된 IaC 구성 파일을 제어하지 않으므로 IaC 파일의 변경이 필요할 수 있습니다. |
AZURE_CONTAINER_REGISTRY_ENDPOINT |
Docker 이미지를 게시할 Azure Container Registry 엔드포인트입니다. 문자열을 입력합니다. | myexampleacr.azurecr.io |
서비스 배포 aks 에 필요한 속성입니다containerapp . |
SERVICE_<service>_ENDPOINTS |
특정 서비스에 대한 엔드포인트입니다. 형식 array (bicep) / list-equivalent (terraform). |
['endpoint1', 'endpoint2'] |
azd에서 표시할 특정 서비스에 대한 퍼블릭 엔드포인트를 설정합니다. 기본적으로 azd는 지정된 호스트에 대해 자동으로 할당된 호스트 이름(예: *.azurewebsites.net appservice )을 검색합니다. |
데모 모드 사용
azd
에는 콘솔 출력에서 구독 ID를 숨기는 데모 모드가 포함되어 있습니다. 이 기능은 공용 설정에서 명령을 데모하거나 표시 azd
하려는 시나리오에 유용합니다.
데모 모드에서는 환경 변수 AZD_DEMO_MODE
를 소개합니다. 데모 모드를 사용하도록 설정하려면 다음을 실행합니다.
export AZD_DEMO_MODE true
다시 부팅 시 데모 모드를 유지하려면 다음을 실행할 수도 있습니다.
setx AZD_DEMO_MODE true
또는 PowerShell에서 다음을 수행합니다.
$env:AZD_DEMO_MODE="true"