개요
Workload Discovery on AWS(이전의 AWS Perspective)는 AWS 클라우드 워크로드를 시각화하는 도구입니다. 이 AWS 솔루션을 사용하여 AWS의 라이브 데이터를 기반으로 워크로드의 세부 아키텍처 다이어그램을 구축, 사용자 지정 및 공유할 수 있습니다. 이 솔루션은 리소스 간 관계를 매핑하고 웹 사용자 인터페이스(UI)에 표시하여 계정 및 AWS 리전 전체의 AWS 리소스 인벤토리를 유지 관리합니다.
이 솔루션에는 비용이 발생했을 수 있는 AWS 리소스 및 서비스를 찾는 데 사용되는 비용 쿼리 빌더도 포함됩니다. 지정된 기간에 대해 예상 비용 데이터가 자동으로 계산되고 아키텍처 다이어그램에 표시됩니다. 예상 비용 개요를 포함하는 아키텍처 다이어그램에 대한 비용 보고서를 생성하고 CSV로 내보낼 수 있습니다.
오른쪽 이미지는 솔루션에 의해 생성된 샘플 아키텍처 다이어그램입니다.
이점
검색 기능을 사용하면 리소스 이름, 태그 이름 또는 IP 주소와 같은 기본 정보를 사용하여 관심 리소스의 위치를 찾을 수 있습니다.
웹 UI에서 리소스를 선택하여 아키텍처 다이어그램 구축을 시작합니다. 웹 UI에는 솔루션으로 검색된 모든 리소스가 포함된 디렉터리가 표시됩니다.
아키텍처 다이어그램을 저장하여 나중에 다시 살펴보거나 다른 솔루션 사용자와 공유할 수 있습니다. 솔루션 외부에서 다이어그램을 사용하려면 PNG, JSON, CSV 또는 draw.io로 내보내면 됩니다.
기술 세부 정보
구현 가이드 및 함께 제공되는 AWS CloudFormation 템플릿을 사용하여 이 아키텍처를 자동으로 배포할 수 있습니다.
1단계
Amazon CloudFront 배포의 각 응답에 HTTP Strict-Transport-Security(HSTS) 보안 헤더가 추가됩니다.
2단계
Amazon Simple Storage Service(S3) 버킷이 CloudFront를 통해 배포된 웹 UI를 호스팅합니다. Amazon Cognito는 웹 UI에 대한 사용자 액세스를 인증합니다.
3단계
AWS WAF는 가용성에 영향을 미치거나 보안을 훼손하거나 과도한 리소스를 소비할 수 있는 일반적인 익스플로잇 및 봇으로부터 AWS AppSync API를 보호합니다.
4단계
AWS AppSync 엔드포인트를 사용하면 웹 UI 구성 요소에서 리소스 관계 데이터를 요청하고 비용을 쿼리하고 새 AWS 리전을 가져오며 기본 설정을 업데이트할 수 있습니다. AWS AppSync를 통해 검색 구성 요소를 사용하여 영구 데이터를 솔루션의 데이터베이스에 저장할 수도 있습니다.
5단계
AWS AppSync는 Cognito에서 프로비저닝한 JSON 웹 토큰(JWT)을 사용하여 각 요청을 인증합니다.
6단계
Settings AWS Lambda 함수는 가져온 리전 및 기타 구성을 Amazon DynamoDB에 유지합니다.
7단계
이 솔루션은 AWS Amplify 및 S3 버킷을 사용자 기본 설정 및 저장된 아키텍처 다이어그램을 저장할 스토리지 관리 구성 요소로 배포합니다.
8단계
데이터 구성 요소는 Gremlin Resolver Lambda 함수를 사용하여 Amazon Neptune 데이터베이스에서 쿼리하고 데이터를 반환합니다.
9단계
데이터 구성 요소는 Search Resolver Lambda 함수를 사용하여 쿼리하고 리소스 데이터를 Amazon OpenSearch Service 도메인에서 유지합니다.
10단계
Cost Lambda 함수는 Amazon Athena를 사용하여 AWS Cost and Usage Report(AWS CUR)를 쿼리하여 웹 UI에 예상 비용 데이터를 제공합니다.
11단계
Athena는 CUR에서 쿼리를 실행합니다.
12단계
CUR은 CostAndUsageReportBucket S3 버킷으로 보고서를 전송합니다.
13단계
Cost Lambda 함수는 Athena 결과를 AthenaResultsBucket S3 버킷에 저장합니다.
14단계
AWS CodeBuild는 이미지 배포 구성 요소에서 검색 구성 요소 컨테이너 이미지를 구축합니다.
15단계
Amazon Elastic Container Registry(Amazon ECR)는 이미지 배포 구성 요소에서 제공하는 도커 이미지를 포함합니다.
16단계
Amazon Elastic Container Service(Amazon ECS)는 AWS Fargate 태스크를 관리하고 태스크를 실행하는 데 필요한 구성을 제공합니다. Fargate는 컨테이너 태스크를 15분마다 실행하여 인벤토리 및 리소스 데이터를 새로 고칩니다.
17단계
AWS Config 및 AWS SDK for JavaScript 직접 호출을 통해 검색 구성 요소는 가져온 리전에서 리소스 데이터의 인벤토리를 유지 관리하고 데이터 구성 요소에 해당 결과를 저장합니다.
18단계
Fargate 태스크는 AWS AppSync API에 대한 API를 직접 호출하여 Neptune 데이터베이스 및 OpenSearch Service 도메인에 Config 및 SDK for JavaScript 직접 호출 결과를 유지합니다.
관련 콘텐츠
이 과정에서는 AWS Config를 소개하고 AWS 계정 내 구성 변경의 기록 및 정규화 프로세스를 설명합니다. 사용 사례 및 구성에 대해서도 다루며 서비스에 대한 간략한 데모도 제공합니다.
이 과정에서는 Amazon Neptune과 핵심 기능에 대해 소개합니다. 이 서비스를 다른 AWS 서비스와 통합하는 방법을 설명하고, 중요한 용어 및 기술적 개념을 소개하며, 서비스 데모를 제공합니다.
이 과정에서는 AWS CloudFormation을 사용하여 리소스 프로비저닝을 자동화하는 방법에 대한 기본적인 개요를 제공합니다. 또한 CloudFormation을 통해 반복적이고 예측 가능한 방식으로 리소스 그룹을 생성하는 사용 사례도 다룹니다. 이 과정에는 리소스 프로비저닝을 위해 CloudFormation 템플릿을 설계하는 데모도 포함되어 있습니다.