본문 바로가기

인공지능,프로그래밍/MS Azure

Azure 104 연습 문제 43

 

문제 246

Azure 구독이 있고,

ARM 템플릿을 사용하여 동일한 가용성 집합의 일부가 될 50개의 Azure 가상 머신을 배포하려고 합니다.

패브릭 오류나 서비스 중에 가능한 많은 가상 머신을 사용할 수 있도록 템플릿을 어떻게 구성해야 합니까?

템플릿에서 플랫폼 장애 도메인 수(platform fault domain count)

플랫폼 업데이트 도메인 수(platform update domain count) 에 설정해야 할 값은 무엇입니까?

 

정답: 플랫폼 장애 도메인 수: 3, 플랫폼 업데이트 도메인 수: 20.

해설: 높은 가용성을 위해 장애 도메인을 2개 이상 사용하는 것이 일반적이며,

Azure 지역에 따라 최대 2개 또는 3개가 지원됩니다.

따라서 플랫폼 장애 도메인 수를 3으로 설정하는 것이 적절합니다.

업데이트 도메인 수를 늘리면 플랫폼 재부팅 시 한 번에 재부팅되는 노드의 수가 줄어들어 가용성 계획에 도움이 됩니다.

풀의 최대값인 20을 설정하는 것이 좋습니다.

가용성 집합은 관련된 가상 머신의 동시 오류 가능성을 줄이는 논리적 그룹이며,

각 가상 머신은 업데이트 도메인과 장애 도메인에 할당됩니다.

가용성 집합 생성 후에는 이러한 구성을 변경할 수 없습니다.

 


가용성 세트 개요

 
  1.  

적용 대상: ✔️ Linux VM ✔️ Windows VM

이 문서에서는 Azure 가상 머신(VM)의 가용성 기능에 대한 개요를 제공합니다.

 메모

고객은 고가용성과 가장 광범위한 기능을 제공하는 유연한 오케스트레이션 모드를 갖춘 Virtual Machine Scale Sets를 선택하는 것이 좋습니다 . Virtual Machine Scale Sets:

  • VM 인스턴스를 중앙에서 관리, 구성 및 업데이트할 수 있습니다.
  • 수요나 정의된 일정에 따라 VM 인스턴스 수를 자동으로 늘리거나 줄입니다.

가용성 세트는 높은 가용성만 제공합니다.

가용성 집합이란 무엇인가요?

가용성 집합은 VM을 논리적으로 그룹화하여 관련 VM이 동시에 다운되는 상관관계 오류를 줄입니다. 가용성 집합은 안정성 향상을 위해 VM을 서로 다른 장애 도메인에 배치합니다. 특히 특정 지역에서 가용성 영역을 지원하지 않는 경우 이러한 기능이 유용합니다.

가용성 집합을 사용하는 경우, 하나의 가용성 집합 내에 두 개 이상의 VM을 생성하세요. 하나의 가용성 집합에 두 개 이상의 VM을 사용하면 애플리케이션의 고가용성을 유지하고 99.95% Azure 서비스 수준 계약(SLA)을 충족하는 데 도움이 됩니다. 가용성 집합을 사용하는 데 추가 비용은 없습니다. 생성하는 각 VM 인스턴스에 대해서만 비용을 지불하면 됩니다.

가용성 집합은 가용성 영역보다 VM 간 지연 시간이 더 짧습니다. 가용성 집합에 속한 VM들이 더 가까운 거리에 할당되기 때문입니다. 가용성 집합은 단일 장애 지점을 최소화하고 고가용성을 제공하기 위해 여러 장애 발생 가능성에 대한 장애 격리 기능을 갖추고 있습니다. 하지만 가용성 집합은 여러 장애 도메인에 영향을 미칠 수 있는 데이터 센터 네트워크 장애와 같은 특정 공유 인프라 장애에 여전히 취약합니다.

가용성 집합이 제공하는 것보다 더 높은 안정성을 원하면 가용성 영역을 사용하세요 . 가용성 영역은 가장 높은 안정성을 제공합니다. 각 VM은 여러 데이터 센터에 배포되어 개별 데이터 센터의 전력, 네트워킹 또는 냉각 시스템 중단으로부터 시스템을 보호합니다. 워크로드에 대한 최상의 안정성을 최우선으로 생각한다면 여러 가용성 영역에 걸쳐 VM을 복제하세요.

가용성 집합은 어떻게 작동합니까?

기본 Azure 플랫폼은 가용성 집합의 각 가상 머신에 업데이트 도메인  장애 도메인을 할당합니다 .

각 가용성 집합에는 '최대 3개의 장애 도메인'과 '20개의 업데이트 도메인'이 포함될 수 있습니다.

