AZ-204-KR 문제 76
사례 연구 5 - 와이드 월드 임포터스
배경
Wide World Importers는 모든 데이터센터를 Azure로 이전하고 있습니다. 이 회사는 공급망 운영을 지원하는 여러 애플리케이션과 서비스를 개발했으며, 가능한 한 서버리스 컴퓨팅을 활용하고자 합니다.
현재 환경
Windows Server 2016 가상 머신
이 가상 머신(VM)은 Biz Talk Server 2016을 실행합니다. 이 VM은 다음 워크플로를 실행합니다.
* 해상 운송 - 이 워크플로는 컨테이너 정보를 수집하고 검증합니다.
컨테이너 내용물 및 각 항구의 도착 신고.
* 내륙 운송 - 이 워크플로는 연료를 포함한 트럭 운송 정보를 수집하고 검증합니다.
이용률, 정류장 수 및 노선.
VM은 다음과 같은 REST API 호출을 지원합니다.
* 컨테이너 API - 이 API는 무게, 내용물 및 기타 정보를 포함한 컨테이너 정보를 제공합니다.
속성.
* 위치 API - 이 API는 선박 기항지 및 트럭의 위치 정보를 제공합니다.
멈춥니다.
* 배송 REST API - 이 API는 웹사이트에서 사용 및 표시할 수 있는 배송 정보를 제공합니다.
배송 웹사이트.
배송 데이터
이 애플리케이션은 모든 컨테이너 및 운송 정보를 저장하기 위해 MongoDB JSON 문서 저장소 데이터베이스를 사용합니다.
배송 웹사이트
해당 사이트는 배송 컨테이너 추적 정보와 컨테이너 내용물을 표시합니다. 사이트 주소는 http://shipping.wideworldimporters.com입니다. 제안된 해결책은 온프레미스 배송 애플리케이션을 Azure로 마이그레이션하는 것입니다. 기존 VM은 Azure Site Recovery를 사용하여 새로운 Standard_D16s_v3 Azure VM으로 마이그레이션되었으며, BizTalk 구성 요소 마이그레이션을 완료하려면 Azure에서 계속 실행되어야 합니다. BizTalk Server를 호스팅하기 위해 Standard_D16s_v3 Azure VM을 생성합니다. 제안된 솔루션의 Azure 아키텍처 다이어그램은 아래와 같습니다.

배송 로직 앱
Shipping Logic 앱은 다음 요구 사항을 충족해야 합니다.
* 로직 앱을 사용하여 해상 운송 및 내륙 운송 워크플로를 지원합니다.
* 선박을 포함한 다양한 메시지에 대해 업계 표준 프로토콜인 X12 메시지 형식을 지원합니다.
콘텐츠 세부 정보 및 도착 알림.
* 기업 가상 네트워크(VNet)에 대한 보안 리소스를 확보하고 고정된 전용 스토리지 리소스를 사용하십시오.
원가 모델.
* 기존 애플리케이션 및 최종 BizTalk 마이그레이션을 지원하기 위해 온프레미스 연결을 유지합니다.
배송 기능 앱
앱 수준 보안을 사용하고 Azure Active Directory(Azure AD)를 포함하여 안전한 함수 엔드포인트를 구현하세요.
REST API
솔루션을 지원하는 REST API는 다음 요구 사항을 충족해야 합니다.
* 기업 가상 네트워크(VNet)에 대한 보안 리소스를 확보합니다.
* 추가 비용 없이 Azure 내 테스트 위치에 배포할 수 있습니다.
* 배송량이 가장 많은 시기에는 애플리케이션에 영향을 주지 않고 자동으로 용량을 두 배로 늘릴 수 있습니다.
중단 시간.
Azure 결제 모델을 선택할 때 비용을 최소화하세요.
배송 데이터
온프레미스에서 Azure로의 데이터 마이그레이션은 비용과 다운타임을 최소화해야 합니다.
배송 웹사이트
Azure 콘텐츠 전송 네트워크(CDN)를 사용하여 동적 콘텐츠에 대한 최대 성능을 보장하고 지연 시간과 비용을 최소화하세요.
문제점
Windows Server 2016 VM
해당 가상 머신(VM)은 높은 네트워크 지연 시간, 지터 및 높은 CPU 사용률을 보입니다. 이 VM은 매우 중요하며 과거에 백업된 적이 없습니다. VM은 장애 발생 시 디스크의 제자리 복원을 포함하여 7일 스냅샷에서 빠른 복원이 가능해야 합니다.
배송 웹사이트 및 REST API
웹사이트 테스트 중에 다음과 같은 오류 메시지가 표시됩니다.

