

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

# 여러 AWS 계정 및 AWS 리전에 걸쳐 AWS Service Catalog 제품 복사
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions"></a>

*Sachin Vighe, Santosh Kale, Amazon Web Services*

## 요약
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-summary"></a>

AWS Service Catalog는 지역 서비스이므로 AWS Service Catalog 포트폴리오 및 제품은 [포트폴리오와 제품](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html)이 생성된 AWS 리전에서만 볼 수 있습니다. 새 지역에 [AWS Service Catalog 허브](https://aws.amazon.com/about-aws/whats-new/2020/06/aws-service-catalog-now-supports-sharing-portfolios-across-an-organization-from-a-delegated-member-account/)를 설정하는 경우 기존 제품을 다시 생성해야 하며 이 프로세스에는 시간이 많이 걸릴 수 있습니다.

이 패턴의 접근 방식은 소스 AWS 계정 또는 리전의 AWS Service Catalog 허브에서 대상 계정 또는 리전의 새 허브로 제품을 복사하는 방법을 설명함으로써 이 프로세스를 간소화하는 데 도움이 됩니다. AWS Service Catalog 허브 및 스포크 모델에 대한 자세한 내용은 AWS 관리 및 거버넌스 블로그에서 [AWS Service Catalog 허브 및 스포크 모델: AWS Service Catalog를 여러 계정에 자동으로 배포 및 관리하는 방법](https://aws.amazon.com/blogs/mt/aws-service-catalog-hub-and-spoke-model-how-to-automate-the-deployment-and-management-of-service-catalog-to-many-accounts/)을 참조하세요. 

또한 이 패턴은 AWS Service Catalog 제품을 계정 간 또는 다른 리전으로 복사하는 데 필요한 별도의 코드 패키지를 제공합니다. 조직은 이 패턴을 사용하여 시간을 절약하고, 기존 및 이전 제품 버전을 새 AWS Service Catalog 허브에서 사용할 수 있게 하고, 수동 오류의 위험을 최소화하고, 여러 계정 또는 리전으로 접근 방식을 확장할 수 있습니다.

**참고**  
이 패턴의 *에픽* 섹션은 제품 복사를 위한 두 가지 옵션을 제공합니다. 옵션 1을 사용하여 계정 간에 제품을 복사하거나 옵션 2를 선택하여 지역 간에 제품을 복사할 수 있습니다.

## 사전 조건 및 제한 사항
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-prereqs"></a>

**사전 조건 **
+ 활성 상태의 AWS 계정.
+ 소스 계정 또는 리전의 기존 AWS Service Catalog 제품입니다.
+ 대상 계정 또는 리전의 기존 AWS Service Catalog 허브입니다.
+ 계정 간에 제품을 복사하려면 제품이 포함된 AWS Service Catalog 포트폴리오를 공유한 다음 대상 계정으로 가져와야 합니다. 이에 대한 자세한 내용은 AWS Service Catalog 설명서의 [포트폴리오 공유 및 가져오기](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/catalogs_portfolios_sharing.html)를 참조하세요.

**제한 사항 **
+ 여러 지역 또는 계정에 복사하려는 AWS Service Catalog 제품은 둘 이상의 포트폴리오에 속할 수 없습니다.

## 아키텍처
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-architecture"></a>

다음 다이어그램은 원본 계정에서 대상 계정으로 AWS Service Catalog 제품을 복사하는 것을 보여줍니다.

![\[리전 1의 교차 계정 역할, 리전 2의 Lambda 실행 역할 및 Lambda 함수.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/7ede5d17-89eb-4455-928f-6953d145ac9f/images/26738220-1ed2-4f84-911b-3c88e954b60e.png)


 다음 다이어그램은 원본 지역에서 대상 리전으로 AWS Service Catalog 제품을 복사하는 것을 보여줍니다.

![\[리전 2에서 Lambda scProductCopy 함수를 사용하여 복사한 제품.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/7ede5d17-89eb-4455-928f-6953d145ac9f/images/0a936792-3bdc-45c2-ba05-17e828615061.png)


**기술 스택**
+ Amazon CloudWatch()
+ Identity and Access Management(IAM)
+ AWS Lambda
+ AWS Service Catalog

**자동화 및 규모 조정**

수신된 요청 수 또는 복사해야 하는 AWS Service Catalog 제품 수에 따라 확장할 수 있는 Lambda 함수를 사용하여 이 패턴의 접근 방식을 확장할 수 있습니다. 이에 대한 자세한 내용은 AWS Lambda 설명서의 [Lambda 함수 규모 조정](https://docs.aws.amazon.com/lambda/latest/dg/invocation-scaling.html)을 참조하세요.

## 도구
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-tools"></a>
+ [AWS Command Line Interface(AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)는 명령줄 쉘에서 명령을 사용하여 AWS 서비스와 상호 작용할 수 있는 오픈 소스 도구입니다.
+ [AWS Identity and Access Management(IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)는 사용자에 대한 인증 및 권한 부여를 제어함으로써 AWS 리소스에 대한 액세스를 안전하게 관리할 수 있습니다.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)는 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행하는 데 도움이 되는 컴퓨팅 서비스입니다. 필요할 때만 코드를 실행하며 자동으로 확장이 가능하므로 사용한 컴퓨팅 시간만큼만 비용을 지불합니다.
+ [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html)를 사용하면 AWS에 승인된 IT 서비스의 카탈로그를 중앙에서 관리할 수 있습니다. 최종 사용자는 조직에서 규정한 제약에 따라, 필요에 따라 승인된 IT 서비스만 신속하게 배포할 수 있습니다.

**코드**

` cross-account-copy` 패키지(첨부)를 사용하여 계정 간에 AWS Service Catalog 제품을 복사하거나 `cross-region-copy` 패키지(첨부)를 사용하여 리전 간에 제품을 복사할 수 있습니다.

`cross-account-copy` 패키지에는 다음 파일이 포함되어 있습니다.
+ `copyconf.properties` - 계정 간에 제품을 복사하기 위한 지역 및 AWS 계정 ID 파라미터가 포함된 구성 파일입니다.
+ `scProductCopyLambda.py` - 계정 간에 제품을 복사하는 Python 함수입니다.
+ `createDestAccountRole.sh` - 대상 계정에서 IAM 역할을 생성하기 위한 스크립트입니다.
+ `createSrcAccountRole.sh` - 소스 계정에서 IAM 역할을 생성하기 위한 스크립트입니다.
+ `copyProduct.sh` - Lambda 함수를 생성하고 호출하여 계정 간에 제품을 복사하는 스크립트입니다.

`cross-region-copy` 패키지에는 다음 파일이 포함되어 있습니다.
+ `copyconf.properties` - 리전 간 제품 복사를 위한 리전 및 AWS 계정 ID 파라미터가 포함된 구성 파일입니다.
+ `scProductCopyLambda.py` - 지역 간에 제품을 복사하기 위한 Python 함수입니다.
+ `copyProduct.sh` - IAM 역할을 생성하고 Lambda 함수를 생성 및 호출하여 여러 리전에 제품을 복사하는 스크립트입니다.

## 에픽
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-epics"></a>

### 옵션 1 - 계정 전체에 AWS Service Catalog 제품 복사
<a name="option-1-ndash-copy-aws-service-catalog-products-across-accounts"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 성 파일을 업데이트합니다. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | AWS 관리자, AWS 시스템 관리자, 클라우드 관리자 | 
| 대상 계정에서 AWS CLI용 보안 인증을 구성합니다. | `aws configure` 명령을 실행하고 다음 값을 제공하여 대상 계정의 AWS CLI에 액세스하도록 보안 인증 정보를 구성합니다.<pre>$aws configure <br />AWS Access Key ID [None]: <your_access_key_id> <br />AWS Secret Access Key [None]: <your_secret_access_key> <br />Default region name [None]: Region<br />Default output format [None]:</pre>이에 대한 자세한 내용은 AWS 명령줄 인터페이스 설명서의 [구성 기본](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)을 참조하세요.  | AWS 관리자, AWS 시스템 관리자, 클라우드 관리자 | 
| 원본 계정에서 AWS CLI용 보안 인증 정보를 구성합니다. | `aws configure` 명령을 실행하고 다음 값을 제공하여 소스 계정의 AWS CLI에 액세스하도록 보안 인증 정보를 구성합니다. <pre>$aws configure<br />AWS Access Key ID [None]: <your_access_key_id><br />AWS Secret Access Key [None]: <your_secret_access_key><br />Default region name [None]: Region<br />Default output format [None]:</pre>이에 대한 자세한 내용은 AWS 명령줄 인터페이스 설명서의 [구성 기본](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)을 참조하세요.  | AWS 관리자, AWS 시스템 관리자, 클라우드 관리자 | 
| 대상 계정에서 Lambda 실행 역할을 생성합니다. | 대상 계정에서 `createDestAccountRole.sh `스크립트를 실행합니다. 이 스크립트는 다음 작업을 구현합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | AWS 관리자, AWS 시스템 관리자, 클라우드 관리자 | 
| 소스 계정에서 교차 계정 IAM 역할을 생성합니다. | 소스 계정에서 `createSrcAccountRole.sh `스크립트를 실행합니다. 이 스크립트는 다음 작업을 구현합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | AWS 관리자, AWS 시스템 관리자, 클라우드 관리자 | 
| 대상 계정에서 copyProduct 스크립트를 실행합니다. | 대상 계정에서 `copyProduct.sh `스크립트를 실행합니다. 이 스크립트는 다음 작업을 구현합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | AWS 관리자, AWS 시스템 관리자, 클라우드 관리자 | 

### 옵션 2 - 원본 지역의 AWS Service Catalog 제품을 대상 리전으로 복사
<a name="option-2-ndash-copy-aws-service-catalog-products-from-a-source-region-to-a-destination-region"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 성 파일을 업데이트합니다. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | AWS 시스템 관리자, 클라우드 관리자, AWS 관리자 | 
| AWS CLI에 대한 보안 인증 정보를 구성합니다. | `aws configure` 명령을 실행하고 다음 값을 제공하여 소스 계정의 AWS CLI에 액세스하도록 보안 인증 정보를 구성합니다.<pre>$aws configure<br />AWS Access Key ID [None]: <your_access_key_id><br />AWS Secret Access Key [None]: <your_secret_access_key><br />Default region name [None]: Region<br />Default output format [None]:</pre>이에 대한 자세한 내용은 AWS 명령줄 인터페이스 설명서의 [구성 기본](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)을 참조하세요.  | AWS 관리자, AWS 시스템 관리자, 클라우드 관리자 | 
| copyProduct 스크립트를 실행합니다. | 대상 리전에서 `copyProduct.sh` 스크립트를 실행합니다. 이 스크립트는 다음 작업을 구현합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | AWS 관리자, AWS 시스템 관리자, 클라우드 관리자 | 

## 관련 리소스
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-resources"></a>
+ [Lambda 실행 역할 생성](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html)(AWS Lambda 설명서)
+ [Lambda 함수 생성](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-awscli.html)(AWS Lambda 설명서)
+ [AWS Service Catalog API 참조](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_Operations_AWS_Service_Catalog.html)
+ [AWS Service Catalog 설명서](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html)

## 첨부
<a name="attachments-7ede5d17-89eb-4455-928f-6953d145ac9f"></a>

이 문서와 관련된 추가 콘텐츠에 액세스하려면 [attachment.zip](samples/p-attach/7ede5d17-89eb-4455-928f-6953d145ac9f/attachments/attachment.zip) 파일의 압축을 풉니다.