가용성 집합을 만든 후에는 이러한 구성을 변경할 수 없습니다.

도메인 업데이트

업데이트 도메인은 동시에 다시 시작할 수 있는 가상 머신 그룹과 기본 물리적 하드웨어를 나타냅니다.

단일 가용성 집합 내에 5개 이상의 가상 머신이 구성되고 업데이트 도메인이 5개인 경우, 여섯 번째 가상 머신은 첫 번째 가상 머신과 동일한 업데이트 도메인에 배치됩니다. 일곱 번째 가상 머신은 두 번째 가상 머신과 동일한 업데이트 도메인에 배치됩니다. 이러한 순서는 계속됩니다.

계획된 유지 관리 중에는 업데이트 도메인이 순차적으로 다시 시작되지 않을 수 있지만, 한 번에 하나의 업데이트 도메인만 다시 시작됩니다. 다시 시작된 업데이트 도메인은 다른 업데이트 도메인에서 유지 관리가 시작되기 전에 30분 동안 복구됩니다.

단층 도메인

장애 도메인은 공통 전원과 네트워크 스위치를 공유하는 가상 머신 그룹을 정의합니다. 기본적으로 가용성 집합 내에 구성된 가상 머신은 최대 3개의 장애 도메인으로 구분됩니다.

가상 머신을 가용성 집합에 배치한다고 해서 운영 체제 또는 애플리케이션별 장애로부터 애플리케이션을 보호할 수는 없습니다. 하지만 잠재적인 물리적 하드웨어 장애, 네트워크 중단 또는 정전의 영향을 제한할 수 있습니다.

디스크 오류 도메인

VM은 디스크 장애 도메인에도 정렬됩니다. 이러한 정렬을 통해 VM에 연결된 모든 관리 디스크가 동일한 장애 도메인 내에 있도록 보장됩니다.

관리형 가용성 집합에는 관리형 디스크가 있는 VM만 생성할 수 있습니다. 관리형 디스크 장애 도메인의 수는 지역별로 다릅니다. 지역당 관리형 디스크 장애 도메인은 2개 또는 3개입니다.

다음 명령은 지역별 장애 도메인 목록을 검색합니다.

az vm list-skus --resource-type availabilitySets --query '[?name==`Aligned`].{Location:locationInfo[0].location, MaximumFaultDomainCount:capabilities[0].value}' -o Table

공유된 결함 도메인

특정 상황에서는 동일한 가용성 집합에 있는 두 VM이 장애 도메인을 공유할 수 있습니다. 가용성 집합으로 이동하여 "장애 도메인 " 열을 확인하면 공유 장애 도메인을 확인할 수 있습니다 .

VM에 공유 오류 도메인이 있는 경우 VM을 배포할 때 다음 작업을 수행했기 때문일 수 있습니다.

  1. 첫 번째 VM을 배포합니다.
  2. 첫 번째 VM을 중지하거나 할당을 해제합니다.
  3. 두 번째 VM을 배포합니다.

이러한 상황에서는 두 번째 VM의 OS 디스크가 첫 번째 VM과 동일한 장애 도메인에 생성될 수 있으므로 두 VM이 동일한 장애 도메인에 위치하게 됩니다. 이 문제를 방지하려면 배포 간에 VM을 중지하거나 할당을 해제하지 마십시오.

 


문제 247

Subscription1이라는 Azure 구독이 있습니다. 이 구독에는 VM1이라는 가상 머신이 포함되어 있고, 이 가상 머신에 웹 서버와 DNS 서버를 설치하고 구성했습니다. VM1에는 다음과 같은 네트워크 보안 규칙이 적용되어 있습니다.

[표 내용: 여러 인바운드 포트 규칙이 표시되어 있으며, 다음과 같은 우선순위와 규칙이 있음]

  • 우선순위: 100, 300, 400, 65000, 65001, 65500
  • 다양한 포트, 프로토콜, 소스, 대상 및 액션(허용/거부) 정보 포함
  • 특히 Rule2는 포트 50-60을 차단(거부)

인터넷 사용자는 VM1의 어떤 서버에 연결할 수 있습니까?

보기

  1. DNS 서버에만 연결 가능
  2. 웹 서버에만 연결 가능
  3. 웹 서버와 DNS 서버 모두에 연결 가능
  4. 웹 서버와 DNS 서버 모두에 연결 불가능

 

정답

2. 웹 서버에만 연결 가능