Shipping Logic 앱의 보안을 강화해야 합니다.
무엇을 사용해야 할까요?
배경
Wide World Importers는 모든 데이터센터를 Azure로 이전하고 있습니다. 이 회사는 공급망 운영을 지원하는 여러 애플리케이션과 서비스를 개발했으며, 가능한 한 서버리스 컴퓨팅을 활용하고자 합니다.
현재 환경
Windows Server 2016 가상 머신
이 가상 머신(VM)은 Biz Talk Server 2016을 실행합니다. 이 VM은 다음 워크플로를 실행합니다.
* 해상 운송 - 이 워크플로는 컨테이너 정보를 수집하고 검증합니다.
컨테이너 내용물 및 각 항구의 도착 신고.
* 내륙 운송 - 이 워크플로는 연료를 포함한 트럭 운송 정보를 수집하고 검증합니다.
이용률, 정류장 수 및 노선.
VM은 다음과 같은 REST API 호출을 지원합니다.
* 컨테이너 API - 이 API는 무게, 내용물 및 기타 정보를 포함한 컨테이너 정보를 제공합니다.
속성.
* 위치 API - 이 API는 선박 기항지 및 트럭의 위치 정보를 제공합니다.
멈춥니다.
* 배송 REST API - 이 API는 웹사이트에서 사용 및 표시할 수 있는 배송 정보를 제공합니다.
배송 웹사이트.
배송 데이터
이 애플리케이션은 모든 컨테이너 및 운송 정보를 저장하기 위해 MongoDB JSON 문서 저장소 데이터베이스를 사용합니다.
배송 웹사이트
해당 사이트는 배송 컨테이너 추적 정보와 컨테이너 내용물을 표시합니다. 사이트 주소는 http://shipping.wideworldimporters.com입니다. 제안된 해결책은 온프레미스 배송 애플리케이션을 Azure로 마이그레이션하는 것입니다. 기존 VM은 Azure Site Recovery를 사용하여 새로운 Standard_D16s_v3 Azure VM으로 마이그레이션되었으며, BizTalk 구성 요소 마이그레이션을 완료하려면 Azure에서 계속 실행되어야 합니다. BizTalk Server를 호스팅하기 위해 Standard_D16s_v3 Azure VM을 생성합니다. 제안된 솔루션의 Azure 아키텍처 다이어그램은 아래와 같습니다.

배송 로직 앱
Shipping Logic 앱은 다음 요구 사항을 충족해야 합니다.
* 로직 앱을 사용하여 해상 운송 및 내륙 운송 워크플로를 지원합니다.
* 선박을 포함한 다양한 메시지에 대해 업계 표준 프로토콜인 X12 메시지 형식을 지원합니다.
콘텐츠 세부 정보 및 도착 알림.
* 기업 가상 네트워크(VNet)에 대한 보안 리소스를 확보하고 고정된 전용 스토리지 리소스를 사용하십시오.
원가 모델.
* 기존 애플리케이션 및 최종 BizTalk 마이그레이션을 지원하기 위해 온프레미스 연결을 유지합니다.
배송 기능 앱
앱 수준 보안을 사용하고 Azure Active Directory(Azure AD)를 포함하여 안전한 함수 엔드포인트를 구현하세요.
REST API
솔루션을 지원하는 REST API는 다음 요구 사항을 충족해야 합니다.
* 기업 가상 네트워크(VNet)에 대한 보안 리소스를 확보합니다.
* 추가 비용 없이 Azure 내 테스트 위치에 배포할 수 있습니다.
* 배송량이 가장 많은 시기에는 애플리케이션에 영향을 주지 않고 자동으로 용량을 두 배로 늘릴 수 있습니다.
중단 시간.
Azure 결제 모델을 선택할 때 비용을 최소화하세요.
배송 데이터
온프레미스에서 Azure로의 데이터 마이그레이션은 비용과 다운타임을 최소화해야 합니다.
배송 웹사이트
Azure 콘텐츠 전송 네트워크(CDN)를 사용하여 동적 콘텐츠에 대한 최대 성능을 보장하고 지연 시간과 비용을 최소화하세요.
문제점
Windows Server 2016 VM
해당 가상 머신(VM)은 높은 네트워크 지연 시간, 지터 및 높은 CPU 사용률을 보입니다. 이 VM은 매우 중요하며 과거에 백업된 적이 없습니다. VM은 장애 발생 시 디스크의 제자리 복원을 포함하여 7일 스냅샷에서 빠른 복원이 가능해야 합니다.
배송 웹사이트 및 REST API
웹사이트 테스트 중에 다음과 같은 오류 메시지가 표시됩니다.

