GitHub, GitHub Enterprise 또는 Bitbucket의 템플릿 파일에 제품 동기화 - AWS Service Catalog

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

GitHub, GitHub Enterprise 또는 Bitbucket의 템플릿 파일에 제품 동기화

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

제품을 외부 템플릿 파일에 동기화하는 데 필요한 권한

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

{ "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" } } } ] }

계정 연결 생성

템플릿 파일을 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의 서비스 연결 역할 섹션을 참조하십시오.

새 Git 동기화 제품을 만들려면
  1. 왼쪽 탐색 창에서 제품 목록을 선택한 다음, 제품 생성을 선택합니다.

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

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

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

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

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

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

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

Git 동기화 제품을 여러 개 만들려면
  1. AWS Service Catalog 콘솔 왼쪽 탐색 패널에서 제품 목록을 선택한 다음 여러 git 관리형 제품 생성을 선택합니다.

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

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

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

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

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

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

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

  4. Next(다음)를 선택합니다.

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

Git 동기화 제품 연결 보기

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

참고

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

를 사용하여 연결 및 리포지토리 세부 정보를 보려면 AWS Management Console
  1. 왼쪽 탐색 창에서 제품 목록을 선택합니다.

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

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

  4. 제품 버전의 소스 수정 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 동기화 제품 연결 업데이트

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

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

기존 제품을 Git 동기화 제품으로 업데이트하려면
  1. 왼쪽 탐색 패널에서 제품 목록을 선택하고 다음 옵션 중 하나를 선택합니다.

    • 단일 제품을 업데이트하려면 제품을 선택하고 제품 소스 세부 정보 섹션으로 이동한 다음 세부 정보 편집을 선택합니다.

    • 여러 제품을 업데이트하려면 외부 리포지토리에 제품 연결을 선택하고 제품을 10개까지 선택한 후 다음을 선택합니다.

  2. 제품 소스 세부 정보 섹션에서 다음 업데이트를 수행합니다.

    • 연결을 지정합니다.

    • 리포지토리를 지정합니다.

    • 브랜치를 지정합니다.

    • 템플릿 파일의 이름을 지정합니다.

  3. Save changes(변경 사항 저장)를 선택합니다.

참고

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

AWS Service Catalog 콘솔 또는를 사용하여 AWS CLI

  • 기존 AWS Service Catalog 제품을 외부 리포지토리의 템플릿 파일에 연결

  • 제품 이름, 설명 및 태그를 포함한 제품 메타데이터를 업데이트합니다.

  • 이전에 연결한 AWS Service Catalog 제품에 대한 연결을 재구성합니다(다른 리포지토리 소스를 사용하도록 동기화 업데이트).

AWS Service Catalog 콘솔을 사용하여 연결 및 리포지토리 세부 정보를 업데이트하려면
  1. AWS Service Catalog 콘솔 왼쪽 탐색 패널에서 제품 목록을 선택한 다음 현재 외부 리포지토리에 연결된 제품을 선택합니다.

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

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

  4. Save changes(변경 사항 저장)를 선택합니다.

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

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

Git 동기화 제품 연결 삭제

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선택합니다.

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

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

  4. 연결 해제를 선택합니다.

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

를 사용하여 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 제품 동기화

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