문제 211
문제: Microsoft Azure에 다음과 같은 리소스들이 배포되어 있습니다. TDVet 1과 TDVet 2를 연결해야 합니다.
가장 먼저 무엇을 해야 할까요?
Microsoft Entra Tenant | 구독 (Subscription) |
가상 네트워크 (Virtual Network) |
주소 범위 (Address Range) |
가상 머신 (Virtual Machine) |
Tenant 1 | TD1 | TDVnet1 | 10.1.0.0/16 | VM1 |
Tenant 2 | TD2 | TDVnet2 | 10.10.0.0/18 | VM2 |
보기
A. 가상 네트워크 피어링(Virtual Network Peering)을 생성합니다.
B. TDVnet 2의 주소 공간(Address Space)을 변경합니다.
C. TDVnet 1을 TD2로 이전합니다.
D. VM1을 TD2로 이전합니다.
답: A. 가상 네트워크 피어링(Virtual Network Peering)을 생성합니다.
해설:
- 문제는 서로 다른 가상 네트워크(TDVnet 1, TDVnet 2)에 있는 리소스들을 연결하는 방법을 묻고 있습니다.
- **가상 네트워크 피어링(VNet Peering)**은 서로 다른 Azure 가상 네트워크를 연결하여 서로 통신할 수 있도록 하는 기능입니다. 마치 두 개의 별도 네트워크 케이블을 연결하는 것과 비슷하다고 생각하시면 됩니다.
- 보기 B는 주소 공간 변경인데, 주어진 주소 범위(10.1.0.0/16, 10.10.0.0/16)는 겹치지 않기 때문에 굳이 변경할 필요가 없습니다. 주소 범위가 겹치면 네트워크 연결에 문제가 생길 수 있지만, 지금은 괜찮습니다.
- 보기 C와 D는 가상 네트워크나 가상 머신 자체를 다른 구독으로 옮기는 것인데, 단순히 두 네트워크를 연결하는 것이 목적이므로 적절하지 않습니다. 가상 네트워크 피어링은 서로 다른 구독 간에도 가능합니다.
- 따라서, 가장 먼저 해야 할 일은 가상 네트워크 피어링을 설정하여 TDVnet 1과 TDVnet 2가 서로 통신할 수 있도록 하는 것입니다. 가상 네트워크 피어링은 낮은 지연 시간과 높은 대역폭을 제공하며, 통신 트래픽은 Microsoft의 내부 네트워크를 통해 안전하게 이루어집니다.
Azure VNet Peering 개요 및 주요 특징
**Azure Virtual Network Peering(VNet Peering)**은 Azure 내 두 개 이상의 가상 네트워크(VNet)를 마치 하나의 네트워크처럼 안전하고 빠르게 연결해주는 기능입니다. 이 연결을 통해 각 VNet 내의 리소스(VM 등)는 별도의 게이트웨이, 공인 인터넷, 암호화 없이도 서로 직접 통신할 수 있습니다.
주요 특징
- 저지연, 고대역폭 연결
피어링된 네트워크 간 트래픽은 Microsoft 백본망을 통해 전달되어, 단일 VNet 내 통신과 동일한 수준의 네트워크 성능(지연, 대역폭)을 보장합니다. - 프라이빗 트래픽
트래픽은 항상 Azure 내부 네트워크에서만 이동하며, 공용 인터넷을 거치지 않습니다. 별도의 VPN Gateway나 암호화가 필요하지 않습니다. - 다양한 피어링 유형
- Virtual Network Peering: 동일 지역 내 VNet 연결
- Global Virtual Network Peering: 서로 다른 지역의 VNet 연결
- Subnet Peering: 전체 VNet이 아니라 특정 서브넷만 선택적으로 피어링(신규 기능).
- 구독/테넌트/배포 모델 간 연결
서로 다른 Azure 구독, Microsoft Entra(Azure AD) 테넌트, ARM/클래식 배포 모델 간에도 피어링이 가능합니다. - 확장성
기본적으로 한 VNet당 최대 500개, Azure Virtual Network Manager를 사용하면 최대 1,000개의 VNet과 피어링할 수 있습니다. - 네트워크 보안 그룹(NSG) 적용
피어링된 네트워크 간에도 NSG를 통해 접근 제어가 가능합니다. 기본적으로는 전체 통신이 열려 있으나, NSG로 세부 제어가 가능합니다. - 다운타임 없음
피어링 생성·변경·삭제 시 연결된 리소스에 다운타임이 발생하지 않습니다. - 게이트웨이 트랜짓 지원
한쪽 VNet의 VPN Gateway를 피어링된 다른 VNet에서 공유해 사용할 수 있습니다. 단, 한 VNet당 하나의 게이트웨이만 사용 가능. - 주소 공간 동적 확장 지원
피어링된 VNet의 주소 공간을 다운타임 없이 확장/축소할 수 있습니다. 변경 후에는 피어링 동기화가 필요합니다.
대표적 활용 사례
- 멀티티어 애플리케이션의 네트워크 분리 및 통신
- 지역 간 데이터 복제, 장애 조치(Disaster Recovery)
- 허브-스포크(Hub-Spoke), 메시(Mesh) 등 복잡한 네트워크 아키텍처 구현
- 서로 다른 구독/테넌트/리소스 그룹 간 안전한 네트워크 통신
한계 및 주의점
- 트랜짓 라우팅(Transit Routing): 피어링은 기본적으로 비트랜짓(Non-transitive)입니다. 즉, A↔B, B↔C 피어링이 있어도 A와 C는 직접 피어링하지 않으면 통신 불가합니다. 단, 게이트웨이 트랜짓 등 일부 예외 상황 존재.
- NSG, UDR(사용자 정의 라우팅) 등 네트워크 정책은 각 VNet에 독립적으로 적용됨
- 일부 기능(예: Global Peering)은 Azure Stack Hub 등 일부 환경에서는 제한될 수 있음
요약 표
항목 | 설명 |
연결 대상 | 동일/다른 지역, 구독, 테넌트, 배포 모델의 VNet |
연결 방식 | Microsoft 백본망을 통한 프라이빗 네트워크 연결 |
피어링 유형 | Local, Global, Subnet Peering |
최대 피어링 수 | 기본 500개, Virtual Network Manager 사용 시 1,000개 |
네트워크 성능 | 단일 VNet 내 통신과 동일(저지연, 고대역폭) |
보안 | NSG, UDR 등 별도 적용 가능, 트래픽은 Azure 내부에만 존재 |
게이트웨이 트랜짓 | 지원(한쪽의 게이트웨이를 피어링된 VNet에서 공유 사용 가능) |
트랜짓 라우팅 | 비트랜짓(Non-transitive), 직접 피어링 필요 |
다운타임 | 없음 |
주소 공간 확장 | 다운타임 없이 지원, 변경 후 동기화 필요 |
참고:
- VNet 피어링은 네트워크 아키텍처를 단순화하고, 비용 효율적이며, 고성능의 Azure 내 네트워크 통합을 가능하게 하는 핵심 기능입니다.
문제 212
문제: 귀사의 조직은 웹 서버로 작동하도록 구성된 여러 Azure 가상 머신과 TD1이라는 Azure 공용 부하 분산 장치를 배포했습니다. 사용자가 매번 동일한 서버에 접속하도록 TD1이 일관되게 요청을 라우팅해야 합니다. 무엇을 구성해야 할까요?
보기:
A. 해시 기반(Hash based)
B. 세션 지속성(Session persistence) - 없음(None)
C. 세션 지속성(Session persistence) - 클라이언트 IP(Client IP)
D. 상태 프로브(Health probe)
답: C. 세션 지속성(Session persistence) - 클라이언트 IP(Client IP)
해설:
- 문제는 공용 부하 분산 장치를 통해 들어오는 사용자 요청을 항상 동일한 웹 서버로 연결해야 하는 상황입니다.
- 이러한 요구 사항을 세션 지속성(Session Persistence) 또는 **세션 어피니티(Session Affinity)**라고 부릅니다. 이는 특정 사용자의 모든 요청을 특정 백엔드 서버로 유지하는 기능입니다.
- 보기 A의 해시 기반은 트래픽을 분산하는 방식 중 하나이지만, 항상 같은 클라이언트를 같은 서버로 보내는 것을 보장하지는 않습니다.
- 보기 B의 세션 지속성 - 없음은 세션을 유지하지 않고 요청이 들어올 때마다 부하 분산 장치가 서버를 선택하므로 적절하지 않습니다.
- 보기 C의 세션 지속성 - 클라이언트 IP는 요청을 보내는 클라이언트의 IP 주소를 기반으로 동일한 백엔드 서버로 라우팅합니다. 따라서 한 사용자가 보내는 모든 요청은 동일한 서버로 전달됩니다.
- 보기 D의 **상태 프로브(Health Probe)**는 백엔드 서버의 헬스 체크를 하는 기능으로, 트래픽 라우팅과는 직접적인 관련이 없습니다. 서버가 정상인지 확인하고 비정상적인 서버로는 트래픽을 보내지 않도록 하는 역할입니다.
- 따라서, 사용자의 요청을 매번 동일한 서버로 라우팅하기 위해서는 세션 지속성을 클라이언트 IP 기반으로 설정해야 합니다.
문제 213
문제: 다음과 같은 리소스를 포함하는 Azure 구독이 있습니다. App1 이 키 자격 증명 모음에 대한 비밀에 접근할 수 있도록 무엇을 생성해야 하며, 어떤 키 자격 증명 모음에서 비밀을 사용할 수 있을까요? 답 영역에서 적절한 옵션을 선택해야 합니다.
이름 (Name) | 리소스 그룹 (Resource Group) | 유형 (Type) | 위치 (Location) |
App1 | RG1 | 컨테이너 앱 (Container App) | East US |
Vault1 | RG1 | Azure Key Vault | East US |
Vault2 | RG1 | Azure Key Vault | West US |
Vault3 | RG2 | Azure Key Vault | East US |
답:
- 생성 (Create a): 관리 ID (Managed Identity)
- 비밀 사용 (Use secret from): Vault1 , Vault2 , Vault3
해설:
- 문제는 컨테이너 앱(app-one)이 Azure Key Vault에 저장된 비밀에 안전하게 접근하는 방법을 묻고 있습니다. 또한, 어떤 Key Vault에서 비밀을 사용할 수 있는지도 질문합니다.
- **관리 ID(Managed Identity)**는 Azure 서비스가 다른 Azure 서비스에 안전하게 접근할 수 있도록 자격 증명을 관리할 필요 없이 Azure AD(Azure Active Directory)에서 자동으로 프로비저닝하고 관리하는 ID입니다. 컨테이너 앱과 같은 Azure 리소스에 권한을 부여하여 Key Vault와 같은 다른 서비스에 안전하게 접근할 수 있도록 해줍니다. 따라서 관리 ID를 생성하는 것이 가장 적절한 방법입니다. 다른 옵션(프라이빗 엔드포인트, 서비스 주체, 사용자 계정)도 접근을 설정할 수 있지만, 관리 ID는 자격 증명 관리를 단순화하고 보안을 강화합니다.
- Key Vault 접근 가능 범위에 대해서는, 원칙적으로 Key Vault는 적절하게 구성되어 있다면 리소스 그룹이나 지역에 상관없이 접근이 가능합니다. 따라서 app-one이 있는 East US 지역의 vault-one과 vault-three는 물론이고, 다른 리소스 그룹과 West US 지역에 있는 vault-two에서도 비밀을 사용할 수 있습니다.
- Microsoft는 격리 수준을 높이고 보안 위협을 줄이기 위해 애플리케이션, 환경, 지역별로 별도의 Key Vault를 사용하는 것을 권장하지만, 기술적으로는 여러 Key Vault에 접근하는 것이 가능합니다. 따라서 문제의 상황에서는 vault-one, vault-two, vault-three 모두에서 비밀을 사용할 수 있습니다.
문제 214
문제: Storage1이라는 Azure 구독에 스토리지 계정이 있습니다. Storage1 의 액세스 키가 자동으로 로테이션되도록 해야 합니다. 무엇을 구성해야 할까요?
보기:
A. 백업 볼트(Backup vault)
B. storage-one에 대한 중복성(Redundancy)
C. storage-one에 대한 수명 주기 관리(Lifecycle Management)
D. Azure Key Vault E. Recovery Services 볼트(Recovery Services vault)
답: D. Azure Key Vault
해설:
- 문제는 **Azure Storage 계정의 액세스 키를 자동으로 교체(로테이션)**하는 방법을 묻고 있습니다.
- Azure Key Vault는 비밀, 키, 인증서를 안전하게 저장하고 관리하는 서비스입니다. Key Vault를 사용하면 스토리지 계정 키를 저장하고, Key Vault의 기능을 통해 정기적으로 자동으로 키를 로테이션하도록 구성할 수 있습니다.
- 보기 A의 백업 볼트는 데이터를 백업하는 데 사용됩니다.
- 보기 B의 중복성은 데이터의 가용성과 내구성을 높이는 설정입니다.
- 보기 C의 수명 주기 관리는 스토리지 내 객체의 보관 기간을 관리하는 기능입니다.
- 보기 E의 Recovery Services 볼트는 Azure Backup 및 Azure Site Recovery와 관련된 데이터 보호를 관리하는 데 사용됩니다.
- 따라서, 스토리지 계정 액세스 키의 자동 로테이션을 위해서는 Azure Key Vault를 구성해야 합니다.
문제 215
문제: Storage1이라는 범용 v1 Azure Storage 계정이 LRS(로컬 중복 스토리지)를 사용하고 있습니다. 영역(Zone) 실패 시 스토리지 계정의 데이터를 보호해야 합니다. 이 솔루션은 비용과 관리 노력을 최소화해야 합니다. 가장 먼저 무엇을 해야 할까요?
보기:
A. 새 스토리지 계정을 만듭니다.
B. 개체 복제 규칙(Object replication rules)을 구성합니다.
C. 계정을 범용 v2로 업그레이드합니다.
D. storage-one의 복제 설정을 수정합니다.
답: C. 계정을 범용 v2로 업그레이드합니다.
해설:
- 문제는 영역(Zone) 실패로부터 Azure Storage 계정의 데이터를 보호하면서 비용과 관리 노력을 최소화하는 방법을 묻고 있습니다. 현재 스토리지 계정은 **LRS(로컬 중복 스토리지)**를 사용하고 있어 단일 데이터 센터 내에서만 데이터가 복제되므로 영역 실패 시 데이터 손실 위험이 있습니다.
- 영역 실패를 보호하기 위해서는 **ZRS(영역 중복 스토리지)**를 사용해야 합니다. ZRS는 가용성 영역이라고 하는 동일한 Azure 지역 내의 여러 물리적으로 분리된 위치에 데이터를 복제하여 데이터의 내구성과 가용성을 높입니다.
- 문제에서 현재 사용 중인 스토리지 계정은 범용 v1이며, ZRS는 범용 v1 스토리지 계정에서 지원되지 않습니다.
- 보기 A처럼 새 스토리지 계정을 만들고 ZRS를 선택할 수도 있지만, 기존 데이터를 옮기는 등의 관리 노력이 필요할 수 있습니다.
- 보기 B의 개체 복제 규칙은 다른 스토리지 계정으로 데이터를 복제하는 것으로, 주 목적이 영역 실패 보호는 아닙니다.
- 보기 D의 복제 설정 수정은 v1 계정에서는 ZRS를 선택할 수 없으므로 불가능합니다. GRS(지리적 중복 스토리지) 또는 RA-GRS(읽기 액세스 지리적 중복 스토리지)로 변경할 수는 있지만, 이는 비용이 더 많이 들고 영역 수준의 가용성을 제공하지 않습니다.
- 따라서, **비용과 관리 노력을 최소화하면서 영역 실패로부터 데이터를 보호하기 위한 가장 먼저 해야 할 일은 기존의 범용 v1 스토리지 계정을 ZRS를 지원하는 범용 v2로 업그레이드하는 것입니다. 업그레이드 후 복제 설정을 ZRS로 변경할 수 있습니다.
Azure 관련 용어 해설
- Microsoft Entra ID (이전 Azure AD): 사용자와 그룹을 관리하고, 클라우드 애플리케이션에 대한 접근 권한을 제어하는 Microsoft의 클라우드 기반 ID 및 접근 관리 서비스입니다.
- 테넌트 (Tenant): Microsoft 클라우드 서비스(Azure, Microsoft 365 등)를 사용하는 조직을 나타내는 용어입니다. 각 테넌트는 고유한 Azure AD 인스턴스를 가집니다.
- 구독 (Subscription): Azure 리소스를 사용하기 위한 논리적 컨테이너입니다. 비용 청구 및 접근 제어의 단위가 됩니다.
- 리소스 그룹 (Resource Group): Azure 리소스를 논리적으로 그룹화하여 관리하는 단위입니다.
- 가상 네트워크 (Virtual Network, VNet): Azure에서 생성하는 사설 네트워크입니다. 가상 머신, 애플리케이션 등이 이 네트워크 내에서 통신할 수 있습니다.
- 주소 범위 (Address Range): 가상 네트워크에 할당된 IP 주소의 범위입니다.
- 가상 머신 (Virtual Machine, VM): 클라우드에서 실행되는 가상의 컴퓨터입니다.
- 가상 네트워크 피어링 (Virtual Network Peering, VNet Peering): 서로 다른 Azure 가상 네트워크를 연결하여 통신할 수 있도록 하는 기능입니다.
- 부하 분산 장치 (Load Balancer): 들어오는 네트워크 트래픽을 여러 서버에 분산시켜 애플리케이션의 가용성과 성능을 향상시키는 서비스입니다.
- 공용 부하 분산 장치 (Public Load Balancer): 인터넷으로부터 들어오는 트래픽을 분산시키는 부하 분산 장치입니다.
- 세션 지속성 (Session Persistence / Session Affinity): 특정 사용자의 모든 요청을 동일한 백엔드 서버로 라우팅하는 기능입니다.
- 상태 프로브 (Health Probe): 부하 분산 장치가 백엔드 서버의 상태를 주기적으로 확인하는 기능입니다.
- Azure Key Vault: 비밀, 키, 인증서를 안전하게 저장하고 관리하는 서비스입니다.
- 비밀 (Secret): 암호, 연결 문자열 등 민감한 정보를 안전하게 관리하는 데 사용됩니다.
- 관리 ID (Managed Identity): Azure 서비스가 Azure AD를 통해 다른 Azure 서비스에 안전하게 접근할 수 있도록 하는 기능입니다.
- 컨테이너 앱 (Container App): 컨테이너화된 애플리케이션을 서버리스 환경에서 실행하고 관리하는 Azure 서비스입니다.
- 액세스 키 (Access Key): Azure Storage 계정에 접근하기 위한 인증 정보입니다.
- 로테이션 (Rotation): 보안을 강화하기 위해 비밀번호나 키 등의 정보를 주기적으로 변경하는 것을 의미합니다.
- 스토리지 계정 (Storage Account): Azure에서 데이터를 저장하기 위한 계정입니다.
- LRS (Local Redundant Storage, 로컬 중복 스토리지): 단일 데이터 센터 내에서 데이터를 여러 번 복제하여 데이터 손실을 방지하는 스토리지 복제 옵션입니다.
- 영역 (Zone): Azure 지역 내의 물리적으로 분리된 데이터 센터입니다. 영역 중복성을 통해 특정 영역의 장애가 다른 영역에 영향을 미치지 않도록 할 수 있습니다.
- ZRS (Zone Redundant Storage, 영역 중복 스토리지): 동일한 Azure 지역 내의 여러 가용성 영역에 데이터를 복제하여 데이터의 내구성과 가용성을 높이는 스토리지 복제 옵션입니다.
- 범용 v1 (General Purpose v1): 초기 버전의 Azure Storage 계정 유형입니다.
- 범용 v2 (General Purpose v2): 최신 버전의 Azure Storage 계정 유형으로, 더 많은 기능과 향상된 성능을 제공합니다.
- 개체 복제 규칙 (Object Replication Rules): 한 스토리지 계정의 블록 블롭을 다른 스토리지 계정으로 비동기적으로 복사하는 규칙입니다.
- GRS (Geo-Redundant Storage, 지리적 중복 스토리지): 주 지역과 보조 지역으로 데이터를 복제하여 지역 전체의 장애로부터 데이터를 보호하는 스토리지 복제 옵션입니다.
- RA-GRS (Read-Access Geo-Redundant Storage, 읽기 액세스 지리적 중복 스토리지): GRS와 동일하게 데이터를 복제하지만, 보조 지역에서 읽기 접근이 가능한 스토리지 복제 옵션입니다.
'인공지능,프로그래밍 > MS Azure' 카테고리의 다른 글
Azure 104 연습 문제 38 (0) | 2025.04.18 |
---|---|
Azure 104 연습 문제 37 (1) | 2025.04.18 |
Azure 104 연습 문제 35 (1) | 2025.04.17 |
Azure 104 연습 문제 34 (2) | 2025.04.17 |
Azure 104 연습 문제 33 (2) | 2025.04.17 |