Shipping Logic 앱의 보안을 강화해야 합니다.
무엇을 사용해야 할까요?
AZ-204-KR 문제 77
드래그 앤 드롭 질문
현재 Azure Blob GPv1 Premium 스토리지 계정을 사용하는 기존 애플리케이션을 유지 관리하고 있습니다. 3개월 이상 된 데이터는 거의 사용되지 않습니다.
3개월 이내의 최신 데이터는 즉시 사용 가능해야 합니다. 1년 이상 된 데이터는 저장해야 하지만 즉시 사용 가능할 필요는 없습니다.
지난 1년 동안 수정되지 않은 데이터를 아카이브 스토리지로 이동하는 수명 주기 관리 규칙을 지원하도록 계정을 구성해야 합니다.
어떤 세 가지 행동을 순서대로 수행해야 할까요? 정답을 선택하려면, 행동 목록에서 적절한 행동을 골라 답란에 옮겨 올바른 순서대로 배열하세요.

현재 Azure Blob GPv1 Premium 스토리지 계정을 사용하는 기존 애플리케이션을 유지 관리하고 있습니다. 3개월 이상 된 데이터는 거의 사용되지 않습니다.
3개월 이내의 최신 데이터는 즉시 사용 가능해야 합니다. 1년 이상 된 데이터는 저장해야 하지만 즉시 사용 가능할 필요는 없습니다.
지난 1년 동안 수정되지 않은 데이터를 아카이브 스토리지로 이동하는 수명 주기 관리 규칙을 지원하도록 계정을 구성해야 합니다.
어떤 세 가지 행동을 순서대로 수행해야 할까요? 정답을 선택하려면, 행동 목록에서 적절한 행동을 골라 답란에 옮겨 올바른 순서대로 배열하세요.

AZ-204-KR 문제 78
사례 연구 10 - 포스 커피
배경
포스 커피(Fourth Coffee)는 세계적인 커피 전문점 체인이자 커피 회사로, 세계에서 가장 영향력 있는 커피 브랜드 중 하나로 인정받고 있습니다. 이 회사는 다양한 에스프레소 기반 음료, 차, 기타 음료를 포함한 특별한 커피 음료로 유명합니다. 포스 커피는 전 세계적으로 수천 개의 매장을 운영하고 있습니다.
현재 환경
이 회사는 Azure에서 호스팅되는 클라우드 네이티브 애플리케이션을 개발하고 있습니다.
기업 웹사이트
해당 회사는 http://www.fourthcoffee.com/ 주소의 공개 웹사이트를 운영하고 있습니다. 이 웹사이트는 주문은 물론 재고 품목 조회 및 업데이트에도 사용됩니다.
재고 품목
Fourth Coffee는 핵심 메뉴인 커피 외에도 최근 점심 메뉴, 스낵, 기념품 등 다양한 재고 품목을 추가했습니다. 본사 팀은 재고 목록을 지속적으로 업데이트하며, 사용자는 원하는 품목을 맞춤 설정할 수 있습니다. 본사 팀은 웹사이트에서 재고 품목과 관련 이미지를 설정합니다.
명령
매장 직원들은 고객에게 맞춤형 음료와 상품을 제공합니다. 주문은 웹사이트에서 접수 후 매장에서 픽업할 수 있습니다.
애플리케이션 구성 요소는 다음과 같이 데이터를 처리합니다.
1. Azure Traffic Manager는 사용자 주문 요청을 Azure App Service에서 호스팅되는 회사 웹사이트로 라우팅합니다.
2. Azure 콘텐츠 전송 네트워크는 사용자에게 정적 이미지와 콘텐츠를 제공합니다.
3. 사용자는 고객 테넌트용 Microsoft Entra ID를 통해 애플리케이션에 로그인합니다.
4. 사용자는 Azure Blob Storage에서 상품 이미지를 가져와 웹사이트에서 상품을 검색하고 주문합니다.
5. 항목 사용자 지정은 Azure Service Bus 큐 메시지에 저장됩니다.
6. Azure Functions는 항목 사용자 지정을 처리하고 사용자 지정된 항목을 Azure Cosmos DB에 저장합니다.
7. 웹사이트는 주문 세부 정보를 Azure SQL Database에 저장합니다.
8. SQL 데이터베이스 쿼리 결과는 성능 향상을 위해 Azure Cache for Redis에 캐시됩니다.
이 애플리케이션은 다음과 같은 Azure 서비스로 구성됩니다.