해설

  • DNS 서버: 기본적으로 포트 53을 사용합니다.
  • 웹 서버: HTTP는 포트 80, HTTPS는 포트 443을 사용합니다.
  • 규칙2는 포트 50-60을 차단하고 있으므로, 이는 DNS 서버가 사용하는 포트 53을 포함합니다.
  • 웹 서버는 포트 80(HTTP) 또는 443(HTTPS)을 사용하는데, 이 포트들은 차단되지 않았습니다.

따라서 인터넷 사용자는 웹 서버에만 연결할 수 있고, DNS 서버에는 연결할 수 없습니다.

추가 질문

규칙2를 삭제하면 인터넷 사용자는 VM1의 어떤 서버에 연결할 수 있습니까?

추가 질문 정답

웹 서버와 DNS 서버 모두에 연결 가능

추가 질문 해설

규칙2를 삭제하면 포트 50-60(DNS 서버의 포트 53 포함)에 대한 차단이 제거되므로, 인터넷 사용자는 DNS 서버(포트 53)와 웹 서버(포트 80/443) 모두에 연결할 수 있게 됩니다.

네트워크 보안 규칙 처리 순서: 보안 규칙은 우선순위 번호에 따라 처리됩니다. 숫자가 낮을수록 우선순위가 높습니다. 즉, 우선순위 100 규칙은 우선순위 300, 400 등의 규칙보다 먼저 처리됩니다.

 

 


문제 248

App1이라는 앱이 VM1과 VM2라는 두 Azure 가상 머신에 설치되어 있습니다. App1에 대한 연결은 Azure Load Balancer를 사용하여 관리됩니다. VM2의 효과적인 네트워크 보안 그룹 구성은 표시된 내용과 같습니다.

[표 내용: 이전 문제와 유사한 네트워크 보안 규칙 표시, 특히 우선순위 200인 규칙이 모든 인바운드 트래픽을 차단]

IP 주소 131.107.0.5에서 TCP 포트 443을 통한 App1에 대한 연결이 실패함을 발견했습니다. 로드 밸런서 규칙이 올바르게 구성되어 있는지 확인했습니다. 이 IP 주소에서 TCP 포트 443을 통해 App1에 성공적으로 연결할 수 있도록 해야 합니다.

제안된 해결책

 Azure Load Balancer에서 모든 트래픽을 허용하고 우선 순위가 150인 인바운드 보안 규칙을 만드는 것입니다 .

이 해결책이 목표를 충족합니까?

정답: 아니요6 .
해설: 우선 순위가 200인 'deny_all_inbound' 규칙이 모든 인바운드 트래픽을 차단하고 있으며, 이는 Azure Load Balancer 상태 프로브를 포함합니다6 . 이로 인해 가상 머신이 비정상으로 간주되어 Load Balancer가 트래픽을 VM 2로 라우팅하지 않습니다 . 우선 순위가 150인 규칙을 추가하면 Load Balancer 트래픽이 허용되고 VM 2가 다시 정상으로 인식되어 Load Balancer가 트래픽을 VM 2로 보낼 수 있게 됩니다6 . 하지만 제시된 해결책은 목표를 충족하지 못합니다6 .

 

 

제안된 해결책(문제 249)

Azure Load Balancer에서 들어오는 모든 트래픽을 허용하고 우선순위가 150인 인바운드 보안 규칙을 생성합니다.

이 해결책이 목표를 충족합니까?

정답: 예.

해설

  • 우선순위 200인 규칙은 모든 인바운드 트래픽을 차단하고 있습니다. 이는 Azure Load Balancer의 상태 프로브(Health Probe)도 차단합니다.
  • 상태 프로브가 차단되면 로드 밸런서는 VM2를 비정상(unhealthy)으로 간주하고 트래픽을 라우팅하지 않습니다.
  • 우선순위 150인 새 규칙(우선순위 100과 200 사이)을 만들어 Azure Load Balancer의 트래픽을 허용하면, VM2는 다시 정상(healthy)으로 간주되고 로드 밸런서는 트래픽을 VM2로 다시 라우팅하기 시작합니다.

 


문제 249

\문제 248과 동일한 시나리오입니다. 제시된 해결책은 Azure Load Balancer 소스에서 모든 트래픽을 허용하고 우선 순위가 150인 인바운드 보안 규칙을 만드는 것입니다. 이 해결책이 목표를 충족합니까?.

정답: 예.

해설: 우선 순위가 150인 인바운드 보안 규칙을 생성하면 기존의 우선 순위 100과 200 사이의 위치하게 됩니다. 이 규칙은 Azure Load Balancer로부터의 트래픽을 허용하므로, Load Balancer가 가상 머신 2의 상태를 다시 확인하고 정상으로 인식하게 됩니다. 결과적으로 Load Balancer는 TCP/IP 포트 443을 포함한 트래픽을 가상 머신 2로 라우팅할 수 있게 되어 문제가 해결됩니다.

 

 


