AZ-204-KR 문제 21
사례 연구 3 - 시티 파워 앤 라이트
배경
시티 파워 앤 라이트(City Power & Light)는 가정 및 기업을 위한 전기 인프라 모니터링 솔루션을 제공하는 회사입니다. 이 회사는 솔루션을 Azure로 이전하고 있습니다.
현재 환경
건축 개요
해당 회사는 http://www.cpandl.com/ 주소에 공개 웹사이트를 운영하고 있습니다. 이 사이트는 Linux 기반 Azure App Service에서 실행되는 단일 페이지 웹 애플리케이션입니다. 웹사이트는 Azure Storage에 저장되고 Azure 콘텐츠 전송 네트워크(CDN)에 캐시된 파일을 사용하여 정적 콘텐츠를 제공합니다.
API Management와 Azure Function App 함수는 Azure Database for PostgreSQL에서 데이터를 처리하고 저장하는 데 사용됩니다. API Management는 Logic App 통합을 위해 Azure Function App 함수와의 통신을 중개하는 역할을 합니다. Logic App은 데이터 처리를 오케스트레이션하는 데 사용되며, Service Bus와 Event Grid는 메시징 및 이벤트를 처리합니다.
이 솔루션은 Application Insights, Azure Monitor 및 Azure Key Vault를 사용합니다.
건축도
이 회사는 사업을 지원하는 여러 애플리케이션과 서비스를 보유하고 있습니다. 회사는 가능한 한 서버리스 컴퓨팅을 구현할 계획입니다. 전체 아키텍처는 아래 그림과 같습니다.

사용자 인증
다음 단계는 사용자 인증 프로세스를 자세히 설명합니다.
31. 사용자가 웹사이트에서 로그인을 선택합니다.
32. 브라우저는 사용자를 Azure Active Directory(Azure AD) 로그인 페이지로 리디렉션합니다.
33. 사용자가 로그인합니다.
34. Azure AD는 사용자의 세션을 웹 애플리케이션으로 다시 리디렉션합니다. URL에는 액세스 토큰이 포함됩니다.
35. 웹 애플리케이션은 API를 호출하고 인증 헤더에 액세스 토큰을 포함합니다 .
애플리케이션 ID는 액세스 토큰의 audience('aud') 클레임으로 전송됩니다.
36. 백엔드 API는 액세스 토큰의 유효성을 검사합니다.
요구 사항
기업 웹사이트
* 통신 및 콘텐츠는 SSL을 사용하여 보호되어야 합니다.
* 모든 통신은 HTTPS를 사용해야 합니다.
* 데이터는 보조 지역과 세 개의 가용 영역에 복제되어야 합니다.
* 데이터 저장 비용을 최소화해야 합니다.
Azure Database for PostgreSQL
데이터베이스 연결 문자열은 다음과 같은 속성을 가지고 Azure Key Vault에 저장됩니다.
* Azure Key Vault 이름: cpandlkeyvault
* 비밀 이름: PostgreSQLConn
* ID: 80df3e46ffcd4f1cb187f79905e9a1e8
연결 정보는 자주 업데이트됩니다. 애플리케이션은 데이터베이스에 연결할 때 항상 최신 정보를 사용해야 합니다.
Azure Service Bus 및 Azure Event Grid
* Azure Event Grid는 큐 기반 로드 밸런싱을 위해 Azure Service Bus를 사용해야 합니다.
* Azure Event Grid의 이벤트는 버퍼링에 사용하기 위해 Service Bus 큐로 직접 라우팅되어야 합니다.
* Azure Service Bus 및 기타 Azure 서비스의 이벤트는 계속해서 Azure로 라우팅되어야 합니다.
이벤트 그리드를 사용하여 처리합니다.
보안
* 모든 SSL 인증서와 자격 증명은 Azure Key Vault에 저장해야 합니다.
* 파일 액세스는 IP 주소, 프로토콜 및 Azure AD 권한에 따라 제한되어야 합니다.
* 모든 사용자 계정과 프로세스는 필수적인 권한만 부여받아야 합니다.
의도된 기능을 수행합니다.
규정 준수
GDPR(일반 데이터 보호 규정)을 준수하려면 파일 업데이트 및 전송에 대한 감사 기능이 활성화되어야 합니다. 파일 업데이트는 읽기 전용이어야 하며, 발생 순서대로 저장되고, 생성, 업데이트, 삭제 및 복사 작업만 포함해야 하며, 규정 준수 목적으로 보관되어야 합니다.
문제점
기업 웹사이트
사이트 테스트 중 다음과 같은 오류 메시지가 표시됩니다.
암호화 예외: 지정된 파일을 찾을 수 없습니다.
함수 앱
RequestUserApproval 함수에 대한 로컬 테스트를 수행하는 동안 다음과 같은 오류 메시지가 표시됩니다.
'함수 RequestUserApproval에서 시간 초과 값 00:10:00이 초과되었습니다.'
Azure 개발 환경에서 다음 Kusto 쿼리를 실행하여 함수를 테스트할 때도 동일한 오류 메시지가 표시됩니다.
FunctionAppLogs
| FunctionName이 "RequestUserApproval"과 같은 경우
논리 앱
개발 환경에서 로직 앱을 테스트하는 동안 다음과 같은 오류 메시지가 표시됩니다.
'400개의 잘못된 요청'
오류 해결 과정에서 RequestUserApproval 함수를 호출하는 HttpTrigger 액션이 발견되었습니다.
암호
기업 웹사이트
Security.cs:

함수 앱
RequestUserApproval.cs:

드래그 앤 드롭 질문
회사 웹사이트의 오류를 수정해야 합니다.
어떤 네 가지 조치를 순서대로 수행하는 것이 가장 좋다고 생각하십니까? 정답을 선택하려면, 목록에서 적절한 조치를 골라 답란에 옮겨 올바른 순서대로 배열하십시오.

배경
시티 파워 앤 라이트(City Power & Light)는 가정 및 기업을 위한 전기 인프라 모니터링 솔루션을 제공하는 회사입니다. 이 회사는 솔루션을 Azure로 이전하고 있습니다.
현재 환경
건축 개요
해당 회사는 http://www.cpandl.com/ 주소에 공개 웹사이트를 운영하고 있습니다. 이 사이트는 Linux 기반 Azure App Service에서 실행되는 단일 페이지 웹 애플리케이션입니다. 웹사이트는 Azure Storage에 저장되고 Azure 콘텐츠 전송 네트워크(CDN)에 캐시된 파일을 사용하여 정적 콘텐츠를 제공합니다.
API Management와 Azure Function App 함수는 Azure Database for PostgreSQL에서 데이터를 처리하고 저장하는 데 사용됩니다. API Management는 Logic App 통합을 위해 Azure Function App 함수와의 통신을 중개하는 역할을 합니다. Logic App은 데이터 처리를 오케스트레이션하는 데 사용되며, Service Bus와 Event Grid는 메시징 및 이벤트를 처리합니다.
이 솔루션은 Application Insights, Azure Monitor 및 Azure Key Vault를 사용합니다.
건축도
이 회사는 사업을 지원하는 여러 애플리케이션과 서비스를 보유하고 있습니다. 회사는 가능한 한 서버리스 컴퓨팅을 구현할 계획입니다. 전체 아키텍처는 아래 그림과 같습니다.