요구 사항
애플리케이션 구성 요소는 다음 요구 사항을 충족해야 합니다.
- Azure Cosmos DB 개발 시에는 최신 업데이트를 수신하고 데이터를 문서 형식으로 저장하는 네이티브 API를 사용해야 합니다.
- 모든 Azure 서비스의 비용을 최소화해야 합니다.
- 개발자는 Azure에 배포하기 전에 Azure Blob Storage 통합을 로컬에서 테스트해야 합니다.
테스트는 Azure Storage API의 최신 버전을 지원해야 합니다.
기업 웹사이트
- 사용자 인증 및 권한 부여는 일회용 비밀번호 로그인 방식과 소셜 ID 제공업체(Google 또는 Facebook)를 허용해야 합니다.
- 정적 웹 콘텐츠는 네트워크 지연 시간을 줄이기 위해 최종 사용자에게 가장 가까운 위치에 저장해야 합니다.
재고 품목
- Azure Cosmos DB에서 읽어오는 사용자 지정 항목은 웹사이트의 현재 사용자에게 정확한 데이터를 제공하면서 처리량을 극대화해야 합니다.
- 재고 품목 업데이트 처리는 자동으로 확장되어야 하며 전체 Azure Cosmos DB 컨테이너에서 업데이트가 가능해야 합니다.
- 재고 품목은 대기열에 등록된 순서대로 처리해야 합니다.
- 재고 품목 이미지는 이미지 파일 업로드 시 블롭 데이터와 함께 저장되는 교환 가능한 이미지 파일 형식(데이터)을 포함하도록 JPEG 파일 형식으로 저장해야 합니다.
- 재고 품목 API는 Azure Cosmos DB 데이터에 안전하게 액세스해야 합니다.
명령
- 주문은 재고 품목이 업데이트되거나 저장된 후 자동으로 재고 품목 변경 사항을 반영해야 합니다.
문제점
- 개발자들이 인벤토리 항목 API 코드 내에서 Azure Cosmos DB 자격 증명을 안전하지 않은 평문 형태로 저장하고 있습니다.
- 프로덕션 환경의 Azure Cache for Redis 유지 관리로 인해 애플리케이션 성능에 부정적인 영향이 발생했습니다.
Azure Cache for Redis 문제를 해결해야 합니다.
이 목표를 달성할 수 있는 두 가지 방법은 무엇입니까? 각 정답은 해결책의 일부를 나타냅니다.
참고: 정답 하나당 1점입니다.
배경
포스 커피(Fourth Coffee)는 세계적인 커피 전문점 체인이자 커피 회사로, 세계에서 가장 영향력 있는 커피 브랜드 중 하나로 인정받고 있습니다. 이 회사는 다양한 에스프레소 기반 음료, 차, 기타 음료를 포함한 특별한 커피 음료로 유명합니다. 포스 커피는 전 세계적으로 수천 개의 매장을 운영하고 있습니다.
현재 환경
이 회사는 Azure에서 호스팅되는 클라우드 네이티브 애플리케이션을 개발하고 있습니다.
기업 웹사이트
해당 회사는 http://www.fourthcoffee.com/ 주소의 공개 웹사이트를 운영하고 있습니다. 이 웹사이트는 주문은 물론 재고 품목 조회 및 업데이트에도 사용됩니다.
재고 품목
Fourth Coffee는 핵심 메뉴인 커피 외에도 최근 점심 메뉴, 스낵, 기념품 등 다양한 재고 품목을 추가했습니다. 본사 팀은 재고 목록을 지속적으로 업데이트하며, 사용자는 원하는 품목을 맞춤 설정할 수 있습니다. 본사 팀은 웹사이트에서 재고 품목과 관련 이미지를 설정합니다.
명령
매장 직원들은 고객에게 맞춤형 음료와 상품을 제공합니다. 주문은 웹사이트에서 접수 후 매장에서 픽업할 수 있습니다.
애플리케이션 구성 요소는 다음과 같이 데이터를 처리합니다.
1. Azure Traffic Manager는 사용자 주문 요청을 Azure App Service에서 호스팅되는 회사 웹사이트로 라우팅합니다.
2. Azure 콘텐츠 전송 네트워크는 사용자에게 정적 이미지와 콘텐츠를 제공합니다.
3. 사용자는 고객 테넌트용 Microsoft Entra ID를 통해 애플리케이션에 로그인합니다.
4. 사용자는 Azure Blob Storage에서 상품 이미지를 가져와 웹사이트에서 상품을 검색하고 주문합니다.
5. 항목 사용자 지정은 Azure Service Bus 큐 메시지에 저장됩니다.
6. Azure Functions는 항목 사용자 지정을 처리하고 사용자 지정된 항목을 Azure Cosmos DB에 저장합니다.
7. 웹사이트는 주문 세부 정보를 Azure SQL Database에 저장합니다.
8. SQL 데이터베이스 쿼리 결과는 성능 향상을 위해 Azure Cache for Redis에 캐시됩니다.
이 애플리케이션은 다음과 같은 Azure 서비스로 구성됩니다.