문제 250

Subscription1이라는 Azure 구독과 Tenant1이라는 관련 Microsoft Entra ID 테넌트를 만들었습니다. Tenant1에는 다음 표의 사용자가 포함되어 있습니다.

[사용자 표: 4명의 관리자와 각각의 테넌트 역할 및 구독 역할 표시]

  1. contosoadmin1@hotmail.com - 전역 관리자(Global Administrator) - 소유자(Owner)
  2. admin1@theo.onmicrosoft.com - 전역 관리자(Global Administrator) - 기여자(Contributor)
  3. admin2@theo.onmicrosoft.com - 보안 관리자(Security Administrator) - 보안 관리자(Security Admin)
  4. admin3@theo.onmicrosoft.com - 조건부 액세스 관리자(Conditional Access Administrator) - (없음)

 

tenant 1에 Microsoft Entra ID Privileged Identity Management (PIM) 애플리케이션을 추가해야 합니다. 어떤 계정을 사용해야 합니까?.

보기:

  1. admin3@contoso.onmicrosoft.com
  2. admin2@contoso.onmicrosoft.com
  3. admin1@contoso.onmicrosoft.com
  4. contosoadmin1@hotmail.com

 

정답: admin1@theo.onmicrosoft.com.

해설: Microsoft Entra ID PIM 애플리케이션을 테넌트에 추가하려면 전역 관리자 또는 Privileged Role Administrator 역할이 있는 계정을 사용해야 합니다. 이러한 역할에는 PIM을 관리하고 Microsoft Entra ID 내에서 역할을 할당하는 데 필요한 권한이 있습니다. 주어진 계정 중에서 admin1@theo.onmicrosoft.com은 전역 관리자 역할을 가지고 있으므로 PIM 애플리케이션을 추가하는 데 사용할 수 있습니다. ktoo_admin1@hotmail.com 또한 전역 관리자이지만, 보기에는 admin1@contoso.onmicrosoft.com 만 제시되어 있습니다. ???

  1. 필요한 권한 수준:
    • Microsoft Entra ID 권한 있는 ID 관리(PIM) 애플리케이션을 테넌트에 추가하려면 전역 관리자(Global Administrator) 또는 권한 있는 역할 관리자(Privileged Role Administrator) 권한이 필요합니다.
    • 이 두 역할만이 테넌트 수준에서 PIM과 같은 전사적 애플리케이션을 관리할 수 있는 충분한 권한을 가지고 있습니다.
  2. 자격을 갖춘 계정:
    • 위 조건을 만족하는 계정은 k2admin1@hotmail.com과 admin1@theo.onmicrosoft.com 두 개입니다.
    • 두 계정 모두 전역 관리자(Global Administrator) 권한을 가지고 있습니다.
  3. 정답으로 admin1@theo.onmicrosoft.com을 선택한 이유:
    • 영상에서는 명확하게 설명하지 않았지만, 일반적으로 Microsoft에서는 도메인 네이밍 측면에서 테넌트에 직접 연결된 계정(여기서는 *@theo.onmicrosoft.com으로 끝나는 계정)을 사용하는 것을 권장합니다.
    • k2admin1@hotmail.com는 외부 이메일 도메인(hotmail.com)을 사용합니다. 이런 계정도 전역 관리자 권한을 가질 수 있지만, 테넌트 관리를 위해서는 해당 테넌트의 도메인을 사용하는 계정(admin1@theo.onmicrosoft.com)이 더 적절합니다.
    • 또한 보안 관점에서도 테넌트의 기본 도메인을 사용하는 계정으로 테넌트 수준의 권한 관리를 하는 것이 더 좋은 관행입니다.

권한 있는 ID 관리(PIM): 조직 내 리소스에 대한 접근을 관리, 제어, 모니터링하는 서비스로, 필요한 경우에만 권한을 활성화하여 보안을 강화합니다.

 