사용자 인증
다음 단계는 사용자 인증 프로세스를 자세히 설명합니다.
31. 사용자가 웹사이트에서 로그인을 선택합니다.
32. 브라우저는 사용자를 Azure Active Directory(Azure AD) 로그인 페이지로 리디렉션합니다.
33. 사용자가 로그인합니다.
34. Azure AD는 사용자의 세션을 웹 애플리케이션으로 다시 리디렉션합니다. URL에는 액세스 토큰이 포함됩니다.
35. 웹 애플리케이션은 API를 호출하고 인증 헤더에 액세스 토큰을 포함합니다 .
애플리케이션 ID는 액세스 토큰의 audience('aud') 클레임으로 전송됩니다.
36. 백엔드 API는 액세스 토큰의 유효성을 검사합니다.
요구 사항
기업 웹사이트
* 통신 및 콘텐츠는 SSL을 사용하여 보호되어야 합니다.
* 모든 통신은 HTTPS를 사용해야 합니다.
* 데이터는 보조 지역과 세 개의 가용 영역에 복제되어야 합니다.
* 데이터 저장 비용을 최소화해야 합니다.
Azure Database for PostgreSQL
데이터베이스 연결 문자열은 다음과 같은 속성을 가지고 Azure Key Vault에 저장됩니다.
* Azure Key Vault 이름: cpandlkeyvault
* 비밀 이름: PostgreSQLConn
* ID: 80df3e46ffcd4f1cb187f79905e9a1e8
연결 정보는 자주 업데이트됩니다. 애플리케이션은 데이터베이스에 연결할 때 항상 최신 정보를 사용해야 합니다.
Azure Service Bus 및 Azure Event Grid
* Azure Event Grid는 큐 기반 로드 밸런싱을 위해 Azure Service Bus를 사용해야 합니다.
* Azure Event Grid의 이벤트는 버퍼링에 사용하기 위해 Service Bus 큐로 직접 라우팅되어야 합니다.
* Azure Service Bus 및 기타 Azure 서비스의 이벤트는 계속해서 Azure로 라우팅되어야 합니다.
이벤트 그리드를 사용하여 처리합니다.
보안
* 모든 SSL 인증서와 자격 증명은 Azure Key Vault에 저장해야 합니다.
* 파일 액세스는 IP 주소, 프로토콜 및 Azure AD 권한에 따라 제한되어야 합니다.
* 모든 사용자 계정과 프로세스는 필수적인 권한만 부여받아야 합니다.
의도된 기능을 수행합니다.
규정 준수
GDPR(일반 데이터 보호 규정)을 준수하려면 파일 업데이트 및 전송에 대한 감사 기능이 활성화되어야 합니다. 파일 업데이트는 읽기 전용이어야 하며, 발생 순서대로 저장되고, 생성, 업데이트, 삭제 및 복사 작업만 포함해야 하며, 규정 준수 목적으로 보관되어야 합니다.
문제점
기업 웹사이트
사이트 테스트 중 다음과 같은 오류 메시지가 표시됩니다.
암호화 예외: 지정된 파일을 찾을 수 없습니다.
함수 앱
RequestUserApproval 함수에 대한 로컬 테스트를 수행하는 동안 다음과 같은 오류 메시지가 표시됩니다.
'함수 RequestUserApproval에서 시간 초과 값 00:10:00이 초과되었습니다.'
Azure 개발 환경에서 다음 Kusto 쿼리를 실행하여 함수를 테스트할 때도 동일한 오류 메시지가 표시됩니다.
FunctionAppLogs
| FunctionName이 "RequestUserApproval"과 같은 경우
논리 앱
개발 환경에서 로직 앱을 테스트하는 동안 다음과 같은 오류 메시지가 표시됩니다.
'400개의 잘못된 요청'
오류 해결 과정에서 RequestUserApproval 함수를 호출하는 HttpTrigger 액션이 발견되었습니다.
암호
기업 웹사이트
Security.cs:

함수 앱
RequestUserApproval.cs:

드래그 앤 드롭 질문
회사 웹사이트의 오류를 수정해야 합니다.
어떤 네 가지 조치를 순서대로 수행하는 것이 가장 좋다고 생각하십니까? 정답을 선택하려면, 목록에서 적절한 조치를 골라 답란에 옮겨 올바른 순서대로 배열하십시오.