요구 사항
애플리케이션 구성 요소는 다음 요구 사항을 충족해야 합니다.
- Azure Cosmos DB 개발 시에는 최신 업데이트를 수신하고 데이터를 문서 형식으로 저장하는 네이티브 API를 사용해야 합니다.
- 모든 Azure 서비스의 비용을 최소화해야 합니다.
- 개발자는 Azure에 배포하기 전에 Azure Blob Storage 통합을 로컬에서 테스트해야 합니다.
테스트는 Azure Storage API의 최신 버전을 지원해야 합니다.
기업 웹사이트
- 사용자 인증 및 권한 부여는 일회용 비밀번호 로그인 방식과 소셜 ID 제공업체(Google 또는 Facebook)를 허용해야 합니다.
- 정적 웹 콘텐츠는 네트워크 지연 시간을 줄이기 위해 최종 사용자에게 가장 가까운 위치에 저장해야 합니다.
재고 품목
- Azure Cosmos DB에서 읽어오는 사용자 지정 항목은 웹사이트의 현재 사용자에게 정확한 데이터를 제공하면서 처리량을 극대화해야 합니다.
- 재고 품목 업데이트 처리는 자동으로 확장되어야 하며 전체 Azure Cosmos DB 컨테이너에서 업데이트가 가능해야 합니다.
- 재고 품목은 대기열에 등록된 순서대로 처리해야 합니다.
- 재고 품목 이미지는 이미지 파일 업로드 시 블롭 데이터와 함께 저장되는 교환 가능한 이미지 파일 형식(데이터)을 포함하도록 JPEG 파일 형식으로 저장해야 합니다.
- 재고 품목 API는 Azure Cosmos DB 데이터에 안전하게 액세스해야 합니다.
명령
- 주문은 재고 품목이 업데이트되거나 저장된 후 자동으로 재고 품목 변경 사항을 반영해야 합니다.
문제점
- 개발자들이 인벤토리 항목 API 코드 내에서 Azure Cosmos DB 자격 증명을 안전하지 않은 평문 형태로 저장하고 있습니다.
- 프로덕션 환경의 Azure Cache for Redis 유지 관리로 인해 애플리케이션 성능에 부정적인 영향이 발생했습니다.
Azure Cache for Redis 문제를 해결해야 합니다.
이 목표를 달성할 수 있는 두 가지 방법은 무엇입니까? 각 정답은 해결책의 일부를 나타냅니다.
참고: 정답 하나당 1점입니다.
AZ-204-KR 문제 79
사례 연구 1 - 리트웨어 주식회사
배경
당신은 직원 경비 관리 솔루션을 제공하는 SaaS 기업인 Litware Inc.의 개발자입니다. 해당 솔루션은 Azure 웹 앱으로 배포되는 ASP.NET Core 웹 API 프로젝트로 구성되어 있습니다.
전체적인 아키텍처
직원들은 영수증을 시스템에 업로드하여 처리합니다. 처리가 완료되면 직원은 처리 결과를 자세히 보여주는 요약 보고서 이메일을 받습니다. 그런 다음 직원들은 웹 애플리케이션을 사용하여 영수증을 관리하고 환급에 필요한 추가 작업을 수행합니다.
영수증 처리
직원들은 다음 두 가지 방법으로 영수증을 업로드할 수 있습니다.
* Azure Files 마운트된 폴더를 사용한 업로드
* 웹 애플리케이션을 이용한 업로드
데이터 저장소
영수증 및 직원 정보는 Azure SQL 데이터베이스에 저장됩니다.
선적 서류 비치
직원들은 솔루션을 처음 사용할 때 시작 안내서를 제공받습니다. 이 안내서에는 Azure 파일 업로드에서 지원되는 운영 체제에 대한 세부 정보와 마운트된 폴더를 구성하는 방법에 대한 지침이 포함되어 있습니다.
솔루션 세부 정보
사용자 테이블

