

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

# 배포 계획
<a name="plan-your-deployment"></a>

이 섹션에서는 솔루션을 배포하기 전에 리전, [비용](cost.md), [보안](aws-well-architected-design-considerations.md#security) 및 기타 고려 사항을 설명합니다.

## 지원되는 AWS 리전
<a name="supported-aws-regions"></a>

이 솔루션은 현재 일부 AWS 리전에서 사용할 수 없는 Amazon Cognito 서비스를 사용합니다. 리전별 AWS 서비스의 최신 가용성은 [AWS 리전 서비스 목록을](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) 참조하세요.

AWS의 워크로드 검색은 다음 AWS 리전에서 사용할 수 있습니다.


| 리전 이름 |  | 
| --- | --- | 
|  미국 동부(버지니아 북부)  |  캐나다(중부)  | 
|  미국 동부(오하이오)  |  유럽(런던)  | 
|  미국 서부(오리건)  |  유럽(프랑크푸르트)  | 
|  아시아 태평양(뭄바이)  |  유럽(아일랜드)  | 
|  아시아 태평양(서울)  |  유럽(파리)  | 
|  아시아 태평양(싱가포르)  |  유럽(스톡홀름)  | 
|  아시아 태평양(시드니)  |  남아메리카(상파울루)  | 
|  아시아 태평양(도쿄)  |  | 

AWS의 워크로드 검색은 다음 AWS 리전에서 사용할 수 없습니다.


| 리전 이름 | 사용할 수 없는 서비스 | 
| --- | --- | 
|  AWS GovCloud(US-East)  |  AppSync  | 
|  AWS GovCloud (US-West)  |  AppSync  | 
|  중국(베이징)  |  Amazon Cognito  | 
|  중국(닝샤)  |  Amazon Cognito  | 

# 비용
<a name="cost"></a>

이 솔루션을 실행하는 동안 프로비저닝된 AWS 서비스의 비용은 사용자의 책임입니다. 이 개정부터 미국 동부(버지니아 북부) 리전에서 단일 인스턴스 배포 옵션을 사용하여이 솔루션을 실행하는 데 드는 비용은 **시간당 약 0.58 USD** 또는 **월 425.19 USD**입니다.

**참고**  
AWS 클라우드에서 AWS에서 워크로드 검색을 실행하는 데 드는 비용은 선택한 배포 구성에 따라 달라집니다. 다음 예제에서는 미국 동부(버지니아 북부) 리전의 단일 인스턴스 및 여러 인스턴스 배포 구성에 대한 비용 분석을 제공합니다. 아래 예제 테이블에 나열된 AWS 서비스는 월별로 요금이 청구됩니다.

비용 관리에 도움이 되도록 [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/)를 통해 [예산](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-create.html)을 생성하는 것이 좋습니다. 요금은 변경될 수 있습니다. 자세한 내용은이 솔루션에 사용되는 각 AWS 서비스의 요금 웹 페이지를 참조하세요.

## 비용 테이블 예
<a name="example-cost-tables"></a>

### 옵션 1: 단일 인스턴스 배포(기본값)
<a name="option-1-single-instance-deployment-default"></a>

AWS CloudFormation 템플릿을 사용하여이 솔루션을 배포할 때 **OpensearchMultiAz** 파라미터를 수정하여 OpenSearch Service 도메인에 대한 단일 인스턴스를 `No` 배포하고 **CreateNeptuneReplica** 파라미터를 수정하여 Neptune 데이터 스토어에 대한 단일 인스턴스를 `No` 배포합니다. 단일 인스턴스 배포 옵션은 더 낮은 비용을 발생시키지만 가용 영역에 장애가 발생할 경우 AWS에서 워크로드 검색의 가용성을 줄입니다.


| AWS 서비스 | 인스턴스 유형 | 시간당 비용[USD] | 월별 비용[USD] | 
| --- | --- | --- | --- | 
|  Amazon Neptune  |   `db.r5.large`   |  0.348 USD  |  254.04 USD  | 
|  Amazon OpenSearch Service  |   `m6g.large.search`   |  0.128 USD  |  93.44 USD  | 
|  Amazon VPC(NAT 게이트웨이)  |  N/A  |  0.090 USD  |  65.7 USD  | 
|  Config  |  N/A  |  리소스당 0.003 USD  |  리소스당 0.003 USD  | 
|  Amazon ECS(AWS Fargate 작업)  |  N/A  |  0.02 USD  |  12.01 USD  | 
|  합계  |  |   **0.586 USD**   |   **425.19 USD**   | 

### 옵션 2: 여러 인스턴스 배포
<a name="option-2-multiple-instances-deployment"></a>

AWS CloudFormation 템플릿을 사용하여이 솔루션을 배포할 때 **OpensearchMultiAz** 파라미터를 수정하여 OpenSearch Service 도메인의 두 가용 영역에 두 개의 인스턴스를 `Yes` 배포하고 **CreateNeptuneReplica** 파라미터를 수정하여 Neptune 데이터 스토어의 두 가용 영역에 두 개의 인스턴스를 `Yes` 배포합니다. 여러 인스턴스 배포 옵션을 실행하면 실행 비용이 더 많이 들지만 가용 영역에 장애가 발생할 경우 AWS에서 워크로드 검색의 가용성이 높아집니다.


| AWS 서비스 | 인스턴스 유형 | 시간당 비용 | 월별 비용[USD] | 
| --- | --- | --- | --- | 
|  Amazon Neptune  |   `db.r5.large`   |  0.696 USD  |  508.08 USD  | 
|  Amazon OpenSearch Service  |   `m6g.large.search`   |  0.256 USD  |  186.88 USD  | 
|  Amazon VPC(NAT 게이트웨이)  |  N/A  |  0.090 USD  |  65.7 USD  | 
|  Config  |  N/A  |  리소스당 0.003 USD  |  리소스당 0.003 USD  | 
|  Amazon ECS(AWS Fargate 작업)  |  N/A  |  0.02 USD  |  12.01 USD  | 
|  합계  |  |   **1.062 USD**   |   **772.67 USD**   | 
+ 최종 비용은 AWS Config가 감지하는 리소스 수에 따라 달라집니다. 테이블에 제공된 금액 외에 기록된 리소스 항목당 0.003 USD가 발생합니다.

**중요**  
Amazon Neptune 및 Amazon OpenSearch Service 비용은 선택한 인스턴스 유형에 따라 달라집니다.

# 보안
<a name="security-1"></a>

AWS 인프라에 시스템을 구축하면 사용자와 AWS 간에 보안 책임이 공유됩니다. AWS는 호스트 운영 체제, 가상화 계층, 서비스가 운영되는 시설의 물리적 보안을 비롯한 구성 요소를 운영, 관리 및 제어하므로이 [공동 책임 모델은](https://aws.amazon.com/compliance/shared-responsibility-model/) 운영 부담을 줄입니다. AWS 보안에 대한 자세한 내용은 [AWS 보안 센터를](https://aws.amazon.com/security/) 참조하십시오.

## 리소스 액세스
<a name="resource-access"></a>

### IAM 역할
<a name="iam-roles"></a>

IAM 역할을 통해 고객은 AWS 클라우드의 서비스 및 사용자에게 세분화된 액세스 정책 및 권한을 할당할 수 있습니다. AWS에서 워크로드 검색을 실행하고 AWS 계정에서 리소스를 검색하려면 여러 역할이 필요합니다.

### Amazon Cognito
<a name="amazon-cognito"></a>

Amazon Cognito는 AWS의 워크로드 검색에 필요한 구성 요소에 대한 액세스 권한을 부여하는 수명이 짧고 강력한 자격 증명을 사용하여 액세스를 인증하는 데 사용됩니다.

## 네트워크 액세스
<a name="network-access"></a>

### Amazon VPC
<a name="amazon-vpc"></a>

AWS의 워크로드 검색은 Amazon VPC 내에 배포되고 보안 및 고가용성을 제공하기 위한 모범 사례에 따라 구성됩니다. 자세한 내용은 [VPC의 보안 모범 사례를 참조하세요](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-best-practices.html). VPC 엔드포인트는 서비스 간 비인터넷 전송을 허용하며 사용 가능한 경우 구성됩니다.

보안 그룹은 AWS에서 워크로드 검색을 실행하는 데 필요한 구성 요소 간의 네트워크 트래픽을 제어하고 격리하는 데 사용됩니다.

배포가 시작되고 실행되면 보안 그룹을 검토하고 필요에 따라 액세스를 추가로 제한하는 것이 좋습니다.

### Amazon CloudFront
<a name="amazon-cloudfront"></a>

이 솔루션은 Amazon CloudFront에서 배포하는 Amazon S3 버킷에 [호스팅](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html)된 웹 콘솔 UI를 배포합니다. Amazon CloudFront 오리진 액세스 ID 기능을 사용하면이 Amazon S3 버킷의 콘텐츠에 CloudFront를 통해서만 액세스할 수 있습니다. 자세한 내용은 [ Amazon CloudFront 개발자 안내서의 Amazon S3 오리진에 대한 액세스 제한을](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) 참조하세요. *Amazon CloudFront *

CloudFront는 추가 보안 완화를 활성화하여 각 최종 사용자 응답에 HTTP 보안 헤더를 추가합니다. 자세한 내용은 [ CloudFront 응답에서 HTTP 헤더 추가 또는 제거를 참조하세요](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/adding-response-headers.html).

이 솔루션은 TLS v1.0의 최소 지원 보안 프로토콜이 있는 기본 CloudFront 인증서를 사용합니다. TLS v1.2 또는 TLS v1.3 사용을 적용하려면 기본 CloudFront 인증서 대신 사용자 지정 SSL 인증서를 사용해야 합니다. 자세한 내용은 [SSL/TLS 인증서를 사용하도록 CloudFront 배포를 구성하려면 어떻게 해야 하나요?를 참조하세요](https://aws.amazon.com/premiumsupport/knowledge-center/install-ssl-cloudfront/).

## 애플리케이션 구성
<a name="application-configuration"></a>

### AppSync
<a name="aws-appsync"></a>

AWS GraphQL APIs의 워크로드 검색에는 [GraphQL 사양](https://spec.graphql.org/June2018/#sec-Validation)에 따라 AWS AppSync에서 제공하는 요청 검증이 있습니다. 또한 인증 및 권한 부여는 사용자가 웹 UI에서 성공적으로 인증할 때 Amazon Cognito에서 제공하는 JWT를 사용하는 IAM 및 Amazon Cognito를 사용하여 구현됩니다.

### AWS Lambda
<a name="aws-lambda"></a>

기본적으로 Lambda 함수는 언어 런타임의 가장 안정적인 최신 버전으로 구성됩니다. 민감한 데이터나 보안 암호는 로깅되지 않습니다. 서비스 상호 작용은 최소 필수 권한으로 수행됩니다. 이러한 권한을 정의하는 역할은 함수 간에 공유되지 않습니다.

### Amazon OpenSearch Service
<a name="amazon-opensearch-service"></a>

Amazon OpenSearch Service 도메인은 OpenSearch Service 클러스터에 대한 서명되지 않은 요청을 중지하도록 액세스를 제한하는 액세스 정책으로 구성됩니다. 이는 단일 Lambda 함수로 제한됩니다.

OpenSearch Service 클러스터는 기존 OpenSearch Service [보안 기능](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/security.html) 외에도 추가 데이터 보호 계층을 추가하기 위해 node-to-node 암호화가 활성화된 상태로 구축됩니다.

# 할당량
<a name="quotas"></a>

서비스 할당량(제한이라고도 함)은 AWS 계정의 최대 서비스 리소스 또는 작업 수입니다.

## 이 솔루션의 AWS 서비스 할당량
<a name="quotas-for-aws-services-in-this-solution"></a>

[이 솔루션에 구현된 각 서비스](aws-services-in-this-solution.md)의 할당량이 충분한지 확인하세요. 자세한 내용은 [AWS 서비스 할당량](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)을 참조하세요.

다음 링크를 사용하여 해당 서비스의 페이지로 이동합니다. 페이지를 전환하지 않고 설명서의 모든 AWS 서비스에 대한 서비스 할당량을 보려면 대신 PDF의 [서비스 엔드포인트 및 할당량](https://docs.aws.amazon.com/general/latest/gr/aws-general.pdf#aws-service-information) 페이지에서 정보를 확인합니다.


|  |  | 
| --- |--- |
|   [Amplify](https://docs.aws.amazon.com/general/latest/gr/amplify.html)   |   [Amazon ECR](https://docs.aws.amazon.com/general/latest/gr/ecr.html)   | 
|   [아테나](https://docs.aws.amazon.com/general/latest/gr/athena.html)   |   [Lambda](https://docs.aws.amazon.com/general/latest/gr/lambda-service.html)   | 
|   [CloudFront](https://docs.aws.amazon.com/general/latest/gr/cf_region.html)   |   [OpenSearch 서비스](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html)   | 
|   [Cognito](https://docs.aws.amazon.com/general/latest/gr/cognito_identity.html)   |   [Neptune](https://docs.aws.amazon.com/general/latest/gr/neptune.html)   | 
|   [구성](https://docs.aws.amazon.com/general/latest/gr/awsconfig.html)   |   [Amazon S3](https://docs.aws.amazon.com/general/latest/gr/s3.html)   | 
|   [Amazon ECS](https://docs.aws.amazon.com/general/latest/gr/ecs-service.html)   |  | 

## AWS CloudFormation 할당량
<a name="aws-cloudformation-quotas"></a>

AWS 계정에는이 솔루션에서 [스택을 시작할](launch-the-stack.md) 때 알아야 할 AWS CloudFormation 할당량이 있습니다. 이러한 할당량을 이해하면 이 솔루션을 성공적으로 배포하지 못하는 제한 오류를 방지할 수 있습니다. 자세한 내용은 [AWS CloudFormation 사용 설명서의에서 AWS CloudFormation 할당량을](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) *참조하세요 AWS CloudFormation*.

## AWS Lambda 할당량
<a name="aws-lambda-quotas"></a>

계정의 AWS Lambda 동시 실행 할당량은 1000입니다. Lambda를 실행하고 사용하는 다른 워크로드가 있는 계정에서 솔루션을 사용하는 경우이 할당량을 적절한 값으로 설정합니다. 이 값은 조정할 수 있습니다. 자세한 내용은 [AWS Lambda 사용 설명서의 AWS Lambda 할당량을](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html) *참조하세요 AWS Lambda*.

**참고**  
이 솔루션을 배포하려는 계정에서 동시 실행 할당량에서 150개의 실행을 사용할 수 있어야 합니다. 해당 계정에서 사용 가능한 실행이 150개 미만인 경우 CloudFormation 배포가 실패합니다.

## Amazon VPC 할당량
<a name="amazon-vpc-quotas"></a>

AWS 계정에는 VPCs개와 탄력적 IPs(EIPs. 다른 VPCs 또는 EIPs가 있는 계정에서 솔루션을 사용하는 경우이 솔루션을 성공적으로 배포하지 못할 수 있습니다. 이 할당량에 도달할 위험이 있는 경우 [스택 시작](launch-the-stack.md) 섹션의 단계를 따를 때 VPC를 제공하여 배포를 위한 자체 VPC를 제공할 수 있습니다. 자세한 내용은 [Amazon VPC 사용 설명서의 Amazon VPC 할당량을](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) * [참조하세요](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).*

# 배포 계정 선택
<a name="choosing-the-deployment-account"></a>

AWS에서 워크로드 검색을 AWS Organization에 배포하는 경우 [StackSets](https://aws.amazon.com/blogs/mt/cloudformation-stacksets-delegated-administration/) 및 [다중 리전 AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/aggregated-register-delegated-administrator.html) 기능이 활성화된 위임된 관리자 계정에 솔루션을 설치해야 합니다.

AWS Organizations를 사용하지 않는 경우 AWS에서 워크로드 검색을이 솔루션을 위해 특별히 생성된 전용 AWS 계정에 배포하는 것이 좋습니다. 이 접근 방식은 AWS의 워크로드 검색이 기존 워크로드와 격리되어 있으며 사용자 추가 및 새 리전 가져오기와 같은 솔루션을 구성할 수 있는 단일 위치를 제공합니다. 또한 솔루션을 실행하는 동안 발생하는 비용을 더 쉽게 추적할 수 있습니다.

AWS에서 워크로드 검색을 배포한 후 이미 프로비저닝한 계정에서 리전을 가져올 수 있습니다.