이 페이지는 Azure 기본 사항 파트 1부 핵심 Azure 개념에 관해 설명을 공유하기 위해 작성되었다.
1. Azure 지역(Region), 가용성 영역과 지역 쌍
- Azure는 전 세계에 위치한 데이터 센터로 구성
- SQL 데이터베이스 또는 VM(가상 머신) 같은 서비스를 사용하거나 리소스를 만들 때 이러한 데이터 센터 중 하나 이상에 위치한 물리적 장비를 사용
- 일부 지역에서는 해당 지역 내의 여러 Azure 데이터 센터인 가용성 영역을 제공
1) Azure 지역(Region)
- Azure 지역 : 가깝고 짧은 대기시간의 네트워크를 통해 연결된 하나 이상의 데이터 센터를 포함하고 있는(여러 개 포함 가능) 지리적 영역을 의미
- 각 Azure 지역의 리소스를 지능적으로 할당하고 제어하여 워크로드의 적절한 균형을 유지
- Azure 리소스 배포시 배포할 지역을 선택해야하는 경우가 있음
중요
일부 서비스 또는 VM 기능(예: 특정 VM 크기 또는 스토리지 형식)은 특정 지역에서만 사용 가능
Azure Active Directory, Azure Traffic Manager, Azure DNS : 특정 Azure 지역을 선택할 필요가 없는 글로벌 Azure 서비스
- 사용 가능한 Azure 지역(2020년 6월 기준)
(1) 특수 Azure 지역
- US DoD 중부, US Gov 버지니아, US Gov 아이오와 등
미국 정부 기관 및 파트너를 위한 물리적 및 논리적 네트워크로 격리된 Azure 인스턴스
데이터 센터는 선별된 미국인이 운영하며 추가 규정 준수 인증서를 포함
- 중국 동부, 중국 북부 등
Microsoft 및 21Vianet 간의 고유한 파트너십을 통해 사용할 수 있으며, Microsoft에서 데이터 센터를 직접 관리하지 않음
2) Azure 가용성 영역
- 장애 발생 시 정보를 보호할 수 있도록 서비스와 데이터를 중복 시킴
(1) 가용성 영역이란?
- Azure 지역 내에서 물리적으로 분리된 데이터 센터
- 각 가용성 영역은 독립된 전원, 냉각 및 네트워킹을 갖춘 하나 이상의 데이터 센터로 구성
- 가용성 영역은 격리 경계로 설정
- 한 영역이 다운되어도 다른 영역은 계속 작동
- 고속 프라이빗 광 네트워크를 통해 연결
(2) 가용성 영역을 사용하는 Azure 지역
아메리카 | 유럽 | 아프리카 | 아시아 태평양 |
---|---|---|---|
브라질 남부 | 프랑스 중부 | 남아프리카 북부 | 오스트레일리아 동부 |
캐나다 중부 | 독일 중서부 | 인도 중부* | |
미국 중부 | 북유럽 | 일본 동부 | |
미국 동부 | 노르웨이 동부 | 한국 중부 | |
미국 동부 2 | 영국 남부 | 동남아시아 | |
미국 중남부 | 서유럽 | 동아시아 | |
US Gov 버지니아 | 스웨덴 | ||
미국 서부 2 | |||
미국 서부 3 |
(3) 앱에서의 사용
- 애플리케이션 아키텍처에 고가용성 구현 : 한 영역 내에 컴퓨팅, 스토리지, 네트워킹 및 데이터 리소스를 공동 배치하고 다른 영역에 복제
(중복 서비스 및 영역 간 데이터 전송 비용 발생)
- 주 사용 : VM, 관리 디스크, 부하 분산 장치 및 SQL 데이터베이스
- 가용성 영역을 지원하는 Azure 서비스
- 영역 서비스 : 특정 영역(예: VM, 관리 디스크, IP 주소)에 리소스를 고정
- 영역 중복 서비스 : 플랫폼이 영역에서 자동 복제(예: 영역 중복 스토리지, SQL 데이터베이스)
- 비지역 서비스 : 서비스는 Azure 지역에서 항상 사용할 수 있으며 영역 전체 중단 및 지역 전체 중단도 복원 가능
3) Azure 지역 쌍(Region Pairs)
(1) Azue 지역 쌍이란?
- 300 마일 이상 떨어진 동일한 지리적 위치(예: 미국, 유럽 또는 아시아) 내의 다른 Azure 지역과 항상 쌍을 이룸
- 한 지리적 위치에서 VM 스토리지 같은 리소스를 복제 → 서비스 중단될 가능성 감소
- 한 쌍의 지역이 자연재해의 영향을 받은 경우 서비스는 해당 지역 쌍의 다른 지역으로 자동으로 장애 조치(failover)
- Azure 지역 쌍의 추가적인 이점
- Azure 중단이 광범위한 경우 해당 지역 쌍에서 호스트되는 애플리케이션에 대해 가능한 빠른 복원을 위해 모든 쌍 중에서 하나의 지역이 우선 지정
- 계획된 Azure 업데이트는 가동 중지 및 애플리케이션 중단 위험을 최소화하기 위해 한 번에 한 Azure 지역 쌍으로 롤아웃
- 데이터는 세금 및 법률 집행 관할 구역에 사용될 수 있게 동일한 지리적 위치 내에 쌍으로(브라질 남부 제외) 상주
2. Azure 리소스 및 Azure Resource Manager
- 구독 전에 리소스를 만들고 리소스 그룹에 저장할 준비 수행
- 리소스
- Azure를 통해 사용할 수 있는 관리 가능한 항목
- 예 : VM(가상 머신), 스토리지 계정, 웹앱, 데이터베이스 및 가상 네트워크
- 리소스 그룹
- Azure 솔루션과 관련된 리소스를 보관하는 컨테이너
- 리소스 그룹은 그룹으로 관리하려는 리소스만 포함
- 조직에 가장 적합한 요소에 따라 리소스 그룹에 속하는 리소스를 결정
1) Azure 리소스 그룹
- Azure 플랫폼의 기본 요소
- 리소스 그룹은 Azure에 배포된 리소스의 논리적 컨테이너 역할
- 모든 리소스는 리소스 그룹에 포함, 하나의 리소스는 단일 리소스 그룹의 멤버
- 이동에 대한 특정 제한 사항이나 요구 사항이 있는 일부 서비스를 사용하여 리소스 그룹 간에 많은 리소스를 이동 가능
- 리소스 그룹은 중첩할 수 없음
- 리소스를 프로비전하려면 리소스를 배치할 리소스 그룹이 필요
- 리소스 그룹을 삭제하면 그 안에 있는 리소스도 모두 삭제
(1) 논리적 그룹화
- 리소스 그룹의 용도는 Azure 리소스를 간편하게 관리하고 구성하는 것
- 사용량, 형식 또는 위치가 비슷한 리소스를 한 리소스 그룹에 배치하여 체계적으로 구성
(2) 수명 주기
- 리소스를 수명 주기로 구성하는 방법은 실험 후 리소스를 폐기하는 개발 및 테스팅 환경에서 유용하게 사용
(3) 권한 부여
- 리소스 그룹에 RBAC 권한을 적용하면 관리가 간편해지고 필요한 리소스만 사용하도록 액세스 제한 가능
2) Azure Resource Manager
- Azure용 배포 및 관리 서비스
- Azure 계정에서 리소스 구성, 표준 적용, 업데이트하고, 삭제할 수 있는 관리 계층을 제공
- 액세스 제어, 잠금, 태그와 같은 관리 기능을 사용하여 배포 후 리소스 보호 및 구성
- Azure 도구, API 또는 SDK에서 사용자 요청 → Resource Manager에서 요청 수령 → 요청을 인증하고 권한을 부여 → Resource Manager에서 요청된 작업을 수행하는 Azure 서비스에 요청 발송
- 모든 요청이 동일한 API를 통해 처리되므로 모든 여러 도구에서 일관적인 결과 및 기능 확인 가능
- Azure 요청을 처리할 때 Resource Manager가 수행하는 역할
- Azure Portal에서 사용할 수 있는 모든 기능은 PowerShell, Azure CLI, REST API 및 클라이언트 SDK를 통해서도 사용 가능
- API를 통해 처음 릴리스된 기능은 처음 릴리스된 지 180일 이내에 포털에 표시
(1) 리소스 관리자를 사용할 경우 이점
- 스크립트가 아니라 선언적 템플릿을 통해 인프라를 관리(Resource Manager 템플릿은 Azure에 무엇을 배포하는지 정의하는 JSON 파일)
- 이 리소스를 개별적으로 처리하는 대신, 솔루션의 모든 리소스를 그룹으로 배포, 관리 및 모니터링
- 개발 수명 주기 내내 솔루션을 재배포(리소스가 일관된 상태로 배포됨을 확신할 수 있음)
- 리소스가 올바른 순서로 배포되도록 리소스 간의 종속성을 정의
- 모든 서비스에 액세스 제어를 적용(RBAC가 기본적으로 관리 플랫폼에 통합되기 때문)
- 리소스에 태그를 적용하여 구독의 모든 리소스를 논리적으로 구성
- 동일한 태그를 공유하는 리소스 그룹에 대한 비용을 확인하여 조직의 청구를 명확히 함
3. Azure 구독 및 관리 그룹
1) Azure 구독
- 구독은 Azure 제품 및 서비스에 대한 인증되고 권한이 부여된 액세스를 제공
- Azure 구독은 Azure 계정*과 연결된 Azure 서비스의 논리적 단위
*Azure 계정 : Azure AD(Azure Active Directory) 또는 Azure AD 트러스트 디렉터리에 있는 ID
- 여러개의 구독 가능 : 서로 다른 청구 모델, 다른 액세스 관리 정책 적용
(1) 청구 경계와 액세스 제어 경계
- Azure 제품, 서비스 및 리소스를 중심으로 두 가지 유형의 구독 경계 사용 가능
- 청구 경계
- 이 구독 유형은 Azure 사용에 따른 Azure 계정 청구 방식을 결정
- 다양한 유형의 청구 요구 사항에 따라 여러 개 구독
- Azure는 비용을 구성하고 관리할 수 있도록 각 구독에 대해 별도의 청구 보고서 및 송장을 생성
- 액세스 제어 경계
- Azure는 구독 수준에서 액세스 관리 정책을 적용하며, 다른 조직 구조를 반영하기 위해 별도 구독 가능
- Azure는 구독 수준에서 액세스 관리 정책을 적용하며, 다른 조직 구조를 반영하기 위해 별도 구독 가능
(2) 추가 Azure 구독 만들기
- 리소스 또는 청구 관리를 위해 추가 구독 가능
(3) 요구 사항에 따라 청구 사용자 지정
- 구독이 여러 개인 경우 청구서 섹션으로 구성 가능
- 각 청구서 섹션은 해당 월에 발생한 요금을 보여 주는 청구서의 품목
- 청구 프로필을 추가하여 프로필 마다 고유 월간 청구서 및 결제 방법 선택 가능
- 청구를 구성하는 방법
2) Azure 관리 구독
- 구독에 대한 액세스, 정책 및 규정 준수를 효율적으로 관리
- 구독을 관리 그룹이라고 하는 컨테이너에 구성하고 거버넌스 조건을 관리 그룹에 적용
- 관리 그룹에 속하는 모든 구독은 관리 그룹에 적용되는 조건을 자동으로 상속
- 대규모의 엔터프라이즈급 관리를 제공
- 단일 관리 그룹 내의 모든 구독은 동일한 Azure AD 테넌트
(1) 관리 그룹 및 구독의 계층 구조
- 관리 그룹을 사용하여 거버넌스 계층 구조를 만드는 예
(2) 관리 그룹에 대한 중요한 사실
- 단일 디렉터리에서 지원 가능한 관리 그룹 수 : 10,000개
- 관리 그룹 트리에서 지원할 수 있는 최대 깊이 수준 6(이 제한은 루트 수준 또는 구독 수준을 포함하지 않음)
- 각 관리 그룹 및 구독은 하나의 부모만 지원
- 각 관리 그룹에는 여러 자식 요소가 있을 수 있음
- 모든 구독 및 관리 그룹은 각 디렉터리의 단일 계층 내에 위치
- Azure에서 클라우드 거버넌스 전략 빌드
- Azure Resource Manager 템플릿 설명서
- 핵심 Azure 아키텍처 구성 요소 설명
- Azure Resource Manager를 사용하여 Azure 리소스 제어 및 구성
- Azure 구독 검사
- Azure의 영역 및 가용성 영역
- Azure 관리 그룹이란?