웹 애플리케이션
웹 앱에 대해 MSI를 활성화하고 웹 앱이 보안 주체 이름인 WebAppIdentity를 사용하도록 구성합니다.
처리 중
처리는 Azure Function 런타임 버전 2를 사용하는 Azure Function에 의해 수행됩니다.
처리가 완료되면 결과는 Azure Blob에 저장됩니다.
스토리지와 Azure SQL 데이터베이스를 사용합니다. 그런 다음 처리 보고서 링크가 포함된 이메일 요약이 사용자에게 전송됩니다. 이메일을 다른 사용자에게 전달하는 경우 보고서 링크는 유효한 상태로 유지되어야 합니다.
벌채 반출
Azure Application Insights는 프로세서와 웹 애플리케이션 모두에서 원격 분석 및 로깅에 사용됩니다. 프로세서에는 TraceWriter 로깅도 활성화되어 있습니다.
Application Insights에는 항상 모든 로그 메시지가 포함되어 있어야 합니다.
요구 사항
영수증 처리
영수증의 동시 처리는 방지되어야 합니다.
재해 복구
지역 장애가 애플리케이션 가용성에 영향을 미쳐서는 안 됩니다. 모든 재해 복구(DR) 작업은 애플리케이션 실행에 의존해서는 안 되며, DR 지역의 데이터가 최신 상태인지 확인해야 합니다.
보안
* 사용자의 보안 PIN은 데이터베이스 접근 시 접근 제한으로 인해 접근할 수 없도록 저장되어야 합니다.
보안 핀 보기. 웹 애플리케이션만이 보안 핀에 접근할 수 있어야 합니다.
* 데이터를 보호하는 데 사용되는 모든 인증서와 비밀 키는 Azure Key Vault에 저장해야 합니다.
* 최소 권한 원칙을 준수하고 필수적인 권한만 부여해야 합니다.
의도된 기능을 수행합니다.
* Azure Storage 및 Azure SQL 데이터베이스에 대한 모든 액세스는 애플리케이션의 관리형 스토리지를 사용해야 합니다.
서비스 ID(MSI)
* 영수증 데이터는 저장 시 항상 암호화되어야 합니다.
* 모든 데이터는 전송 중에 보호되어야 합니다.
* 사용자의 경비 계좌 번호는 로그인한 사용자에게만 표시되어야 합니다. 다른 모든 사용자에게는 표시되지 않습니다.
경비 계좌 번호는 마지막 부분만 포함하고 나머지 부분은 가려야 합니다.
* 보안 침해 발생 시 모든 요약 보고서에 대한 접근 권한은 즉시 취소되어야 합니다.
시스템의 다른 부분에 영향을 미칩니다.
문제점
업로드 형식 문제
직원들이 웹 애플리케이션을 사용하여 영수증을 업로드할 때 간혹 문제가 발생한다고 보고합니다. Azure 파일 공유를 통해 영수증을 업로드하면 프로필에 영수증이 나타나지 않는다는 것입니다. 이러한 문제가 발생하면 파일 공유에서 해당 파일을 삭제하고 웹 애플리케이션을 사용하는데, 그러면 500 내부 서버 오류 페이지가 표시됩니다.
용량 문제
업무량이 많은 시간대에는 직원들이 영수증을 업로드한 시점과 웹 애플리케이션에 반영되는 시점 사이에 상당한 지연이 발생한다고 보고합니다.
로그 용량 문제
개발자들은 프로세서의 추적 출력에 나타나는 로그 메시지 수가 너무 많아 로그 메시지가 누락되는 현상이 발생한다고 보고했습니다.
애플리케이션 코드
처리.cs