AZ-204-KR 문제 22
GPU 리소스를 사용하여 렌더링 프로세스를 최적화하는 이미지 렌더링용 Python 애플리케이션을 개발합니다. ACI(Azure Container Instances) Linux 컨테이너에 애플리케이션을 배포합니다.
애플리케이션은 컨테이너가 시작될 때 암호 값을 전달해야 합니다. 이 값은 컨테이너 내에서만 액세스해야 합니다.
비밀 값을 전달해야 합니다.
이 목표를 달성하기 위해 가능한 두 가지 방법은 무엇입니까? 각 정답은 완전한 솔루션을 제시합니다.
참고: 각 올바른 선택은 1점의 가치가 있습니다.
애플리케이션은 컨테이너가 시작될 때 암호 값을 전달해야 합니다. 이 값은 컨테이너 내에서만 액세스해야 합니다.
비밀 값을 전달해야 합니다.
이 목표를 달성하기 위해 가능한 두 가지 방법은 무엇입니까? 각 정답은 완전한 솔루션을 제시합니다.
참고: 각 올바른 선택은 1점의 가치가 있습니다.
AZ-204-KR 문제 23
핫스팟 질문
타사 시스템에서 제공하는 JSON 문서를 처리하는 여러 Azure Functions 앱 함수를 개발합니다. 해당 타사 시스템은 청구, 재고 및 배송 업데이트와 같은 수백 가지 이벤트 유형을 포함하여 Azure Event Grid에 이벤트를 게시합니다.
Azure Functions 앱에서 이벤트를 처리하려면 모든 이벤트가 단일 엔드포인트로 전송되어야 합니다. 이벤트는 처리 전에 이벤트 유형별로 필터링되어야 합니다. 이벤트 데이터를 수신할 테넌트를 분할하려면 권한 부여 및 인증 제어가 필요합니다.
Azure Event Grid를 구성해야 합니다.
어떤 설정을 사용해야 할까요? 답변하려면 답변란에서 적절한 값을 선택하세요.
참고: 정답 하나당 1점입니다.

타사 시스템에서 제공하는 JSON 문서를 처리하는 여러 Azure Functions 앱 함수를 개발합니다. 해당 타사 시스템은 청구, 재고 및 배송 업데이트와 같은 수백 가지 이벤트 유형을 포함하여 Azure Event Grid에 이벤트를 게시합니다.
Azure Functions 앱에서 이벤트를 처리하려면 모든 이벤트가 단일 엔드포인트로 전송되어야 합니다. 이벤트는 처리 전에 이벤트 유형별로 필터링되어야 합니다. 이벤트 데이터를 수신할 테넌트를 분할하려면 권한 부여 및 인증 제어가 필요합니다.
Azure Event Grid를 구성해야 합니다.
어떤 설정을 사용해야 할까요? 답변하려면 답변란에서 적절한 값을 선택하세요.
참고: 정답 하나당 1점입니다.

AZ-204-KR 문제 24
사례 연구 2 - 코호 와이너리
라벨 제작 앱
Coho Winery는 다양한 와인을 생산하고 전 세계에 유통합니다. 당신은 Azure 솔루션을 사용하여 온라인 주문 처리를 지원하는 확장성과 안정성이 뛰어난 애플리케이션을 구현하는 개발자입니다.
Coho Winery는 와인 병 라벨을 인쇄하는 LabelMaker 애플리케이션을 사용합니다. 이 애플리케이션은 여러 프린터로 데이터를 전송합니다. 애플리케이션은 가상 머신(VM)에서 독립적으로 실행되는 5개의 모듈로 구성됩니다. Coho Winery는 이 애플리케이션을 Azure로 이전하고 라벨 생성 기능을 계속 지원할 계획입니다.
외부 파트너는 맞춤형 라벨 디자인에 필요한 아트워크와 텍스트를 포함하기 위해 LabelMaker 애플리케이션으로 데이터를 전송합니다.
데이터
데이터 관리 및 조작에 필요한 다음과 같은 요구사항을 파악했습니다.
* 주문 데이터는 비관계형 JSON 형식으로 저장되므로 구조화된 쿼리를 사용하여 조회해야 합니다.
언어(SQL).
* 주문 데이터 변경 사항은 모든 파티션에 즉시 반영되어야 합니다. 주문에 대한 모든 읽기 작업은 다음과 같습니다.
데이터는 가장 최근에 기록된 내용을 가져와야 합니다.
다음과 같은 보안 요구 사항이 있습니다.
* 코호 와이너리 애플리케이션 사용자는 문서, 리소스에 대한 접근 권한을 제공할 수 있어야 합니다.
그리고 외부 파트너에게 제출하는 신청서입니다.
* 외부 파트너는 자체 자격 증명을 사용하고 소속 기관의 계정으로 인증해야 합니다.
신원 관리 솔루션.
* 외부 파트너 로그인 내역은 사용자 계정의 애플리케이션 사용 여부를 확인하기 위해 매월 감사해야 합니다.
회사 규정 준수를 유지하는 관리자.
* 전자상거래 애플리케이션 설정은 Azure Key Vault에 저장해야 합니다.
* 전자상거래 애플리케이션 로그인은 Azure App Service 인증을 사용하여 보안을 강화해야 합니다.
및 Azure Active Directory(AAD).
* 회사 콘텐츠를 보호하기 위해 애플리케이션 수준에서 조건부 액세스 정책을 적용해야 합니다.
LabelMaker 애플리케이션은 모든 권한을 가진 AAD 계정을 사용하여 보안을 유지해야 합니다.
Azure Kubernetes Service(AKS) 클러스터의 모든 네임스페이스.
라벨 제작 앱
Azure Monitor 컨테이너 상태는 Kubernetes 환경에 배포되고 Azure Kubernetes Service(AKS)에서 호스팅되는 워크로드의 성능을 모니터링하는 데 사용해야 합니다.
AKS 배포를 지원하는 이미지를 게시하려면 Azure Container Registry를 사용해야 합니다.

