

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 아키텍처 개요
<a name="architecture-overview"></a>

이 섹션에서는 이 솔루션과 함께 배포된 구성 요소에 대한 참조 구현 아키텍처 다이어그램을 제공합니다.

## 아키텍처 다이어그램
<a name="architecture-diagram"></a>

이 솔루션을 기본 파라미터와 함께 배포하면 AWS 클라우드에서 다음 환경이 빌드됩니다.

 **AWS 아키텍처의 워크로드 검색** 

![워크로드 검색 아치 다이어그램](http://docs.aws.amazon.com/ko_kr/solutions/latest/workload-discovery-on-aws/images/workload-discovery-arch-diagram.png)


AWS CloudFormation 템플릿과 함께 배포된 솔루션 구성 요소의 상위 수준 프로세스 흐름은 다음과 같습니다.

1.  [HTTP Strict-Transport-Security(HSTS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security)는 [Amazon CloudFront](https://aws.amazon.com/cloudfront/) 배포의 각 응답에 보안 헤더를 추가합니다.

1. [Amazon Simple Storage Service](https://aws.amazon.com/s3/)(Amazon S3) 버킷은 Amazon CloudFront와 함께 배포되는 웹 UI를 호스팅합니다. [Amazon Cognito](https://aws.amazon.com/cognito/)는 웹 UI에 대한 사용자 액세스를 인증합니다.

1.  [AWS WAF](https://aws.amazon.com/waf/)는 가용성에 영향을 미치거나, 보안을 손상시키거나, 과도한 리소스를 소비할 수 있는 일반적인 악용 및 봇으로부터 AppSync API를 보호합니다.

1.  [AWS AppSync](https://aws.amazon.com/appsync/) 엔드포인트를 사용하면 웹 UI 구성 요소가 리소스 관계 데이터를 요청하고, 비용을 쿼리하고, 새 AWS 리전을 가져오고, 기본 설정을 업데이트할 수 있습니다. 또한 AWS AppSync를 사용하면 검색 구성 요소가 솔루션의 데이터베이스에 영구 데이터를 저장할 수 있습니다.

1. AWS AppSync는 Amazon Cognito에서 프로비저닝한 [JSON 웹 토큰](https://datatracker.ietf.org/doc/html/rfc7519)(JWTs)을 사용하여 각 요청을 인증합니다.

1. `Settings` [AWS Lambda](https://aws.amazon.com/lambda/) 함수는 가져온 리전 및 기타 구성을 [Amazon DynamoDB](https://aws.amazon.com/dynamodb/)에 유지합니다.

1. 이 솔루션은 [AWS Amplify](https://aws.amazon.com/amplify/)와 Amazon S3 버킷을 스토리지 관리 구성 요소로 배포하여 사용자 기본 설정과 저장된 아키텍처 다이어그램을 저장합니다.

1. 데이터 구성 요소는 `Gremlin Resolver` AWS Lambda 함수를 사용하여 [Amazon Neptune](https://aws.amazon.com/neptune/) 데이터베이스에서 데이터를 쿼리하고 반환합니다.

1. 데이터 구성 요소는 `Search Resolver` Lambda 함수를 사용하여 리소스 데이터를 쿼리하고 [Amazon OpenSearch Service](https://aws.amazon.com/opensearch-service/) 도메인에 유지합니다.

1. `Cost` Lambda 함수는 [Amazon Athena](https://aws.amazon.com/athena)를 사용하여 [AWS 비용 및 사용 보고서](https://docs.aws.amazon.com/cur/latest/userguide/what-is-cur.html)(AWS CUR)를 쿼리하여 예상 비용 데이터를 웹 UI에 제공합니다.

1. Amazon Athena는 AWS CUR에서 쿼리를 실행합니다.

1. AWS CUR은 `CostAndUsageReportBucket` Amazon S3 버킷에 보고서를 전송합니다.

1. `Cost` Lambda 함수는 Amazon Athena 결과를 `AthenaResultsBucket` Amazon S3 버킷에 저장합니다.

1.  [AWS CodeBuild](https://aws.amazon.com/codebuild)는 이미지 배포 구성 요소에 검색 구성 요소 컨테이너 이미지를 빌드합니다.

1.  [Amazon Elastic Container Registry](https://aws.amazon.com/ecr/)(Amazon ECR)에는 [이미지 배포 구성 요소에서 제공하는 도커](https://docs.docker.com/engine/reference/commandline/images/) 이미지가 포함되어 있습니다.

1.  [Amazon Elastic Container Service](https://aws.amazon.com/ecs)(Amazon ECS)는 [AWS Fargate](https://aws.amazon.com/fargate/) 작업을 관리하고 작업을 실행하는 데 필요한 구성을 제공합니다. AWS Fargate는 15분마다 컨테이너 작업을 실행하여 인벤토리 및 리소스 데이터를 새로 고칩니다.

1.  [AWS Config](https://aws.amazon.com/config) 및 [AWS SDK](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/index.html) 호출은 검색 구성 요소가 가져온 리전의 리소스 데이터 인벤토리를 유지한 다음 결과를 데이터 구성 요소에 저장하는 데 도움이 됩니다.

1. AWS Fargate 작업은 AppSync API에 대한 API 호출을 통해 Amazon Neptune 데이터베이스 및 Amazon OpenSearch Service 도메인에 대한 AWS Config 및 AWS SDK 호출의 결과를 유지합니다. OpenSearch 