데이터베이스.cs

ReceiptUploader.cs

ConfigureSSE.ps1

핫스팟 질문
보안 요구사항이 충족되는지 확인해야 합니다.
Database 클래스의 DB03번째 줄에 있는 ConnectionString 필드에 어떤 값을 사용해야 할까요? 정답을 선택하려면 답변 영역에서 적절한 옵션을 고르세요.
참고: 정답 하나당 1점입니다.

배경
당신은 직원 경비 관리 솔루션을 제공하는 SaaS 기업인 Litware Inc.의 개발자입니다. 해당 솔루션은 Azure 웹 앱으로 배포되는 ASP.NET Core 웹 API 프로젝트로 구성되어 있습니다.
전체적인 아키텍처
직원들은 영수증을 시스템에 업로드하여 처리합니다. 처리가 완료되면 직원은 처리 결과를 자세히 보여주는 요약 보고서 이메일을 받습니다. 그런 다음 직원들은 웹 애플리케이션을 사용하여 영수증을 관리하고 환급에 필요한 추가 작업을 수행합니다.
영수증 처리
직원들은 다음 두 가지 방법으로 영수증을 업로드할 수 있습니다.
* Azure Files 마운트된 폴더를 사용한 업로드
* 웹 애플리케이션을 이용한 업로드
데이터 저장소
영수증 및 직원 정보는 Azure SQL 데이터베이스에 저장됩니다.
선적 서류 비치
직원들은 솔루션을 처음 사용할 때 시작 안내서를 제공받습니다. 이 안내서에는 Azure 파일 업로드에서 지원되는 운영 체제에 대한 세부 정보와 마운트된 폴더를 구성하는 방법에 대한 지침이 포함되어 있습니다.
솔루션 세부 정보
사용자 테이블