프린터 API 앱 호출이 프린터 통신 시간 초과로 인해 주기적으로 실패합니다.
프린터 통신 시간 초과는 10초 후에 발생합니다. 라벨 프린터는 1분 내에 최대 5번의 통신 시도만 허용해야 합니다.
주문 워크플로가 Azure에 처음 배포될 때 실행되지 않습니다.
주문 .json

드래그 앤 드롭 질문
LabelMaker 애플리케이션의 새 버전을 배포해야 합니다.
어떤 세 가지 행동을 순서대로 수행해야 할까요? 정답을 선택하려면, 행동 목록에서 적절한 행동을 골라 답란에 옮겨 올바른 순서대로 배열하세요.
참고: 정답 하나당 1점입니다.

라벨 제작 앱
Coho Winery는 다양한 와인을 생산하고 전 세계에 유통합니다. 당신은 Azure 솔루션을 사용하여 온라인 주문 처리를 지원하는 확장성과 안정성이 뛰어난 애플리케이션을 구현하는 개발자입니다.
Coho Winery는 와인 병 라벨을 인쇄하는 LabelMaker 애플리케이션을 사용합니다. 이 애플리케이션은 여러 프린터로 데이터를 전송합니다. 애플리케이션은 가상 머신(VM)에서 독립적으로 실행되는 5개의 모듈로 구성됩니다. Coho Winery는 이 애플리케이션을 Azure로 이전하고 라벨 생성 기능을 계속 지원할 계획입니다.
외부 파트너는 맞춤형 라벨 디자인에 필요한 아트워크와 텍스트를 포함하기 위해 LabelMaker 애플리케이션으로 데이터를 전송합니다.
데이터
데이터 관리 및 조작에 필요한 다음과 같은 요구사항을 파악했습니다.
* 주문 데이터는 비관계형 JSON 형식으로 저장되므로 구조화된 쿼리를 사용하여 조회해야 합니다.
언어(SQL).
* 주문 데이터 변경 사항은 모든 파티션에 즉시 반영되어야 합니다. 주문에 대한 모든 읽기 작업은 다음과 같습니다.
데이터는 가장 최근에 기록된 내용을 가져와야 합니다.
다음과 같은 보안 요구 사항이 있습니다.
* 코호 와이너리 애플리케이션 사용자는 문서, 리소스에 대한 접근 권한을 제공할 수 있어야 합니다.
그리고 외부 파트너에게 제출하는 신청서입니다.
* 외부 파트너는 자체 자격 증명을 사용하고 소속 기관의 계정으로 인증해야 합니다.
신원 관리 솔루션.
* 외부 파트너 로그인 내역은 사용자 계정의 애플리케이션 사용 여부를 확인하기 위해 매월 감사해야 합니다.
회사 규정 준수를 유지하는 관리자.
* 전자상거래 애플리케이션 설정은 Azure Key Vault에 저장해야 합니다.
* 전자상거래 애플리케이션 로그인은 Azure App Service 인증을 사용하여 보안을 강화해야 합니다.
및 Azure Active Directory(AAD).
* 회사 콘텐츠를 보호하기 위해 애플리케이션 수준에서 조건부 액세스 정책을 적용해야 합니다.
LabelMaker 애플리케이션은 모든 권한을 가진 AAD 계정을 사용하여 보안을 유지해야 합니다.
Azure Kubernetes Service(AKS) 클러스터의 모든 네임스페이스.
라벨 제작 앱
Azure Monitor 컨테이너 상태는 Kubernetes 환경에 배포되고 Azure Kubernetes Service(AKS)에서 호스팅되는 워크로드의 성능을 모니터링하는 데 사용해야 합니다.
AKS 배포를 지원하는 이미지를 게시하려면 Azure Container Registry를 사용해야 합니다.