사용된 Azure 용어 설명 (대학생 수준)

  • ARM 템플릿 (Azure Resource Manager Template): Azure에서 인프라를 코드로 정의하고 배포하기 위한 JSON 형식의 파일입니다. 마치 레고 블록 설계도와 같아서, 이 템플릿을 사용하면 필요한 Azure 서비스(가상 머신, 네트워크, 스토리지 등)를 일관되고 반복 가능하게 구축할 수 있습니다.
  • 가용성 집합 (Availability Set): Azure에서 여러 개의 가상 머신을 논리적으로 그룹화하여 하드웨어 오류나 Azure 플랫폼 업데이트로 인한 서비스 중단을 방지하는 기능입니다. 가용성 집합 내의 가상 머신들은 서로 다른 물리적 서버(장애 도메인)와 업데이트 주기(업데이트 도메인)에 분산되어 배포됩니다. 마치 여러 대의 서버를 묶어서 관리하되, 한 서버에 문제가 생겨도 다른 서버들이 계속 작동하도록 하는 것과 같습니다.
  • 장애 도메인 (Fault Domain): 가용성 집합 내에서 공유된 전원 및 네트워크 스위치를 공유하는 물리적 서버 그룹입니다. 동일한 장애 도메인에 있는 가상 머신은 동일한 하드웨어 오류로 인해 동시에 중단될 수 있습니다.
  • 업데이트 도메인 (Update Domain): Azure 플랫폼 업데이트가 적용될 때 함께 재부팅되는 가상 머신 그룹입니다. 가용성 집합 내의 가상 머신들은 여러 업데이트 도메인에 분산되어 있어, 업데이트가 진행되는 동안에도 일부 가상 머신은 계속 서비스를 제공할 수 있습니다.
  • 네트워크 보안 그룹 (Network Security Group, NSG): Azure 가상 네트워크의 서브넷 및 가상 머신 네트워크 인터페이스로 들어오고 나가는 네트워크 트래픽을 제어하는 방화벽 역할을 합니다. NSG에는 인바운드 및 아웃바운드 보안 규칙 목록이 포함되어 있으며, 각 규칙은 원본, 대상, 포트, 프로토콜 및 트래픽을 허용 또는 거부하는 작업을 지정합니다.
  • 포트 (Port): 네트워크 통신에서 특정 서비스나 애플리케이션을 식별하는 데 사용되는 번호입니다. 예를 들어 웹 서비스는 일반적으로 포트 80(HTTP) 또는 443(HTTPS)을 사용하고, DNS는 포트 53을 사용합니다.
  • 프로토콜 (Protocol): 네트워크 상에서 데이터를 주고받기 위한 규칙과 약속의 집합입니다. TCP (Transmission Control Protocol)와 UDP (User Datagram Protocol)는 인터넷에서 가장 일반적으로 사용되는 프로토콜입니다.
  • Azure Load Balancer: 들어오는 애플리케이션 트래픽을 여러 가상 머신 인스턴스에 분산하여 애플리케이션의 가용성과 확장성을 향상시키는 네트워크 서비스입니다. Load Balancer는 정상적인 가상 머신으로만 트래픽을 라우팅하여 고가용성을 보장합니다.
  • 상태 프로브 (Health Probe): Azure Load Balancer가 백엔드 풀의 가상 머신 인스턴스의 상태를 주기적으로 확인하는 메커니즘입니다. 상태 프로브에 실패한 인스턴스는 트래픽 분산 대상에서 제외됩니다.
  • Microsoft Entra ID (마이크로소프트 엔트라 아이디, 이전 Azure AD): 클라우드 기반의 ID 및 액세스 관리 서비스입니다. 사용자 인증, 권한 부여, 디렉터리 서비스 등을 제공하며, Azure, Microsoft 365 등 다양한 서비스에 대한 중앙 집중식 ID 관리를 가능하게 합니다.
  • 테넌트 (Tenant): Microsoft Entra ID의 인스턴스를 나타내는 용어입니다. 조직 또는 회사를 나타내며, 해당 조직의 사용자, 그룹, 애플리케이션 등을 포함합니다.
  • Privileged Identity Management (PIM): Microsoft Entra ID의 기능으로, 조직 내에서 중요한 권한을 가진 계정에 대한 액세스를 관리하고 모니터링하는 데 사용됩니다. PIM을 통해 필요한 시점에만 권한을 활성화하고, 사용 내역을 감사할 수 있어 보안을 강화할 수 있습니다.
  • 전역 관리자 (Global Administrator): Microsoft Entra ID 테넌트에서 모든 관리 작업을 수행할 수 있는 가장 높은 권한을 가진 역할입니다.
  • Privileged Role Administrator: Microsoft Entra ID 내에서 역할 할당 및 PIM과 관련된 관리를 수행할 수 있는 권한을 가진 역할입니다.

 

'인공지능,프로그래밍 > MS Azure' 카테고리의 다른 글

Azure 104 연습 문제 48  (0) 2025.04.19
Azure 104 연습 문제 44  (1) 2025.04.19
Azure 104 연습 문제 42  (0) 2025.04.19
Azure 104 연습 문제 41  (0) 2025.04.19
Azure 104 연습 문제 40  (1) 2025.04.18