웹 애플리케이션
웹 앱에 대해 MSI를 활성화하고 웹 앱이 보안 주체 이름인 WebAppIdentity를 사용하도록 구성합니다.
처리 중
처리는 Azure Function 런타임 버전 2를 사용하는 Azure Function에 의해 수행됩니다.
처리가 완료되면 결과는 Azure Blob에 저장됩니다.
스토리지와 Azure SQL 데이터베이스를 사용합니다. 그런 다음 처리 보고서 링크가 포함된 이메일 요약이 사용자에게 전송됩니다. 이메일을 다른 사용자에게 전달하는 경우 보고서 링크는 유효한 상태로 유지되어야 합니다.
벌채 반출
Azure Application Insights는 프로세서와 웹 애플리케이션 모두에서 원격 분석 및 로깅에 사용됩니다. 프로세서에는 TraceWriter 로깅도 활성화되어 있습니다.
Application Insights에는 항상 모든 로그 메시지가 포함되어 있어야 합니다.
요구 사항
영수증 처리
영수증의 동시 처리는 방지되어야 합니다.
재해 복구
지역 장애가 애플리케이션 가용성에 영향을 미쳐서는 안 됩니다. 모든 재해 복구(DR) 작업은 애플리케이션 실행에 의존해서는 안 되며, DR 지역의 데이터가 최신 상태인지 확인해야 합니다.
보안
* 사용자의 보안 PIN은 데이터베이스 접근 시 접근 제한으로 인해 접근할 수 없도록 저장되어야 합니다.
보안 핀 보기. 웹 애플리케이션만이 보안 핀에 접근할 수 있어야 합니다.
* 데이터를 보호하는 데 사용되는 모든 인증서와 비밀 키는 Azure Key Vault에 저장해야 합니다.
* 최소 권한 원칙을 준수하고 필수적인 권한만 부여해야 합니다.
의도된 기능을 수행합니다.
* Azure Storage 및 Azure SQL 데이터베이스에 대한 모든 액세스는 애플리케이션의 관리형 스토리지를 사용해야 합니다.
서비스 ID(MSI)
* 영수증 데이터는 저장 시 항상 암호화되어야 합니다.
* 모든 데이터는 전송 중에 보호되어야 합니다.
* 사용자의 경비 계좌 번호는 로그인한 사용자에게만 표시되어야 합니다. 다른 모든 사용자에게는 표시되지 않습니다.
경비 계좌 번호는 마지막 부분만 포함하고 나머지 부분은 가려야 합니다.
* 보안 침해 발생 시 모든 요약 보고서에 대한 접근 권한은 즉시 취소되어야 합니다.
시스템의 다른 부분에 영향을 미칩니다.
문제점
업로드 형식 문제
직원들이 웹 애플리케이션을 사용하여 영수증을 업로드할 때 간혹 문제가 발생한다고 보고합니다. Azure 파일 공유를 통해 영수증을 업로드하면 프로필에 영수증이 나타나지 않는다는 것입니다. 이러한 문제가 발생하면 파일 공유에서 해당 파일을 삭제하고 웹 애플리케이션을 사용하는데, 그러면 500 내부 서버 오류 페이지가 표시됩니다.
용량 문제
업무량이 많은 시간대에는 직원들이 영수증을 업로드한 시점과 웹 애플리케이션에 반영되는 시점 사이에 상당한 지연이 발생한다고 보고합니다.
로그 용량 문제
개발자들은 프로세서의 추적 출력에 나타나는 로그 메시지 수가 너무 많아 로그 메시지가 누락되는 현상이 발생한다고 보고했습니다.
애플리케이션 코드
처리.cs

데이터베이스.cs

ReceiptUploader.cs

ConfigureSSE.ps1

핫스팟 질문
보안 요구사항이 충족되는지 확인해야 합니다.
Database 클래스의 DB03번째 줄에 있는 ConnectionString 필드에 어떤 값을 사용해야 할까요? 정답을 선택하려면 답변 영역에서 적절한 옵션을 고르세요.
참고: 정답 하나당 1점입니다.

AZ-204-KR 문제 80
당신은 구직 중인 음악가를 찾을 수 있는 애플리케이션을 개발하고 있습니다.
해당 애플리케이션은 음악가, 그들이 연주하는 악기 및 기타 관련 데이터에 대한 정보를 저장해야 합니다.
또한, 해당 애플리케이션은 사용자가 함께 연주한 음악가들을 확인할 수 있도록 해야 하며, 특정 장소에서 함께 공연한 3인 이상의 음악가 그룹을 포함하여 모든 음악가를 검색할 수 있어야 합니다.
애플리케이션에 어떤 Azure Cosmos D6 API를 사용해야 할까요?
해당 애플리케이션은 음악가, 그들이 연주하는 악기 및 기타 관련 데이터에 대한 정보를 저장해야 합니다.
또한, 해당 애플리케이션은 사용자가 함께 연주한 음악가들을 확인할 수 있도록 해야 하며, 특정 장소에서 함께 공연한 3인 이상의 음악가 그룹을 포함하여 모든 음악가를 검색할 수 있어야 합니다.
애플리케이션에 어떤 Azure Cosmos D6 API를 사용해야 할까요?


