Share via


Azure Deployment Environments의 주요 개념

이 문서에서는 Azure Deployment Environments의 주요 개념 및 구성 요소에 대해 알아봅니다. 이 지식은 시나리오에 대한 환경을 더 효과적으로 배포하는 데 도움이 됩니다.

배포 환경에 대해 알아보면 특정 아키텍처 구성 요소를 공유하는 보완 서비스인 Microsoft Dev Box 구성 요소도 확인하게 됩니다. Dev Box는 개발자에게 작업에 필요한 도구로 구성된 개발 상자라는 클라우드 기반 개발 워크스테이션을 제공합니다.

이 다이어그램은 배포 환경의 주요 구성 요소와 배포 환경이 서로 어떻게 관련되어 있는지를 보여 줍니다. 이어지는 섹션에서 각 구성 요소에 대해 자세히 알아볼 수 있습니다.

배포 환경의 주요 구성 요소를 보여 주는 다이어그램.

개발자 센터

개발자 센터는 유사한 설정이 필요한 프로젝트의 컬렉션입니다. 개발자 센터에서 플랫폼 엔지니어는 다음을 수행할 수 있습니다.

  • 카탈로그를 사용하여 프로젝트에서 사용할 수 있는 IaC(Infrastructure as Code) 템플릿을 관리합니다.
  • 환경 유형을 사용하여 개발 팀이 만들 수 있는 환경 유형을 구성합니다.

Microsoft Dev Box도 개발 센터를 사용하여 리소스를 구성합니다. 조직은 두 서비스에 모두에 대해 동일한 개발자 센터를 사용할 수 있습니다.

프로젝트

Deployment Environments에서 프로젝트는 조직 내의 팀 또는 비즈니스 기능을 나타냅니다. 프로젝트를 개발자 센터와 연결하면 개발자 센터에 대한 모든 설정이 프로젝트에 자동으로 적용됩니다.

각 프로젝트는 하나의 개발자 센터와만 연결할 수 있습니다. 플랫폼 엔지니어는 개발 팀에 적합한 환경 유형을 지정하여 프로젝트에 대한 환경을 구성할 수 있습니다.

개발자가 고유한 배포 환경을 만들 수 있도록 하려면 Deployment Environments 사용자 역할을 할당하여 개발자가 프로젝트에 액세스할 수 있도록 해야 합니다.

동일한 개발 센터에서 Deployment Environments에 대한 프로젝트와 Microsoft Dev Box 리소스에 대한 프로젝트를 구성할 수 있습니다.

환경

환경은 애플리케이션이 배포되는 Azure 리소스의 컬렉션입니다. 예를 들어 웹 애플리케이션을 배포하려면 Azure App Service, Azure Key Vault, Azure Cosmos DB스토리지 계정으로 구성된 환경을 만들 수 있습니다. 환경은 Azure PaaS(Platform as a Service) 및 IaaS(Infrastructure as a Service) 리소스(예: AKS(Azure Kubernetes Service) 클러스터, 가상 머신 및 데이터베이스)로 구성됩니다.

ID

Azure Deployment Environments에서 관리 ID를 사용하여 권한 상승 기능을 제공합니다. ID는 Azure 리소스가 만들어지는 대상 구독에 대한 액세스 권한을 부여하지 않고 개발 팀에 셀프 서비스 기능을 제공하는 데 도움이 될 수 있습니다.

개발자 센터에 연결된 관리 ID에는 카탈로그에 연결하기 위한 적절한 액세스 권한이 부여되어야 합니다. 프로젝트 수준에서 구성된 대상 배포 구독에 대한 Contributor 및 사용자 액세스 관리자 권한을 부여해야 합니다. Azure Deployment Environments 서비스는 특정 관리 ID를 사용하여 개발자를 대신해 배포를 수행합니다.

개발자 센터 환경 유형

개발 팀이 만들 수 있는 환경 유형(예: 개발, 테스트, 샌드박스, 사전 프로덕션 또는 프로덕션)을 정의할 수 있습니다. Azure Deployment Environments는 엔터프라이즈에서 사용하는 명칭에 따라 환경 유형의 이름을 유연하게 지정할 수 있습니다. 개발 팀의 특정 요구 사항에 따라 다양한 환경 유형에 대한 설정을 구성할 수 있습니다.

프로젝트 환경 유형

프로젝트 환경 유형은 개발자 센터에 대해 구성하는 환경 유형의 하위 집합입니다. 특정 개발 팀이 만들 수 있는 환경 유형을 미리 구성하는 데 도움이 됩니다. 프로젝트 및 환경 유형별로 Azure 리소스를 만드는 대상 구독을 구성할 수 있습니다.

프로젝트 환경 유형을 사용하면 환경에 올바른 정책 집합을 자동으로 적용하고 개발 팀의 Azure 거버넌스 관련 개념을 추상화할 수 있습니다. 또한 서비스는 다음을 미리 구성할 수 있는 유연성을 제공합니다.

  • 배포를 수행하는 데 사용되는 관리 ID입니다.
  • 특정 환경을 만든 후 개발 팀에 부여되는 액세스 수준.

카탈로그

카탈로그를 사용하면 개발 팀이 환경을 만들 수 있도록 큐레이팅된 IaC 템플릿 세트를 제공할 수 있습니다. Microsoft는 샘플 환경 정의 집합이 포함된 빠른 시작 카탈로그를 제공합니다. 빠른 시작 카탈로그를 개발자 센터에 연결하여 개발자 센터와 연결된 모든 프로젝트에서 이러한 환경 정의를 사용할 수 있도록 할 수 있습니다. 필요에 맞게 샘플 환경 정의를 수정할 수 있습니다.

또는 자신의 카탈로그를 연결할 수 있습니다. GitHub 리포지토리 또는 Azure DevOps Services 리포지토리를 카탈로그로 연결할 수 있습니다.

배포 환경은 리포지토리의 지정된 폴더를 검사하여 환경 정의를 찾습니다. 그런 다음, 환경은 개발자 센터와 연결된 모든 프로젝트에서 해당 환경 정의를 사용할 수 있도록 합니다.

환경 정의

환경 정의는 IaC 템플릿과 매니페스트 역할을 하는 환경 파일의 조합입니다. 템플릿은 환경을 정의하고 환경 파일은 템플릿에 대한 메타데이터를 제공합니다. 개발 팀은 카탈로그에서 제공하는 항목을 사용하여 Azure에서 환경을 만듭니다.

기본 제공 역할

Azure Deployment Environments는 세 가지 기본 제공 역할을 지원합니다.

  • 개발자 센터 프로젝트 관리자: 환경을 만들고 프로젝트의 환경 유형을 관리합니다.
  • Deployment Environments 사용자: 적절한 액세스 권한에 따라 환경을 만듭니다.
  • Deployment Environments 읽기 권한자: 다른 사용자가 만든 환경을 읽습니다.

Microsoft Dev Box와 공유되는 리소스

Azure Deployment Environments 및 Microsoft Dev Box는 특정 아키텍처 구성 요소를 공유하는 보완 서비스입니다. 개발자 센터와 프로젝트는 두 서비스 모두에 공통적이며 엔터프라이즈에서 리소스를 구성하는 데 도움이 됩니다. 동일한 개발 센터에서 Deployment Environments에 대한 프로젝트와 Dev Box 리소스에 대한 프로젝트를 구성할 수 있습니다.

Deployment Environments 및 Dev Box에 공통적인 구성 요소에 대한 자세한 내용은 Microsoft Dev Box 및 Azure Deployment Environments의 공통 구성 요소를 참조하세요.