프린터 API 앱 호출이 프린터 통신 시간 초과로 인해 주기적으로 실패합니다.
프린터 통신 시간 초과는 10초 후에 발생합니다. 라벨 프린터는 1분 내에 최대 5번의 통신 시도만 허용해야 합니다.
주문 워크플로가 Azure에 처음 배포될 때 실행되지 않습니다.
주문 .json

드래그 앤 드롭 질문
LabelMaker 애플리케이션의 새 버전을 배포해야 합니다.
어떤 세 가지 행동을 순서대로 수행해야 할까요? 정답을 선택하려면, 행동 목록에서 적절한 행동을 골라 답란에 옮겨 올바른 순서대로 배열하세요.
참고: 정답 하나당 1점입니다.

AZ-204-KR 문제 25
드래그 앤 드롭 질문
여러분은 serviceA, serviceB, serviceC라는 이름의 여러 마이크로서비스를 개발하고 있습니다. 이러한 마이크로서비스를 새로운 Azure Container Apps 환경에 배포합니다.
다음과 같은 요건을 충족해야 합니다.
- 마이크로서비스는 데이터를 스토리지에 영구 저장해야 합니다.
- serviceA는 현재 컨테이너에서만 볼 수 있는 데이터를 영구 저장해야 합니다.
저장 용량은 컨테이너에서 사용 가능한 디스크 공간으로 제한되어야 합니다.
- serviceB는 복제본의 수명 동안 데이터를 유지하고 허용해야 합니다.
복제본 내의 여러 컨테이너가 동일한 스토리지 위치를 마운트합니다.
- serviceC는 복제본의 수명보다 더 오랫동안 데이터를 유지해야 합니다.
여러 컨테이너가 스토리지에 액세스할 수 있도록 하고 각 컨테이너별로 활성화할 수 있습니다.
객체 권한.
각 마이크로서비스에 대한 스토리지 설정을 구성해야 합니다.
어떤 저장소 유형을 사용해야 할까요? 답을 찾으려면 적절한 저장소 유형을 해당 마이크로서비스로 드래그하세요. 각 저장소 유형은 한 번, 여러 번 또는 전혀 사용되지 않을 수 있습니다. 콘텐츠를 보려면 창 사이의 분할 막대를 드래그하거나 스크롤해야 할 수도 있습니다.
참고: 정답 하나당 1점입니다.

여러분은 serviceA, serviceB, serviceC라는 이름의 여러 마이크로서비스를 개발하고 있습니다. 이러한 마이크로서비스를 새로운 Azure Container Apps 환경에 배포합니다.
다음과 같은 요건을 충족해야 합니다.
- 마이크로서비스는 데이터를 스토리지에 영구 저장해야 합니다.
- serviceA는 현재 컨테이너에서만 볼 수 있는 데이터를 영구 저장해야 합니다.
저장 용량은 컨테이너에서 사용 가능한 디스크 공간으로 제한되어야 합니다.
- serviceB는 복제본의 수명 동안 데이터를 유지하고 허용해야 합니다.
복제본 내의 여러 컨테이너가 동일한 스토리지 위치를 마운트합니다.
- serviceC는 복제본의 수명보다 더 오랫동안 데이터를 유지해야 합니다.
여러 컨테이너가 스토리지에 액세스할 수 있도록 하고 각 컨테이너별로 활성화할 수 있습니다.
객체 권한.
각 마이크로서비스에 대한 스토리지 설정을 구성해야 합니다.
어떤 저장소 유형을 사용해야 할까요? 답을 찾으려면 적절한 저장소 유형을 해당 마이크로서비스로 드래그하세요. 각 저장소 유형은 한 번, 여러 번 또는 전혀 사용되지 않을 수 있습니다. 콘텐츠를 보려면 창 사이의 분할 막대를 드래그하거나 스크롤해야 할 수도 있습니다.
참고: 정답 하나당 1점입니다.





