Azure 배포 환경에 대한 Azure 개발자 CLI 지원
Azure 개발자 CLI(azd)는 Azure 배포 환경지원합니다. ADE(Azure 배포 환경)는 미리 정의된 구독에 배포된 Azure 리소스의 미리 구성된 컬렉션입니다. Azure 거버넌스는 샌드박스, 테스트, 스테이징 또는 프로덕션과 같은 환경 유형에 따라 해당 구독에 적용됩니다. Azure 배포 환경을 사용하면 엔터프라이즈 보안 정책을 적용하고 IaC(미리 정의된 인프라) 템플릿으로 큐레이팅된 집합을 제공할 수 있습니다.
필수 구성 요소
azd
사용하여 Azure 배포 환경에서 작업하기 위해 다음 필수 조건을 완료했는지 확인합니다.
설치된
로컬로 Cloud Shell을 통해 액세스할 수 있음 개발 센터, 프로젝트 및 템플릿 카탈로그를 사용하여 Azure 배포 환경 만들고 구성했습니다.
개발 센터 수준 및 프로젝트 수준에서 구성된 환경 유형
개발자가 프로젝트에 대한 배포 환경 사용자 역할을 가지고 있는지 확인합니다.
팁
Azure 배포 환경에 대한 주요 개념을 이해하는 것은
azd
통해 작업하는 데 필수적입니다.
Azure 배포 환경 지원 사용
azd up
또는 azd provision
같은 표준 명령을 사용하여 배포 환경에 리소스를 프로비전하고 배포하도록 azd
구성할 수 있습니다. Azure 배포 환경에 대한 지원을 사용하도록 설정하려면 다음 명령을 실행합니다.
azd config set platform.type devcenter
platform.type
devcenter
설정되면 모든 azd
원격 환경 상태 및 프로비저닝이 새 개발자 센터 구성 요소를 활용합니다. 또한 이 구성은 로컬 템플릿의 infra
폴더가 효과적으로 무시됨을 의미합니다. 대신 azd
리소스 프로비저닝을 위해 개발자 센터 카탈로그에 정의된 인프라 템플릿 중 하나를 사용합니다.
다음 명령을 통해 개발자 센터 지원을 사용하지 않도록 설정할 수도 있습니다.
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 배포 환경 프로젝트 또는 환경 유형과 같은 필요한 값을 묻는 메시지를 표시합니다.
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 배포 환경에 대한 azd
프로비저닝은 개발자 센터 카탈로그의 큐레이팅된 템플릿에 의존합니다. 카탈로그의 템플릿은 앱 서비스를 azure.yaml
파일에 연결할 수 있도록 프로비전된 Azure 리소스에 태그를 할당하거나 할당하지 않을 수 있습니다. 템플릿에서 태그를 할당하지 않는 경우 다음 두 가지 방법 중 하나로 이 문제를 해결할 수 있습니다.
개발자 센터 카탈로그 관리자와 협력하여 프로비전된 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"
}
}
}