티스토리 뷰
질문 #16
귀사의 인프라에는 일상적인 운영을 위해 다양한 Azure 리소스가 많이 필요한 여러 사업부가 포함되어 있습니다.
각 사업부에 필요한 리소스는 동일합니다.
Azure 리소스를 자동으로 만드는 전략을 승인해야 합니다.
솔루션: 전략에 Azure API Management 서비스를 포함하는 것이 좋습니다.
솔루션이 목표를 충족합니까?
- A. 네
- B. 아니오
Azure API Management
Microsoft Azure에서 제공하는 API 관리 서비스로, API를 만들고 게시하고, 보호하며, 모니터링하고 최적화할 수 있는 플랫폼입니다. 이 서비스는 여러 애플리케이션이나 사용자에게 API를 효율적으로 제공하고 관리할 수 있도록 돕습니다. API 게이트웨이 기능과 보안, 분석 등의 기능을 포함하여 API 사용을 중앙에서 관리할 수 있는 일종의 관리 플랫폼입니다.
주요 기능:
- API 게시 및 배포:
- Azure API Management를 사용하면 REST, SOAP, GraphQL 등 다양한 API를 게시하고 관리할 수 있습니다. 개발자는 쉽게 API를 정의하고 배포할 수 있으며 비즈니스 요구에 맞게 API 엔드포인트를 관리할 수 있습니다.
- API 보안:
- API 보안은 API Management의 중요한 기능 중 하나입니다. 인증, 권한 부여 및 암호화 같은 기능을 통해 API를 안전하게 보호할 수 있습니다.
- OAuth 2.0, JWT(JSON Web Tokens) 등의 표준 보안 프로토콜을 지원하여 API 접근을 관리합니다.
- IP 필터링, Rate limiting(요청 수 제한), 인증서 기반 인증 등 다양한 보안 메커니즘을 제공합니다.
- API 보안은 API Management의 중요한 기능 중 하나입니다. 인증, 권한 부여 및 암호화 같은 기능을 통해 API를 안전하게 보호할 수 있습니다.
- 트래픽 관리 및 부하 분산:
- Azure API Management는 Rate Limiting 및 Throttling 기능을 제공하여 API 트래픽을 제어하고, 과도한 트래픽으로부터 서비스를 보호할 수 있습니다. API에 대한 요청 수를 제한하거나 특정 API의 사용량을 조절하여 서비스 성능을 최적화할 수 있습니다.
- API 분석 및 모니터링:
- API 호출에 대한 분석 및 모니터링 기능을 제공하여 API 사용 패턴, 성능 문제, 오류 발생률 등을 추적할 수 있습니다.
- Azure Monitor 및 Application Insights와 통합하여 API의 상태를 실시간으로 모니터링하고 성능 문제를 신속하게 파악하여 해결할 수 있습니다.
- 정책 정의:
- Azure API Management는 다양한 정책을 정의하여 API 요청 및 응답을 처리할 수 있습니다. 예를 들어 캐싱, 변환, Rate Limiting, CORS(Cross-Origin Resource Sharing) 정책을 적용할 수 있습니다.
- 이러한 정책을 통해 API의 성능을 최적화하거나 보안 규칙을 적용할 수 있습니다.
- API 변환:
- API Management는 API 요청 또는 응답을 변환할 수 있는 기능을 제공합니다. 예를 들어 XML을 JSON으로 변환하거나 쿼리 매개변수를 추가하거나 변경할 수 있습니다.
- SOAP API를 REST API로 변환하는 등의 작업도 가능하여, 기존 API를 현대화하는 데 도움을 줍니다.
- 개발자 포털:
- API 사용자를 위한 개발자 포털을 제공하여 API 설명서, API 호출 방법, 샘플 코드 등을 손쉽게 제공할 수 있습니다.
- 이 포털을 통해 API 소비자들이 API를 쉽게 이해하고 사용할 수 있도록 지원하며 API 테스트 기능도 포함되어 있습니다.
- 다중 API 버전 관리:
- Azure API Management는 API의 버전 관리를 지원합니다. 새로운 기능을 추가하거나 변경할 때 이전 버전을 유지하면서 새로운 버전을 출시할 수 있어 사용자에게 영향을 주지 않고 API를 업데이트할 수 있습니다.
- 다중 환경 배포:
- API Management는 여러 배포 환경(예: 개발, 테스트, 프로덕션)에서 동일한 API를 쉽게 관리할 수 있게 도와줍니다. 이를 통해 각 환경에서 API를 적절히 테스트하고 배포할 수 있습니다.
사용 사례:
- 마이크로서비스 아키텍처 관리:
- 마이크로서비스는 여러 개의 API로 구성된 경우가 많습니다. Azure API Management를 사용하면 이러한 API를 중앙에서 관리하고, API 호출을 제어하고, 보안 규칙을 적용할 수 있습니다.
- API 보안 강화:
- API를 외부에 공개하거나 여러 애플리케이션에 제공할 때 API Management를 사용하여 보안 규칙(인증, 권한 부여, IP 필터링 등)을 쉽게 적용할 수 있습니다.
- B2B API 제공:
- 다른 비즈니스나 파트너에게 API를 제공할 때 Azure API Management를 사용하면 API 사용량 모니터링과 요금 부과(예: 요청 수 제한에 따른 과금)를 할 수 있습니다.
- API 모니터링 및 최적화:
- API 호출 수, 응답 시간, 오류 발생률 등을 추적하고, 성능을 분석하여 API의 성능을 최적화할 수 있습니다.
장점:
- API의 중앙 집중식 관리: 여러 API를 한 곳에서 관리하고, 정책을 적용하며, 보안을 강화할 수 있습니다.
- 고성능 및 확장성: API Management는 Azure의 인프라를 기반으로 하므로 대규모 트래픽에도 안정적으로 대응할 수 있습니다.
- 손쉬운 배포 및 버전 관리: API의 버전 관리를 통해 신속한 기능 업데이트와 안정성을 동시에 유지할 수 있습니다.
- 통합 보안: OAuth 2.0, JWT 등 표준 보안 프로토콜을 지원하여 API를 안전하게 보호할 수 있습니다.
Azure API Management는 API를 효율적으로 관리하고 보호하며, 분석할 수 있는 종합적인 솔루션입니다. 다양한 API 관리 기능을 통해 개발자와 운영자가 API의 수명 주기 전반을 제어할 수 있으며, 보안과 성능을 강화하여 기업의 API 서비스를 안정적으로 운영할 수 있습니다.
정답: 아니오
Azure API Management 서비스는 API를 게시하고 관리하며 보안 및 모니터링 기능을 제공하는 서비스입니다. 이 서비스는 여러 비즈니스 유닛이 사용하는 API를 관리하는 데 유용하지만, Azure 리소스를 자동으로 생성하는 데 적합한 도구는 아닙니다.
질문 #17
귀사의 인프라에는 일상적인 운영을 위해 다양한 Azure 리소스가 많이 필요한 여러 사업부가 포함되어 있습니다.
각 사업부에 필요한 리소스는 동일합니다.
Azure 리소스를 자동으로 만드는 전략을 승인해야 합니다.
솔루션: 전략에 관리 그룹을 포함하는 것이 좋습니다.
솔루션이 목표를 충족합니까?
- A. 네
- B. 아니오
Azure Management Groups
여러 개의 Azure 구독을 논리적으로 그룹화하여 대규모 Azure 환경에서 조직의 리소스를 계층적으로 관리하고 정책 및 액세스 제어를 효율적으로 적용할 수 있도록 하는 도구입니다. Management Groups는 Azure 리소스를 중앙에서 관리하기 위해 사용되며, 특히 여러 구독을 운영하는 대규모 조직에 유용합니다.
주요 기능 및 특징:
- 구독 관리의 계층적 구조:
- Management Groups는 구독을 포함하는 논리적 그룹입니다. Azure 계정 내의 여러 구독을 하나의 Management Group 아래에 배치할 수 있으며 각 Management Group은 또 다른 Management Group에 포함될 수 있는 계층적 구조를 가집니다.
- 최상위 Management Group(일반적으로 Root Management Group)은 계정 내 모든 구독과 리소스를 포함할 수 있으며 정책이나 역할 기반 액세스 제어(RBAC)를 상위 그룹에 설정하면 하위 그룹 및 구독에 자동으로 상속됩니다.
- 정책 및 규칙 적용:
- Azure Policy를 Management Groups에 적용하면, 해당 그룹 아래에 있는 모든 구독에 일괄적으로 규칙을 적용할 수 있습니다. 예를 들어, 특정 리전(Region)에서만 리소스를 생성하거나 리소스 태그를 강제하는 등의 정책을 설정할 수 있습니다.
- 이를 통해 일관된 규정 준수(Compliance)를 유지하고 여러 구독에 걸쳐 표준화된 보안 및 운영 정책을 적용할 수 있습니다.
- 역할 기반 액세스 제어 (RBAC):
- RBAC는 권한을 부여하는 기능으로, Management Groups를 통해 각 구독에 권한을 일괄적으로 설정할 수 있습니다. 예를 들어 특정 팀이나 부서에게 Management Group 단위로 권한을 부여하면 해당 그룹에 속한 모든 구독에 동일한 권한이 적용됩니다.
- 이렇게 하면 구독 단위가 아닌 더 상위 수준에서 액세스를 관리할 수 있어 관리가 훨씬 간편해집니다.
- 정책 상속:
- 상위 Management Group에 설정한 정책이나 권한은 자동으로 하위 구독이나 리소스에 상속됩니다. 이를 통해 정책 및 권한을 일관되게 적용할 수 있고, 개별적으로 구독을 설정하는 복잡함을 줄일 수 있습니다.
- 조직 구조 반영:
- Management Groups는 조직의 구조를 반영하여 구독을 그룹화할 수 있습니다. 예를 들어 부서별 또는 프로젝트별로 구독을 그룹화하여 각 그룹에 맞는 정책과 권한을 설정할 수 있습니다. 이를 통해 조직의 요구 사항에 맞는 유연한 구독 관리를 할 수 있습니다.
- 최대 6단계의 계층:
- Management Groups는 최상위에 Root Management Group을 포함하여 최대 6단계까지 계층 구조를 만들 수 있습니다. 이를 통해 조직의 복잡한 구조도 유연하게 지원할 수 있습니다.
- 정책 일관성 유지:
- 여러 구독이 있을 때 각 구독마다 개별적으로 정책을 설정하는 것은 매우 복잡하고 시간이 소요될 수 있습니다. Management Groups를 사용하면 모든 구독에 대해 일관된 정책을 쉽게 적용하고 관리할 수 있습니다.
사용 사례:
- 대규모 조직의 리소스 관리:
- 대기업이나 여러 부서, 팀이 있는 조직에서는 여러 구독을 관리해야 하는데, 이때 Management Groups를 통해 각 부서나 팀에 맞는 구독 그룹을 만들고 해당 그룹에 일괄적으로 정책을 적용할 수 있습니다.
- 일관된 보안 정책 적용:
- 보안 및 규정 준수를 위해 조직 전체에 동일한 보안 정책을 적용할 필요가 있습니다. 예를 들어 모든 구독에 대한 보안 그룹 구성, 네트워크 규칙 설정 등을 Management Groups를 통해 상위에서 설정하고 하위로 상속할 수 있습니다.
- 부서 및 팀별 리소스 관리:
- 부서별 또는 프로젝트별로 구독을 그룹화하여 각 그룹에 맞는 리소스 관리 정책을 정의하고 비용 관리 및 모니터링을 일괄적으로 설정할 수 있습니다.
- 다중 구독 환경의 중앙 관리:
- 여러 구독을 동시에 운영할 때 개별적으로 구독을 관리하는 것은 비효율적일 수 있습니다. Management Groups를 사용하면 중앙에서 여러 구독을 통합적으로 관리하고, 일관된 정책과 권한을 적용할 수 있습니다.
Management Groups와 구독의 관계:
- 구독은 리소스가 실제로 배포되고 사용되는 단위입니다. 각 구독 내에는 가상 머신, 스토리지 계정, 네트워크 등의 리소스가 있을 수 있습니다.
- Management Groups는 이러한 구독들을 그룹화하여 더 쉽게 관리할 수 있도록 해 줍니다. 구독 단위에서 각각 설정하던 정책이나 권한을 Management Group 수준에서 일괄적으로 적용함으로써 관리의 복잡성을 줄이고 일관성을 유지할 수 있습니다.
Management Groups와 Azure Policy, RBAC의 연계:
- Azure Policy는 리소스의 구성을 강제하거나 규정을 준수하기 위해 사용되며 이를 Management Groups에 적용하면 해당 그룹 내 모든 구독과 리소스에 일괄 적용됩니다.
- RBAC(Role-Based Access Control)는 사용자의 권한을 정의하는 기능으로, Management Groups에 적용하면 하위 구독에 자동으로 상속되어 일관된 접근 권한을 관리할 수 있습니다.
Azure Management Groups는 여러 구독을 효율적으로 관리하기 위한 도구로, 정책과 권한을 중앙에서 일괄적으로 설정하고 관리할 수 있도록 합니다. 조직이 커지고 구독의 수가 많아질수록 이러한 계층적 관리 구조를 통해 리소스를 더 쉽게 관리할 수 있습니다. 특히 보안 규정 준수와 정책 일관성을 유지하는 데 매우 유용하며, 조직의 구독을 그룹화하여 더 효율적으로 관리할 수 있는 강력한 기능을 제공합니다.
정답: 아니오
Management Groups는 Azure 리소스를 계층적으로 관리하는 데 사용되는 구조로, 구독을 그룹화하여 정책을 적용하거나 권한을 관리하는 데 적합한 도구입니다. 하지만 자동으로 Azure 리소스를 생성하는 기능을 제공하지는 않습니다. Management Groups의 주된 목적은 리소스 배포가 아닌 구독 관리와 정책 적용입니다.
질문 #18
귀사의 인프라에는 일상적인 운영을 위해 다양한 Azure 리소스가 많이 필요한 여러 사업부가 포함되어 있습니다.
각 사업부에 필요한 리소스는 동일합니다.
Azure 리소스를 자동으로 만드는 전략을 승인해야 합니다.
솔루션: 전략에 Azure Resource Manager 템플릿을 포함하는 것이 좋습니다.
솔루션이 목표를 충족합니까?
- A. 네
- B. 아니오
Azure Resource Manager (ARM)은 Microsoft Azure에서 리소스를 관리하는 계층으로, Azure 리소스(가상 머신, 스토리지 계정, 네트워크 등)를 배포, 관리, 모니터링할 수 있도록 하는 중앙 관리 시스템입니다. ARM은 Azure 리소스를 그룹화하고, 일관된 방식으로 배포하고 관리하는 데 핵심 역할을 합니다.
주요 개념 및 기능:
- 리소스 그룹:
- 리소스 그룹은 동일한 수명 주기를 갖는 Azure 리소스들의 논리적 컨테이너입니다. 리소스 그룹 안에는 가상 머신, 데이터베이스, 네트워크 같은 리소스들이 포함될 수 있으며, 리소스 그룹 단위로 리소스를 관리하고 모니터링할 수 있습니다.
- 리소스 그룹을 사용하면 관련된 리소스들을 함께 관리할 수 있으며 리소스의 배포, 업데이트, 삭제를 일관성 있게 수행할 수 있습니다.
- ARM 템플릿:
- Azure Resource Manager 템플릿은 인프라를 코드로 정의하는 방식으로, JSON 형식의 파일을 사용하여 Azure 리소스의 구성과 관계를 기술합니다. 이 템플릿을 사용하면 동일한 환경을 여러 번 배포하거나 특정 시점의 인프라 상태를 재현할 수 있습니다.
- ARM 템플릿은 재사용 가능하며 한 번 작성하면 여러 환경에서 일관된 리소스를 자동으로 배포할 수 있습니다. 템플릿은 인프라를 버전 관리하고, 개발 및 테스트 환경에 동일한 인프라를 손쉽게 배포하는 데 적합합니다.
- 배포 일관성:
- ARM은 리소스 배포가 일관되게 수행되도록 보장합니다. 리소스를 정의한 템플릿이나 명령을 통해 리소스를 배포할 때 ARM은 이러한 리소스들이 올바르게 배포되고 상호작용할 수 있도록 관리합니다.
- 리소스를 배포하는 동안 종속성도 자동으로 처리되며 필요한 리소스가 올바른 순서로 배포됩니다.
- 액세스 제어:
- ARM을 통해 Azure 리소스에 대한 역할 기반 액세스 제어 (RBAC)를 설정할 수 있습니다. 각 리소스 또는 리소스 그룹에 특정 사용자나 그룹에 대한 권한을 부여할 수 있으며, 이를 통해 세분화된 권한 관리가 가능합니다.
- 예를 들어 특정 사용자가 리소스를 배포할 수 있는 권한만 부여하거나, 모니터링할 수 있는 권한만 부여할 수 있습니다.
- 정책 및 보안 적용:
- Azure Policy와 통합되어 리소스가 조직의 규정 및 정책에 따라 배포되도록 관리할 수 있습니다. 이를 통해 리소스에 대한 규정 준수를 보장하고, 특정 리소스나 구성에 대한 규칙을 적용할 수 있습니다.
- 예를 들어 특정 지역에서만 리소스를 생성하거나 리소스 태그가 반드시 포함되도록 강제할 수 있습니다.
- 리소스 상태 관리:
- ARM은 상태 관리 방식으로 작동합니다. 즉, ARM 템플릿을 사용해 리소스 상태를 정의하고, Azure가 그 상태에 맞도록 리소스를 배포 및 업데이트합니다. 이 방식은 기존 리소스를 건드리지 않으면서 새로운 리소스를 추가하거나 변경 사항을 적용할 수 있습니다.
- Azure 포털, CLI, PowerShell과의 통합:
- ARM은 Azure 포털, Azure CLI, Azure PowerShell과 통합되어 있어 다양한 방식으로 리소스를 배포하고 관리할 수 있습니다. 이러한 도구들을 통해 개발자와 관리자는 손쉽게 Azure 리소스를 프로비저닝하고 관리할 수 있습니다.
- ARM은 모든 리소스 배포 요청을 중앙에서 처리하여 일관된 방식으로 리소스가 관리되도록 합니다.
- 태그:
- 리소스 또는 리소스 그룹에 태그를 부여하여 리소스를 논리적으로 분류할 수 있습니다. 이를 통해 비용 분석, 리소스 관리, 모니터링 등을 더 효율적으로 수행할 수 있습니다.
- 예를 들어 특정 프로젝트에 속한 모든 리소스에 "Project: Alpha"라는 태그를 부여하면 비용 분석 시 이 태그를 기반으로 관련 리소스를 필터링할 수 있습니다.
- 배포 로그 및 추적:
- ARM을 통해 리소스 배포 기록을 쉽게 추적할 수 있습니다. 리소스 배포 시 ARM은 배포 로그를 생성하여 배포 중 발생한 모든 단계와 오류를 기록합니다. 이를 통해 배포 상태를 모니터링하고, 문제 발생 시 빠르게 대응할 수 있습니다.
ARM의 동작 원리:
Azure Resource Manager는 사용자가 리소스를 배포하려는 요청을 수신하고, 이 요청을 처리하여 리소스를 생성하거나 업데이트합니다. ARM은 리소스에 대한 종속성을 관리하고 올바른 순서로 리소스를 배포하여 리소스 간의 충돌을 방지합니다. 또한 배포된 리소스에 대한 상태를 추적하고, 추가적인 리소스 변경 또는 업데이트가 필요한 경우 이를 관리합니다.
사용 사례:
- 반복적 배포:
- 동일한 환경을 여러 번 배포해야 할 때, ARM 템플릿을 사용하면 자동화된 배포가 가능하여 일관성 있는 리소스 구성을 보장할 수 있습니다. 예를 들어, 개발, 테스트, 프로덕션 환경에 동일한 리소스를 배포할 때 유용합니다.
- 인프라 자동화:
- ARM 템플릿은 인프라를 코드로 관리할 수 있으므로, DevOps 파이프라인에서 자동으로 리소스를 배포하고 관리할 수 있습니다. 이를 통해 코드와 인프라가 버전 관리되고, 일관된 프로세스를 유지할 수 있습니다.
- 대규모 리소스 관리:
- 여러 리소스를 포함하는 복잡한 애플리케이션을 배포할 때, ARM을 사용하면 종속성 관리가 쉬워지며, 리소스 그룹을 통해 모든 리소스를 하나의 단위로 관리할 수 있습니다.
- 권한 및 액세스 관리:
- ARM을 통해 리소스 그룹 단위로 RBAC를 설정하여, 특정 사용자에게 리소스 그룹 또는 특정 리소스에 대한 권한을 부여할 수 있습니다. 이를 통해 세분화된 권한 관리를 손쉽게 할 수 있습니다.
장점:
- 자동화: 인프라를 코드로 정의함으로써 일관성 있는 리소스 배포가 가능하고, 반복적인 작업을 자동화할 수 있습니다.
- 일관성: 리소스 배포가 일관되게 이루어지며, 종속성을 자동으로 관리하여 오류를 방지합니다.
- 관리 효율성: 리소스 그룹을 통해 관련 리소스를 한 곳에서 관리할 수 있으며, 정책 및 태그 기능을 통해 리소스를 더 효율적으로 관리할 수 있습니다.
- 보안: RBAC와 Azure Policy를 통해 리소스에 대한 접근 및 규정을 중앙에서 관리할 수 있습니다.
Azure Resource Manager (ARM)는 Azure 리소스의 배포, 관리, 모니터링을 위한 강력한 도구입니다. ARM 템플릿을 사용하여 인프라를 코드로 관리할 수 있으며, 일관된 방식으로 리소스를 배포하고 관리할 수 있습니다. 특히 대규모 클라우드 환경에서 리소스를 효율적으로 관리하고 자동화하는 데 필수적인 도구입니다.
정답: 네
Azure Resource Manager (ARM) 템플릿은 인프라를 코드로 정의하여 Azure 리소스를 자동으로 배포하는 데 매우 적합한 도구입니다. ARM 템플릿을 사용하면 동일한 Azure 리소스를 여러 번 일관되게 배포할 수 있으며 JSON 파일로 리소스 구성(가상 머신, 네트워크, 스토리지 등)을 정의할 수 있습니다. 이 템플릿을 통해 여러 비즈니스 유닛에서 필요한 리소스를 자동으로 생성하고 배포할 수 있습니다.
질문 #19
가상 머신에 설치될 중요한 LOB 애플리케이션을 Azure에 배포하는 작업이 지정되었습니다.
애플리케이션 배포 전략은 99.99%의 보장된 가용성을 허용해야 한다는 정보를 받았습니다. 전략에 필요한 가상 머신과 가용성 영역이 가능한 한 적은지 확인해야 합니다.
솔루션: 전략에 가상 머신 두 개와 가용성 영역 하나를 포함합니다.
솔루션이 목표를 충족합니까?
- A. 네
- B. 아니오
Availability (가용성)
가용성은 시스템이나 애플리케이션이 얼마나 오래 그리고 신뢰성 있게 작동할 수 있는지를 나타내는 지표입니다. 가용성은 주로 퍼센트로 표현되며 서비스가 얼마나 자주 사용할 수 있는지를 나타냅니다. 예를 들어 Azure에서 제공하는 SLA(서비스 수준 계약)에서 99.99% 가용성은 해당 시스템이 연중 365일 중 99.99% 시간 동안 정상적으로 작동해야 한다는 의미입니다. 이것은 연간 약 52.6분 이하의 다운타임을 허용합니다.
가용성 퍼센트가 높을수록 시스템이 더 신뢰할 수 있으며, 중요한 업무나 서비스에서는 가용성을 높게 유지하는 것이 중요합니다.
가용성 퍼센트 | 연간 허용되는 다운타임 |
99% | 약 3.65일 |
99.9% | 약 8.76시간 |
99.99% | 약 52.56분 |
99.999% | 약 5.26분 |
가용성(Availability)은 시스템이 얼마나 안정적으로 운영되는지를 나타내는 척도입니다.
Availability Zone (가용성 영역)
가용성 영역(Availability Zone)은 Azure에서 제공하는 물리적인 데이터 센터 그룹입니다. 각 Azure 리전(region)에는 두 개 이상의 가용성 영역이 있으며, 각 영역은 서로 독립적인 전력, 네트워킹, 냉각 시스템을 갖추고 있습니다. 가용성 영역을 활용하면 한 영역에서 장애가 발생해도 다른 영역의 리소스가 영향을 받지 않도록 하여 높은 가용성을 유지할 수 있습니다.
특징:
- 물리적 분리: 가용성 영역은 물리적으로 서로 떨어져 있어, 하나의 영역에서 문제가 발생해도 다른 영역은 영향을 받지 않습니다.
- 독립적인 인프라: 각 가용성 영역은 전력, 네트워크, 냉각 시스템이 독립적으로 운영됩니다.
- 복구 계획: 중요 애플리케이션을 두 개 이상의 가용성 영역에 배포하면 재해 발생 시에도 서비스의 지속 가능성이 보장됩니다.
활용 예:
Azure에서 높은 가용성을 유지하려면 동일한 리전 안의 두 개 이상의 가용성 영역에 가상 머신을 배포해야 합니다. 이렇게 하면 특정 가용성 영역이 다운되더라도 다른 가용성 영역의 가상 머신이 계속해서 서비스를 제공할 수 있습니다.
가용성 영역(Availability Zone)은 서로 독립적인 인프라로 운영되는 Azure 데이터 센터의 그룹으로, 이를 활용하면 재해 복구와 가용성을 보장할 수 있습니다.
정답: 아니오
Azure에서 99.99% 가용성을 달성하려면 가상 머신을 두 개 이상의 가용성 영역(Availability Zones)에 분산 배치해야 합니다. 가상 머신을 한 개의 가용성 영역에만 배치하면 그 영역에 장애가 발생할 경우 전체 시스템이 영향을 받을 수 있어 99.99% 가용성을 보장할 수 없습니다.
따라서 99.99% 가용성을 위해서는 두 개 이상의 가상 머신을 두 개 이상의 가용성 영역에 배치해야 합니다.
질문 #20
가상 머신에 설치될 중요한 LOB 애플리케이션을 Azure에 배포하는 작업이 지정되었습니다.
애플리케이션 배포 전략은 99.99%의 보장된 가용성을 허용해야 한다는 정보를 받았습니다. 전략에 필요한 가상 머신과 가용성 영역이 가능한 한 적은지 확인해야 합니다.
솔루션: 전략에 가상 머신 하나와 가용성 영역 두 개를 포함합니다.
솔루션이 목표를 충족합니까?
- A. 네
- B. 아니오
- 99.99% 가용성의 의미
Azure에서 99.99% 가용성을 제공한다는 것은 해당 애플리케이션이나 서비스가 연중 99.99% 시간 동안 정상적으로 동작해야 한다는 의미입니다. 연간 허용되는 최대 다운타임은 약 52.56분 정도입니다. 이를 달성하려면 장애 발생 시에도 애플리케이션이 지속적으로 동작할 수 있도록 중복성과 복원력을 갖춘 인프라 설계가 필수적입니다. - Azure의 가용성 모델
Azure는 SLA(서비스 수준 계약)에 따라 가상 머신의 가용성을 다음과 같이 보장합니다:- 단일 가상 머신: 한 개의 가상 머신을 사용하면 Azure는 99.9%의 가용성을 보장합니다. 이는 연간 약 8.76시간의 다운타임을 허용합니다.
- 가상 머신 두 대 이상을 가용성 영역에 배치한 경우: 서로 다른 가용성 영역에 두 개 이상의 가상 머신을 배포하면 Azure는 99.99%의 가용성을 보장합니다. 이 방법으로 장애가 발생해도 다른 가용성 영역에서 가상 머신이 계속 운영되기 때문에 서비스 중단 가능성을 최소화할 수 있습니다.
- 가용성 영역(Availability Zone)의 역할
가용성 영역은 Azure의 리전(Region) 내에 있는 물리적으로 분리된 데이터 센터 그룹입니다. 각 가용성 영역은 전력, 네트워크, 냉각 시스템이 독립적이어서 한 가용성 영역에 문제가 발생하더라도 다른 가용성 영역은 영향을 받지 않습니다.
따라서 높은 가용성을 달성하기 위해서는 애플리케이션을 두 개 이상의 가용성 영역에 분산 배치해야 합니다. 이러한 방식으로 재해나 시스템 오류 발생 시에도 다른 가용성 영역에서 서비스가 계속 운영될 수 있습니다. - 99.99% 가용성을 달성하기 위한 Azure 배포 전략
- 두 개 이상의 가상 머신을 서로 다른 가용성 영역에 배포해야 합니다.
- 이렇게 하면 한 가용성 영역에서 문제가 발생해도 다른 영역에서 가상 머신이 계속 작동하여 애플리케이션이 중단되지 않습니다.
- Azure는 이 구성에서 99.99% SLA를 보장합니다.
- 두 개 이상의 가상 머신을 서로 다른 가용성 영역에 배포해야 합니다.
- 다른 고려 사항
- 부하 분산기(Azure Load Balancer)를 사용하여 두 개의 가상 머신 간에 트래픽을 분배하면, 한 가상 머신이 다운되더라도 다른 가상 머신이 요청을 처리할 수 있어 가용성을 더욱 높일 수 있습니다.
- 자동 복구(Auto-recovery) 및 자동 확장(Auto-scaling) 기능을 통해 시스템 부하에 따라 가상 머신을 자동으로 추가하거나 제거하여 성능과 비용 효율성을 조정할 수 있습니다.
정답: 아니오
제시된 솔루션에서는 하나의 가상 머신을 두 개의 가용성 영역에 배치하려고 하고 있습니다. 하지만 가용성 영역 간에 단일 가상 머신을 배포하는 것은 불가능합니다. 가상 머신은 물리적으로 한 가용성 영역에만 속할 수 있기 때문에, 가용성 영역이 두 개 있어도 단일 가상 머신이 하나의 가용성 영역에서만 동작합니다. 만약 해당 가용성 영역에 문제가 생기면 애플리케이션도 중단될 수 있습니다.
또한 99.99% 가용성을 보장하려면 단일 가상 머신으로는 불가능합니다. 두 개 이상의 가상 머신을 두 개 이상의 가용성 영역에 배포해야만 장애 발생 시에도 서비스가 지속될 수 있습니다.
'자격증' 카테고리의 다른 글
Azure Fundamentals | AZ-900 | 문제 풀이 #31~35 (2) | 2024.10.22 |
---|---|
Azure Fundamentals | AZ-900 | 문제 풀이 #21~30 (3) | 2024.10.22 |
Azure Fundamentals | AZ-900 | 문제 풀이 #11~15 (4) | 2024.10.15 |
Azure Fundamentals | AZ-900 | 문제 풀이 #7~10 (4) | 2024.10.14 |
Azure Fundamentals | AZ-900 | 문제 풀이 #1~6 (2) | 2024.10.11 |