Azure 랜딩 존 - Bicep 모듈 디자인 고려 사항
이 문서에서는 CAF(클라우드 채택 프레임워크)에 설명된 대로 Azure 랜딩 존 개념 아키텍처의 핵심 플랫폼 기능을 배포하고 관리하는 데 사용할 수 있는 모듈화된 ALZ(Azure 랜딩 존) - Bicep 솔루션의 디자인 고려 사항에 대해 설명합니다.
Bicep은 선언적 구문을 사용하여 Azure 리소스를 배포하는 DSL(도메인 특정 언어)입니다. 간결한 구문, 신뢰할 수 있는 형식 안전성 및 코드 다시 사용에 대한 지원을 제공합니다.
이 아키텍처의 구현은 GitHub: ALZ(Azure 랜딩 존) - Bicep 구현에서 사용할 수 있습니다. 이를 시작점으로 사용하고 필요에 따라 구성할 수 있습니다.
참고
포털 기반, ARM 템플릿 및 Terraform 모듈을 비롯한 여러 배포 기술에 대한 구현이 있습니다. 배포 기술의 선택은 결과 Azure 랜딩 존 배포에 영향을 미치지 않아야 합니다.
ALZ Bicep Accelerator
ALZ Bicep Accelerator를 사용하여 ALZ Bicep 모듈을 구현, 자동화 및 유지 관리하는 방법에 대한 단계별 지침을 찾을 수 있습니다.
ALZ Bicep Accelerator 프레임워크는 본격적인 CI/CD 파이프라인을 사용하여 ALZ Bicep의 온보딩 및 배포에 대한 최종 사용자 지원, GitHub Actions 및 Azure DevOps 파이프라인 지원, 새 ALZ Bicep 릴리스와 동기화 상태를 유지하고 사용자 지정 모듈을 수정하거나 추가하는 전용 프레임워크를 제공하고, Bicep 모듈의 린팅 및 유효성 검사를 위한 분기 전략 지침 및 끌어오기 요청 파이프라인을 제공하도록 개발되었습니다.
디자인
아키텍처는 Azure Bicep의 모듈 특성을 활용하며 모듈 수로 구성됩니다. 각 모듈은 Azure 랜딩 존 개념 아키텍처의 주요 기능을 캡슐화합니다. 모듈은 개별적으로 배포할 수 있지만 알아야 할 종속성이 있습니다.
아키텍처는 배포 환경을 간소화하기 위해 오케스트레이터 모듈을 포함할 것을 제안합니다. 오케스트레이터 모듈을 사용하여 모듈의 배포를 자동화하고 다양한 배포 토폴로지를 캡슐화할 수 있습니다.
모듈
Bicep의 핵심 개념은 모듈을 사용하는 것입니다. 모듈을 사용하면 배포를 논리적 그룹화로 구성할 수 있습니다. 모듈을 사용하면 배포의 복잡한 세부 정보를 캡슐화하여 Bicep 파일의 가독성을 높일 수 있습니다. 다른 배포에 모듈을 쉽게 다시 사용할 수도 있습니다.
모듈을 다시 사용하는 기능은 랜딩 존을 정의하고 배포할 때 실질적인 혜택을 제공합니다. 이를 통해 코드에서 반복 가능하고 일관된 환경을 구현하면서 대규모로 배포하는 데 필요한 노력을 줄일 수 있습니다.
계층 및 스테이징
모듈 외에도 Bicep 랜딩 존 아키텍처는 계층 개념을 사용하여 구조화됩니다. 계층은 함께 배포할 Bicep 모듈 그룹입니다. 이러한 그룹은 구현의 논리적 단계를 형성합니다.
이 계층화된 방법의 이점은 시간이 지남에 따라 환경에 증분 방식으로 추가할 수 있다는 것입니다. 예를 들어 적은 수의 계층으로 시작할 수 있습니다. 준비가 되면 후속 단계에서 나머지 계층을 추가할 수 있습니다.
모듈 설명
이 섹션에서는 이 아키텍처의 핵심 모듈에 대한 개략적인 개요를 제공합니다.
계층 | 모듈 | 설명 | 유용한 링크 |
---|---|---|---|
핵심 | 관리 그룹 | 관리 그룹은 Azure 테넌트에서 가장 높은 수준의 리소스입니다. 관리 그룹을 사용하면 리소스를 더욱 쉽게 관리할 수 있습니다. 관리 그룹 수준에서 정책을 적용할 수 있으며 하위 수준 리소스는 해당 정책을 상속합니다. 특히 관리 그룹의 구독이 상속할 관리 그룹 수준의 다음 항목을 적용할 수 있습니다.
이 모듈은 Azure 랜딩 존 개념 아키텍처에 정의된 대로 관리 그룹 계층 구조를 배포합니다. |
|
핵심 | 사용자 지정 정책 정의 | DeployIfNotExists(DINE) 또는 정책 수정은 랜딩 존을 구성하는 구독 및 리소스가 규정을 준수하도록 하는 데 도움이 됩니다. 이 정책은 랜딩 존 관리의 부담을 덜어줍니다. 이 모듈에서는 관리 그룹에 사용자 지정 정책 정의를 배포합니다. 모든 고객이 DINE 또는 정책 수정을 사용할 수 있는 것은 아닙니다. 이 경우 사용자 지정 정책에 대한 CAF 참고 자료가 참고 자료를 제공합니다. |
|
핵심 | 사용자 지정 역할 정의 | RBAC(역할 기반 액세스 제어)는 시스템 내에서 사용자 권한의 관리를 간소화합니다. 개인의 권리를 관리하는 대신 시스템의 다양한 역할에 필요한 권한을 결정합니다. Azure RBAC에는 몇 가지 기본 제공 역할이 있습니다. 사용자 지정 역할 정의를 사용하면 사용자 환경에 대한 사용자 지정 역할을 만들 수 있습니다. 이 모듈에서는 사용자 지정 역할 정의를 배포합니다. 모듈은 Azure 역할 기반 액세스 제어에 대한 CAF 지침을 따라야 합니다. |
|
관리 | 로깅, 자동화 및 Sentinel | Azure Monitor, Azure Automation 및 Microsoft Sentinel을 사용하면 인프라 및 워크로드를 모니터링하고 관리할 수 있습니다. Azure Monitor는 사용자 환경에서 원격 분석을 수집, 분석 및 수행할 수 있는 솔루션입니다. Microsoft Sentinel은 클라우드 네이티브 SIEM(보안 정보 및 이벤트 관리)입니다. 다음을 수행할 수 있습니다.
Azure Automation은 클라우드 기반 자동화 시스템입니다. 다음을 포함합니다.
이 모듈은 환경에 대한 위협을 모니터링, 관리 및 평가하는 데 필요한 도구를 배포합니다. 이러한 도구에는 Azure Monitor, Azure Automation 및 Microsoft Sentinel이 포함되어야 합니다. |
|
연결 | 네트워킹 | 네트워크 토폴로지는 Azure 랜딩 존 배포의 주요 고려 사항입니다. CAF는 다음 두 가지 핵심 네트워킹 접근 방식에 중점을 둡니다.
이러한 모듈은 선택한 네트워크 토폴로지를 배포합니다. |
|
ID | 역할 할당 | IAM(ID 및 액세스 관리)은 클라우드 컴퓨팅의 주요 보안 경계입니다. Azure RBAC를 사용하면 기본 제공 역할 또는 사용자 지정 역할 정의의 역할 할당을 보안 주체에 수행할 수 있습니다. 이 모듈에서는 관리 그룹 및 구독에서 서비스 주체, 관리 ID 또는 보안 그룹에 역할 할당을 배포합니다. 모듈은 Azure ID 및 액세스 관리에 대한 CAF 지침을 따라야 합니다. |
|
핵심 | 구독 배치 | 관리 그룹에 할당된 구독은 다음을 상속합니다.
이 모듈은 적절한 관리 그룹 아래에 구독을 이동합니다. |
|
핵심 | 기본 제공 및 사용자 지정 정책 할당 | 이 모듈에서는 관리 그룹에 기본 Azure 랜딩 존 Azure Policy 할당을 배포합니다. 또한 정책에서 만든 시스템 할당 관리 ID에 대한 역할 할당을 만듭니다. | |
관리 | 오케스트레이터 모듈 | 오케스트레이터 모듈은 배포 환경을 크게 향상시킬 수 있습니다. 이러한 모듈은 단일 모듈에서 여러 모듈의 배포를 캡슐화합니다. 이렇게 하면 최종 사용자의 복잡성이 숨겨지게 됩니다. |
Bicep 구현 사용자 지정
클라우드 채택 프레임워크의 일부로 제공되는 Azure 랜딩 존 구현은 다양한 요구 사항 및 사용 사례에 적합합니다. 그러나 특정 비즈니스 요구 사항을 충족하기 위해 사용자 지정이 필요한 경우가 많습니다.
팁
자세한 내용은 요구 사항을 충족하도록 Azure 랜딩 존 아키텍처 조정을 참조하세요.
플랫폼 랜딩 존이 구현되고 나면, 다음 단계는 landing zones
관리 그룹의 애플리케이션 팀이 Central IT 또는 PlatformOps 관리자에게 필요한 가드레일을 사용할 수 있도록 지원하는 애플리케이션 랜딩 존을 배포하는 것입니다. corp
관리 그룹은 회사 연결 애플리케이션을 위한 것이지만 online
관리 그룹은 주로 공개적으로 연결되어 있지만 일부 시나리오에서는 허브 네트워크를 통해 회사 애플리케이션에 연결할 수 있는 애플리케이션을 위한 것입니다.
Bicep Azure 랜딩 존 구현은 사용자 지정된 배포의 기초로 사용할 수 있습니다. 기존 옵션을 배제하는 특정 필수 변경 사항 때문에 처음부터 시작할 필요가 없으므로 구현을 가속화할 수 있는 방법을 제공합니다.
모듈 사용자 지정에 대한 정보는 GitHub 리포지토리 Wiki인 GitHub: ALZ(Azure 랜딩 존) Bicep - Wiki - 소비자 가이드에서 확인할 수 있습니다. 이를 시작점으로 사용하고 필요에 따라 구성할 수 있습니다.