

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

# GitHub, GitHub Enterprise 또는 Bitbucket의 템플릿 파일에 제품 동기화
<a name="git-synced-sc-products"></a>

AWS Service Catalog 를 사용하면 제품을 외부 리포지토리 공급자를 통해 관리되는 템플릿 파일에 동기화할 수 있습니다.는 이러한 유형의 템플릿 연결이 있는 제품을 *Git 동기화*된 제품으로 AWS Service Catalog 지칭합니다. 리포지토리의 옵션에는 GitHub, GitHub Enterprise 또는 Bitbucket 등이 있습니다. 외부 리포지토리 계정으로에 AWS 계정 권한을 부여한 후 새 AWS Service Catalog 제품을 생성하거나 기존 제품을 업데이트하여 리포지토리의 템플릿 파일에 동기화할 수 있습니다. 템플릿 파일을 변경하고 리포지토리에서 커밋하면(예: git-push 사용)는 변경 사항을 AWS Service Catalog 자동으로 감지하고 새 제품 버전(아티팩트)을 생성합니다.

**Topics**
+ [제품을 외부 템플릿 파일에 동기화하는 데 필요한 권한](#required-perms-synced-repo)
+ [계정 연결 생성](#create-synced-product)
+ [Git 동기화 제품 연결 보기](#view-repo-sync)
+ [Git 동기화 제품 연결 업데이트](#update-repo-sync)
+ [Git 동기화 제품 연결 삭제](#delete-repo-sync)
+ [GitHub, GitHub Enterprise 또는 Bitbucket 템플릿 파일에 Terraform 제품 동기화](#git-synced-Terraform)
+ [AWS 리전 Git 동기화 제품에 대한 지원](git-sync-supported-regions.md)

## 제품을 외부 템플릿 파일에 동기화하는 데 필요한 권한
<a name="required-perms-synced-repo"></a>

다음 AWS Identity and Access Management (IAM) 정책을 템플릿으로 사용하여 AWS Service Catalog 관리자가 제품을 외부 리포지토리의 템플릿 파일에 동기화할 수 있습니다. 이 정책에는 CodeConnections 및의 필수 권한이 모두 포함되어 있습니다 AWS Service Catalog. 에서는 아래 템플릿 정책을 복사하고 리포지토리 동기화 제품을 활성화할 때 [관리형 정책](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/security-iam-awsmanpol)도 사용할 AWS Service Catalog `AWSServiceCatalogAdminFullAccess` 것을 AWS Service Catalog 권장합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CodeStarAccess",
            "Effect": "Allow",
            "Action": [
            "codestar-connections:UseConnection",
            "codestar-connections:PassConnection",
            "codestar-connections:CreateConnection",
            "codestar-connections:DeleteConnection",
            "codestar-connections:GetConnection",
            "codestar-connections:ListConnections",
            "codestar-connections:ListInstallationTargets",
            "codestar-connections:GetInstallationUrl",
            "codestar-connections:StartOAuthHandshake",
            "codestar-connections:UpdateConnectionInstallation",
            "codestar-connections:GetIndividualAccessToken"
            ],
            "Resource": "arn:aws:codestar-connections:*:*:connection/*"
        },
        {
        "Sid": "CreateSLR",
        "Effect": "Allow",
        "Action": "iam:CreateServiceLinkedRole",
        "Resource": "arn:aws:iam::*:role/aws-service-role/sync.servicecatalog.amazonaws.com/AWSServiceRoleForServiceCatalogArtifactSync",
        "Condition": {
        "StringLike": {
        "iam:AWSServiceName": "sync.servicecatalog.amazonaws.com"
                }
            }
        }
    ]
}
```

------

## 계정 연결 생성
<a name="create-synced-product"></a>

템플릿 파일을 AWS Service Catalog 제품에 동기화하기 전에 일회성 account-to-account 연결을 생성하고 권한을 부여해야 합니다. 이 연결을 사용하여 원하는 템플릿 파일이 들어 있는 리포지토리의 세부 정보를 지정할 수 있습니다. AWS Service Catalog 콘솔, CodeConnections 콘솔, AWS Command Line Interface (CLI) 또는 CodeConnections APIs.

연결을 설정한 후 AWS Service Catalog 콘솔, AWS Service Catalog API 또는 CLI를 사용하여 동기화된 AWS Service Catalog 제품을 생성할 수 있습니다. AWS Service Catalog 관리자는 리포지토리 및 브랜치의 템플릿 파일을 기반으로 새 제품을 생성하거나 기존 AWS Service Catalog 제품을 업데이트할 수 있습니다. 리포지토리에서 변경 사항이 커밋되면는 변경 사항을 AWS Service Catalog 자동으로 감지하고 새 제품 버전을 생성합니다. 이전 제품 버전은 규정된 버전 제한까지 유지되며 **사용되지 않음** 상태가 할당됩니다.

또한는 연결이 생성된 후 서비스 연결 역할(SLR)을 AWS Service Catalog 자동으로 생성합니다. 이러한 SLR을 통해 AWS Service Catalog 는 리포지토리에 커밋된 모든 템플릿 파일 변경 내용을 감지할 수 있습니다. 또한 SLR을 사용하면 AWS Service Catalog 가 동기화된 제품에 대한 새 제품 버전을 자동으로 생성할 수 있습니다. SLR 권한 및 기능에 대한 자세한 내용은 [AWS Service Catalog의 서비스 연결 역할](#required-perms-synced-repo) 섹션을 참조하십시오.

**새 Git 동기화 제품을 만들려면**

1. 왼쪽 탐색 창에서 **제품 목록**을 선택한 다음, **제품 생성**을 선택합니다.

1. **제품 세부 정보**를 입력합니다.

1. 버전 세부 정보에서 **공급자를 사용하여 코드 리포지토리 지정을 AWS CodeStar **선택한 다음 **새 AWS CodeStar 연결 생성** 링크를 선택합니다.

1. 연결을 만든 후 연결 목록을 새로 고친 다음, 새 연결을 선택합니다. **리포지토리**, **브랜치**, **템플릿 파일 경로**를 비롯한 리포지토리 세부 정보를 지정합니다.

   Terraform 구성 파일 사용에 대한 자세한 내용은 [GitHub, GitHub Enterprise 또는 Bitbucket 템플릿 파일에 Terraform 제품 동기화](#git-synced-Terraform)을 참조하십시오.

   1. (새 AWS Service Catalog 제품 리소스를 생성할 때 선택 사항) **지원 세부 정보** 섹션에서 제품에 대한 메타데이터를 추가합니다.

   1. (새 AWS Service Catalog 제품 리소스를 생성할 때 선택 사항) **태그** 섹션에서 **새 태그 추가**를 선택하고 **키** 및 **값** 페어를 입력합니다.

1. **새 프로젝트 생성**을 선택합니다.

**Git 동기화 제품을 여러 개 만들려면**

1.  AWS Service Catalog 콘솔 왼쪽 탐색 패널에서 **제품 목록을** 선택한 다음 **여러 git 관리형 제품 생성을** 선택합니다.

1. **일반 제품 세부 정보**를 입력합니다.

1. 외부 리포지토리 세부 정보에서 **AWS CodeStar 연결**을 선택한 다음 **리포지토리**와 **브랜치**를 지정합니다.

1. 제품 추가 창에서 **템플릿 파일 경로**와 **제품 이름**을 입력합니다. **새 항목 추가**를 선택하고 원하는 대로 제품을 계속 추가합니다.

1. 원하는 제품을 모두 추가한 후 **제품 대량 생성**을 선택합니다.

**기존 AWS Service Catalog 제품을 외부 리포지토리에 연결하려면**

1.  AWS Service Catalog 콘솔 왼쪽 탐색 패널에서 **제품 목록을** 선택한 다음 **제품을 외부 리포지토리에 연결을** 선택합니다.

1. 제품 선택 페이지에서 외부 리포지토리에 연결할 제품을 선택하고 **다음**을 선택합니다.

1. 소스 세부 정보 지정 페이지에서 기존 AWS CodeStar 연결을 선택한 다음 **리포지토리**, **브랜치** 및 **템플릿 파일 경로를** 지정합니다.

1. **다음**을 선택합니다.

1. 검토 및 제출 페이지에서 연결 세부 정보를 확인한 다음 **제품을 외부 리포지토리에 연결**을 선택합니다.

## Git 동기화 제품 연결 보기
<a name="view-repo-sync"></a>

 AWS Service Catalog 콘솔, API 또는 AWS CLI 를 사용하여 리포지토리 연결 세부 정보를 볼 수 있습니다. 템플릿 파일에 연결된 AWS Service Catalog 제품의 경우 리포지토리 연결 및 마지막 **동기화 상태에서** 템플릿이 제품과 마지막으로 동기화된 시간에 대한 정보를 검색할 수 있습니다.

**참고**  
제품 수준에서 리포지토리 정보와 **마지막 동기화 상태**를 볼 수 있습니다. 리포지토리 세부 정보를 보려면 CodeConnections APIs에 IAM 권한이 있어야 합니다. 이러한 IAM [권한에 필요한 정책에 대한 자세한 내용은 AWS Service Catalog 제품을 템플릿 파일에 동기화하는 데](#required-perms-synced-repo) 필요한 권한을 참조하세요.

**를 사용하여 연결 및 리포지토리 세부 정보를 보려면 AWS Management Console**

1. 왼쪽 탐색 창에서 **제품 목록**을 선택합니다.

1. 목록에서 제품을 선택합니다.

1. **제품** 페이지에서 **제품 소스 세부 정보** 섹션으로 이동합니다.

1. 제품 버전의 소스 수정 ID를 보려면 **마지막으로 생성된 버전** 링크를 선택합니다. **버전 세부 정보** 섹션에는 소스 수정 ID가 표시됩니다.

**를 사용하여 연결 및 리포지토리 세부 정보를 보려면 AWS CLI**

에서 다음 명령을 AWS CLI실행합니다.

`$ aws servicecatalog describe-product-as-admin`

`$ aws servicecatalog describe-provisioning-artifact`

`$ aws servicecatalog search-product-as-admin`

`$ aws servicecatalog list-provisioning-artifacts`

## Git 동기화 제품 연결 업데이트
<a name="update-repo-sync"></a>

 AWS Service Catalog 콘솔, AWS Service Catalog API 또는를 사용하여 기존 계정 연결 및 Git 동기화 제품을 업데이트할 수 있습니다 AWS CLI.

기존 AWS Service Catalog 제품을 템플릿 파일에 연결하는 방법을 알아보려면 [ 새 Git 동기화 제품 연결 생성을](#create-synced-product) 참조하세요.

**기존 제품을 Git 동기화 제품으로 업데이트하려면**

1. 왼쪽 탐색 패널에서 **제품 목록**을 선택하고 다음 옵션 중 하나를 선택합니다.
   + **단일 제품**을 업데이트하려면 제품을 선택하고 **제품 소스 세부 정보** 섹션으로 이동한 다음 **세부 정보 편집**을 선택합니다.
   + **여러 제품**을 업데이트하려면 **외부 리포지토리에 제품 연결**을 선택하고 제품을 10개까지 선택한 후 **다음**을 선택합니다.

1. **제품 소스 세부 정보** 섹션에서 다음 업데이트를 수행합니다.
   + 연결을 지정합니다.
   + 리포지토리를 지정합니다.
   + 브랜치를 지정합니다.
   + 템플릿 파일의 이름을 지정합니다.

1. **변경 사항 저장**을 선택합니다.

**참고**  
외부 리포지토리에 아직 연결되지 않은 제품의 경우, 제품을 선택한 후 제품 정보 페이지 상단의 경고에 표시되는 **외부 리포지토리에 연결** 옵션을 사용할 수 있습니다.

 AWS Service Catalog 콘솔 또는를 사용하여 AWS CLI 
+ 기존 AWS Service Catalog 제품을 외부 리포지토리의 템플릿 파일에 연결
+ 제품 이름, 설명 및 태그를 포함한 제품 메타데이터를 업데이트합니다.
+ 이전에 연결한 AWS Service Catalog 제품에 대한 연결을 재구성합니다(다른 리포지토리 소스를 사용하도록 동기화 업데이트).

**AWS Service Catalog 콘솔을 사용하여 연결 및 리포지토리 세부 정보를 업데이트하려면**

1.  AWS Service Catalog 콘솔 왼쪽 탐색 패널에서 **제품 목록을** 선택한 다음 외부 리포지토리에 현재 연결된 제품을 선택합니다.

1. **제품 소스 세부 정보** 섹션에서 **제품 소스 편집**을 선택합니다.

1. **제품 소스 세부 정보** 섹션에서 원하는 새 리포지토리를 지정합니다.

1. **변경 사항 저장**을 선택합니다.

**를 사용하여 연결 및 리포지토리 세부 정보를 업데이트하려면 AWS CLI**

에서 `$ aws servicecatalog update-product` 및 `$ aws servicecatalog update-provisioning-artifact` 명령을 AWS CLI 실행합니다.

## Git 동기화 제품 연결 삭제
<a name="delete-repo-sync"></a>

 AWS Service Catalog 콘솔, CodeConnections API 또는를 사용하여 AWS Service Catalog 제품과 템플릿 파일 간의 연결을 삭제할 수 있습니다 AWS CLI. 템플릿 파일에서 제품의 연결을 해제하면 동기화된 AWS Service Catalog 제품이 정기적으로 관리되는 제품으로 전환됩니다. 제품 연결을 끊은 후 템플릿 파일을 변경하고 이전에 연결된 리포지토리에서 커밋하면 변경 내용이 반영되지 *않습니다*. AWS Service Catalog 제품을 외부 리포지토리의 템플릿 파일에 다시 연결하려면 [연결 및 동기화된 AWS Service Catalog 제품 업데이트를 참조하세요]().

**AWS Service Catalog 콘솔을 사용하여 Git 동기화 제품의 연결을 해제하려면**

1. 의 왼쪽 탐색 패널에서 **제품 목록을** AWS Management Console선택합니다.

1. 목록에서 제품을 선택합니다.

1. **제품** 페이지에서 **제품 소스 세부 정보** 섹션으로 이동합니다.

1. **연결 해제**를 선택합니다.

1. 작업을 확인한 다음 **연결 해제**를 선택합니다.

**를 사용하여 Git 동기화 제품의 연결을 해제하려면 AWS CLI**

에서 `$ aws servicecatalog update-product` 명령을 AWS CLI실행합니다. `ConnectionParameters` 입력에서 지정된 연결을 제거합니다.

**CodeConnections API 또는를 사용하여 연결을 삭제하려면 AWS CLI**

CodeConnections API 또는에서 `$ aws codestar-connections delete-connection` 명령을 AWS CLI실행합니다.

## GitHub, GitHub Enterprise 또는 Bitbucket 템플릿 파일에 Terraform 제품 동기화
<a name="git-synced-Terraform"></a>

Terraform 구성 파일을 사용하여 Git 동기화 제품을 만들 때 파일 경로는 tar.gz 형식만 허용합니다. Terraform 폴더 형식은 파일 경로에 사용할 수 없습니다.

# AWS 리전 Git 동기화 제품에 대한 지원
<a name="git-sync-supported-regions"></a>

AWS Service Catalog 는 아래 표에 표시된 AWS 리전 대로에서 Git 동기화 produtcs를 지원합니다.


****  

| AWS 리전 이름 | AWS 리전 자격 증명 | Git 동기화 제품에 대한 지원 | 
| --- | --- | --- | 
| 미국 동부(버지니아 북부) | us-east-1 | 예 | 
| 미국 동부(오하이오) | us-east-2 | 예 | 
| 미국 서부(캘리포니아 북부) | us-west-1 | 예 | 
| 미국 서부(오리건) | us-west-2 | 예 | 
| 아프리카(케이프타운) | af-south-1 | 아니요 | 
| Asia Pacific (Hong Kong) | ap-east-1 | 아니요 | 
| 아시아 태평양(자카르타) | ap-southeast-3 | 아니요 | 
| 아시아 태평양(뭄바이) | ap-south-1 | 예 | 
| 아시아 태평양(오사카) | ap-northeast-3 | 아니요 | 
| 아시아 태평양(서울) | ap-northeast-2 | 예 | 
| 아시아 태평양(싱가포르) | ap-southeast-1 | 예 | 
| 아시아 태평양(시드니) | ap-southeast-2 | 예 | 
| 아시아 태평양(도쿄) | ap-northeast-1 | 예 | 
| 캐나다(중부) | ca-central-1 | 예 | 
| 유럽(프랑크푸르트) | eu-central-1 | 예 | 
| 유럽(아일랜드) | eu-west-1 | 예 | 
| 유럽(런던) | eu-west-2 | 예 | 
| 유럽(밀라노) | eu-south-1 | 아니요 | 
| 유럽(파리) | eu-west-3 | 예 | 
| 유럽(스톡홀름) | eu-north-1 | 예 | 
| 중동(바레인) | me-south-1 | 아니요 | 
| 남아메리카(상파울루) | sa-east-1 | 예 | 
| AWS GovCloud(미국 동부) | us-gov-east-1 | 아니요 | 
| AWS GovCloud(미국 서부) | us-gov-west-1 | 아니요 | 