Troubleshooting Serverless Applications (Korean)
Offered By: Amazon Web Services via AWS Skill Builder
Course Description
Overview
실습 개요
개요
API는 서로 연결되어 애플리케이션을 생성하는 구성 요소 집합입니다. API를 사용하면 손쉽게 애플리케이션을 확장하고 애플리케이션의 작동을 관리할 수 있으며, 애플리케이션 내 개별 부분의 코드도 관리할 수 있습니다. 서버리스 환경에서 API를 작성하면 대규모 작업용으로 최적화된 구성 요소를 디자인할 수 있습니다. 또한 사용하는 서비스에 대해서만 요금을 지불하면 됩니다. 그러므로 매우 효율적이라 할 수 있습니다. 그런데 클라우드 환경에서는 분리된 구성 요소에 문제가 발생하면 해결하기가 어려울 수 있습니다. AWS에서는 문제를 쉽게 파악할 수 있는 여러 가지 도구가 제공됩니다.
목표
이 실습을 완료하면 다음을 수행할 수 있습니다.
- 이벤트 중심 아키텍처 이해
- AWS X-Ray 및 Amazon CloudWatch를 활성화/사용
- 서버리스 애플리케이션을 오케스트레이션하도록 AWS Step Functions를 구성하는 방법 이해
- Amazon Simple Queue Service(Amazon SQS) 및 배달 못한 편지 대기열 활용
- 서버리스 아키텍처 문제 해결 방법 이해
- 구성 업데이트를 수행하여 API 기능 복원
수강 전 권장 사항
이 실습에는 다음 사항이 필요합니다.
- Microsoft Windows, macOS X 또는 Linux(Ubuntu, SuSE, Red Hat)가 실행되는 Wi-Fi 지원 노트북
- iPad나 태블릿 디바이스로는 실습 환경에 액세스할 수 없지만 수강생 가이드는 볼 수 있음
- Microsoft Windows 사용자의 경우: 컴퓨터의 관리자 권한
- Chrome, Firefox 또는 Internet Explorer 9와 같은 인터넷 브라우저(IE9 이전 버전은 지원하지 않음)
기간
이 실습을 완료하는 데 90분 정도가 소요됩니다.
시나리오
이 실습은 포토북 인쇄 애플리케이션을 중심으로 제작되었습니다. 이 애플리케이션을 통해 고객은 실제 도서에 인쇄하려는 이미지 모음을 업로드할 수 있습니다. 각 이미지는 도서에서 올바로 표시되도록 처리됩니다. 애플리케이션은 AWS Step Functions를 사용하여 워크플로를 관리합니다. 워크플로는 AWS Lambda 함수를 사용하여 각 이미지가 적절한 파일 유형인지 확인하고 Amazon Rekognition을 사용하여 콘텐츠가 적절한지 확인합니다. 또한 워크플로는 이미지의 크기를 조정하고 워터마크를 지정한 다음 고객이 승인할 수 있는 PDF 증거를 생성합니다. 그러고 나면 Amazon Simple Notification Service(Amazon SNS)가 고객에게 승인 이메일을 전송한 후 Amazon Simple Queue Service(Amazon SQS)에 작업을 전송합니다. Amazon SQS는 제3자 인쇄 서비스로 도서를 전송합니다. 그러면 도서가 인쇄되고 고객에게 배송됩니다.
그런데 최근 코드 푸시로 인해 애플리케이션에 오류가 발생하여 도서의 이미지를 제공하려는 고객에게 많은 오류가 발생하고 있습니다. 이 실습에서는 모든 문제를 해결하고 애플리케이션을 수정합니다.
실습 환경
이 환경에서는 Amazon API Gateway, Lambda 함수, Step Functions 워크플로, Amazon Simple Storage Service(Amazon S3) 버킷, Amazon DynamoDB 테이블 및 Amazon SQS 대기열을 사용합니다. 이 환경에서 여러 오류가 발생하여 이러한 오류를 해결해야 합니다.
API Gateway는 다수의 Lambda 함수의 앞에서 여러 API를 호스팅하고 있습니다. DynamoDB는 사용자가 업로드하는 이미지에 대한 메타데이터를 저장하는 데 사용됩니다. Step Functions 워크플로는 Amazon SNS를 통해 사용자에게 확인을 받기 위해 링크를 보내기 전에 시작되어 이미지를 검증하고 인쇄용으로 렌더링합니다(이 실습에서는 해당 워크플로가 자동으로 실행됨). 사용자는 인쇄 및 배송을 위해 외부 공급 업체에 도서 PDF를 보내기 전에 미리 볼 수 있습니다.
다음 이미지는 환경의 개략적인 아키텍처 다이어그램입니다.
아키텍처 다이어그램의 고해상도 버전을 다운로드하려면 여기를 선택하십시오.
다음 이미지에는 이미지 처리 상태 머신의 세부 다이어그램이 나와 있습니다. 이 이미지를 참조하여 애플리케이션 문제를 해결합니다.
이미지 처리 상태 머신의 고해상도 버전을 다운로드하려면 여기를 선택하십시오.
이미지 처리 상태 머신 다이어그램 참고 사항
#0: /batch - 테스트에 사용되는 API Gateway API입니다. 주황색 상자에 나와 있는 사용자 업로드 프로세스를 자동화하는 Lambda 함수를 호출합니다.
#1: /addAlbum - 사용자가 이미지를 업로드할 미리 서명된 URL에 요청을 전송합니다. 사용자가 미리 서명된 URL을 사용하여 이미지를 Amazon S3에 직접 업로드합니다.
#2: /CreateBookBinding - 사용자가 이미지 업로드를 완료했음을 표시하여 도서 생성 프로세스를 호출합니다.
#3: /invocation - 테스트용 Lambda를 사용하여 프록시를 통해 PDF를 승인합니다.
참고 이 실습에서는 테스트를 원활하게 진행할 수 있도록 무작위 도서를 자동 생성하는 Lambda 함수가 생성된 상태입니다. 따라서 각각 이미지가 다수 포함된 여러 도서를 생성하여 테스트 프로세스를 신속하게 진행할 수 있으므로, 애플리케이션 문제를 더욱 효율적으로 파악할 수 있습니다.
다음 이미지에는 도서 인쇄 상태 머신의 세부 다이어그램이 나와 있습니다.
도서 인쇄 상태 머신의 고해상도 버전을 다운로드하려면 여기를 선택하십시오.
Tags
Related Courses
Advanced Monitoring and Optimizing with DynamoDB (Traditional Chinese)Amazon Web Services via AWS Skill Builder Advanced Testing Practices Using AWS DevOps Tools (Traditional Chinese)
Amazon Web Services via AWS Skill Builder Amazon API Gateway for Serverless Applications (Simplified Chinese)(中文配音版)
Amazon Web Services via AWS Skill Builder Amazon API Gateway for Serverless Applications (Traditional Chinese)
Amazon Web Services via AWS Skill Builder Amazon CloudWatch Getting Started
Amazon Web Services via AWS Skill Builder