템플릿 동기화 구성 생성 - AWS Proton

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

템플릿 동기화 구성 생성

를 통해 템플릿 동기화 구성을 생성하는 방법을 알아봅니다AWS Proton.

템플릿 동기화 구성 사전 요구 사항 만들기:
리포지터리 링크는 다음과 같은 요소로 구성됩니다.
  • 리포지토리에 액세스하고 해당 알림을 구독할 수 있는AWS Proton 권한을 부여하는 AWSCodeStar 연결 연결입니다.

  • 서비스 연결 역할. 리포지토리를 연결하면 서비스 연결 역할이 자동으로 생성됩니다.

첫 번째 템플릿 동기화 구성을 생성하기 전에 다음 디렉터리 레이아웃과 같이 템플릿 번들을 리포지토리로 푸시하십시오.

/templates/ # subdirectory (optional) /templates/my-env-template/ # template name /templates/my-env-template/v1/ # template version /templates/my-env-template/v1/infrastructure/ # template bundle /templates/my-env-template/v1/schema/

첫 번째 템플릿 동기화 구성을 만든 후 새 버전 (예: 아래/my-env-template/v2/) 에 업데이트된 템플릿 번들을 추가하는 커밋을 푸시하면 새 템플릿 버전이 자동으로 생성됩니다.

/templates/ # subdirectory (optional) /templates/my-env-template/ # template name /templates/my-env-template/v1/ # template version /templates/my-env-template/v1/infrastructure/ # template bundle /templates/my-env-template/v1/schema/ /templates/my-env-template/v2/ /templates/my-env-template/v2/infrastructure/ /templates/my-env-template/v2/schema/

단일 커밋에 하나 이상의 동기화 구성 템플릿에 대한 새 템플릿 번들 버전을 포함할 수 있습니다. AWS Proton커밋에 포함된 각 새 템플릿 번들 버전에 대해 새 템플릿 버전을 만듭니다.

템플릿 동기화 구성을 생성한 후에도 콘솔에서 또는 S3 버킷에서 템플릿 번들을AWS CLI 업로드하여 새 버전의 템플릿을 수동으로 생성할 수 있습니다. 템플릿 동기화는 저장소에서 다음 방향으로만 작동합니다AWS Proton. 수동으로 만든 템플릿 버전은 동기화되지 않습니다.

템플릿 동기화 구성을 설정한 후 는 리포지토리의 변경 사항을AWS Proton 수신합니다. 변경 사항이 푸시될 때마다 템플릿과 이름이 같은 디렉터리를 찾습니다. 그런 다음 해당 디렉터리 내에서 메이저 버전처럼 보이는 디렉토리를 찾습니다. AWS Proton템플릿 번들을 해당 템플릿 메이저 버전에 등록합니다. 새 버전은 항상 해당DRAFT 상태에 있습니다. 콘솔을 사용하거나 새 버전을 게시할 수AWS CLI 있습니다.

예를 들어,my-repo/templates 브랜치에서 다음main 레이아웃과my-env-template 동기화되도록 구성된 템플릿이 있다고 가정해 보겠습니다.

/code /code/service.go README.md /templates/ /templates/my-env-template/ /templates/my-env-template/v1/ /templates/my-env-template/v1/infrastructure/ /templates/my-env-template/v1/schema/ /templates/my-env-template/v2/ /templates/my-env-template/v2/infrastructure/ /templates/my-env-template/v2/schema/

AWS Protonto의my-env-template:1 내용과/templates/my-env-template/v1/ to의/templates/my-env-template/v2/ 내용을 동기화합니다my-env-template:2. 아직 존재하지 않는 경우 이러한 주요 버전이 생성됩니다.

AWS Proton템플릿 이름과 일치하는 첫 번째 디렉터리를 찾았습니다. 템플릿 동기화 구성을 만들거나 편집할subdirectoryPath 때 를 지정하여 디렉터리AWS Proton 검색을 제한할 수 있습니다. 예를 들어, 에/production-templates/ 대해 지정할 수subdirectoryPath 있습니다.

콘솔 또는 CLI를 사용하여 템플릿 동기화 구성을 생성할 수 있습니다.

AWS Management Console
콘솔을 사용하여 템플릿 및 템플릿 동기화 구성을 생성합니다.
  1. AWS Proton콘솔에서 환경 템플릿을 선택합니다.

  2. 환경 템플릿 생성을 선택합니다.

  3. 환경 템플릿 만들기 페이지의 템플릿 옵션 섹션에서 새 환경 프로비저닝을 위한 템플릿 만들기를 선택합니다.

  4. 템플릿 번들 소스 섹션에서 Git의 템플릿 동기화를 선택합니다.

  5. 소스 코드 리포지토리 섹션에서:

    1. 리포지토리에서 템플릿 번들이 포함된 링크된 리포지토리를 선택합니다.

    2. Branch의 경우 동기화할 리포지토리 브랜치를 선택합니다.

    3. (옵션) 템플릿 번들 디렉터리 (Temtory) 에 템플릿 번들 검색 범위를 좁힐 디렉터리의 이름을 입력합니다.

  6. 템플릿 세부 정보 섹션에서

    1. 템플릿 이름을 입력합니다.

    2. (옵션) 템플릿 표시 이름을 입력합니다.

    3. (옵션) 환경 템플릿에 대한 템플릿 설명을 입력합니다.

  7. (선택 사항) 암호화 설정 섹션의 암호화 설정 사용자 지정 (고급) 확인란을 선택하여 고유한 암호화 키를 제공하십시오.

  8. (선택 사항) 태그 섹션에서 새 태그 추가를 선택하고 키와 값을 입력하여 고객 관리 태그를 생성합니다.

  9. 환경 만들기 템플릿을 선택합니다.

    이제 새 환경 템플릿의 상태와 세부 정보가 표시된 새 페이지가 나타납니다. 이러한 세부 정보에는 관리 태그와 고객AWS 관리 태그의 목록이 포함됩니다. AWS ProtonAWS Proton리소스를 만들 때 자동으로AWS 관리되는 태그를 생성합니다. 자세한 정보는 AWS Proton리소스 및 태깅을 참조하세요.

  10. 템플릿 세부 정보 페이지에서 동기화 탭을 선택하면 템플릿 동기화 구성 세부 정보 데이터를 볼 수 있습니다.

  11. 템플릿 버전 탭을 선택하면 상태 세부 정보가 포함된 템플릿 버전을 볼 수 있습니다.

  12. 새 환경 템플릿 상태의 상태는 초안 상태에서 시작됩니다. 본인과proton:CreateEnvironment 권한이 있는 다른 사용자가 이를 보고 액세스할 수 있습니다. 템플릿을 다른 사용자가 사용할 수 있도록 하려면 다음 단계를 따르세요.

  13. 템플릿 버전 섹션에서 방금 만든 템플릿의 마이너 버전 (1.0) 왼쪽에 있는 라디오 버튼을 선택합니다. 또는 정보 알림에서 게시를 선택하고 다음 단계를 건너뛸 수 있습니다.

  14. 템플릿 버전 섹션에서 게시를 선택합니다.

  15. 템플릿 상태가 게시됨으로 변경됩니다. 템플릿의 최신 권장 버전입니다.

  16. 탐색 창에서 환경 템플릿을 선택하면 환경 템플릿 목록과 세부 정보를 볼 수 있습니다.

서비스 템플릿 및 템플릿 동기화 구성을 만드는 절차는 비슷합니다.

AWS CLI
를 사용하여 템플릿 및 템플릿 동기화 구성을 생성합니다AWS CLI.
  1. 템플릿 생성. 이 예에서는 환경 템플릿이 생성됩니다.

    다음 명령을 실행합니다.

    $ aws proton create-environment-template \ --name "env-template"

    응답은 다음과 같습니다.

    { "environmentTemplate": { "arn": "arn:aws:proton:us-east-1:123456789012:environment-template/env-template", "createdAt": "2021-11-07T23:32:43.045000+00:00", "displayName": "env-template", "lastModifiedAt": "2021-11-07T23:32:43.045000+00:00", "name": "env-template", "status": "DRAFT", "templateName": "env-template" } }
  2. 다음을AWS CLI 제공하여 템플릿 동기화 구성을 생성하십시오.
    • 동기화하려는 템플릿입니다. 템플릿 동기화 구성을 만든 후에도 콘솔에서 또는 를 사용하여 수동으로 새 버전을 만들 수AWS CLI 있습니다.

    • 템플릿 이름입니다.

    • 템플릿 유형.

    • 동기화하려는 링크된 리포지터리.

    • 연결된 리포지토리 제공자.

    • 템플릿 번들이 있는 브랜치입니다.

    • (선택 사항) 템플릿 번들이 포함된 디렉터리의 경로입니다. 기본적으로 템플릿 이름과 일치하는 첫 번째 디렉터리를AWS Proton 찾습니다.

    다음 명령을 실행합니다.

    $ aws proton create-template-sync-config \ --template-name "env-template" \ --template-type "ENVIRONMENT" \ --repository-name "myrepos/templates" \ --repository-provider "GITHUB" \ --branch "main" \ --subdirectory "env-template/"

    응답은 다음과 같습니다.

    { "templateSyncConfigDetails": { "branch": "main", "repositoryName": "myrepos/templates", "repositoryProvider": "GITHUB", "subdirectory": "templates", "templateName": "env-template", "templateType": "ENVIRONMENT" } }
  3. 템플릿 버전을 게시하려면 을 참조하십시오템플릿 등록 및 게시.

동기화 서비스 템플릿

위의 예제는 환경 템플릿을 동기화하는 방법을 보여줍니다. 서비스 템플릿도 비슷합니다. 서비스 템플릿을 동기화하려면 템플릿 번들의 각 메이저 버전 디렉터리에 이름이 지정된.template-registration.yaml 파일을 추가합니다. 이 파일에는 커밋 후 서비스 템플릿 버전을 만들 때AWS Proton 필요한 추가 세부 정보가 들어 있습니다. AWS Proton콘솔 또는 API를 사용하여 서비스 템플릿 버전을 명시적으로 만들 때 이러한 세부 정보를 입력으로 제공하면 이 파일이 템플릿 동기화를 위한 이러한 입력을 대체합니다.

./templates/ # subdirectory (optional) /templates/my-svc-template/ # service template name /templates/my-svc-template/v1/ # service template version /templates/my-svc-template/v1/.template-registration.yaml # service template version properties /templates/my-svc-template/v1/instance_infrastructure/ # template bundle /templates/my-svc-template/v1/schema/

.template-registration.yaml파일에는 다음과 같은 세부 정보가 들어 있습니다.

  • 호환 가능한 환경 [필수] — 이러한 환경 템플릿 및 주요 버전을 기반으로 하는 환경은 이 서비스 템플릿 버전을 기반으로 하는 서비스와 호환됩니다.

  • 지원되는 구성 요소 소스 [선택 사항] — 이러한 소스를 사용하는 구성 요소는 이 서비스 템플릿 버전을 기반으로 하는 서비스와 호환됩니다. 지정하지 않으면 구성 요소를 이러한 서비스에 연결할 수 없습니다. 구성 요소에 대한 자세한 내용은 단원을 참조하세요AWS Proton 구성 요소.

파일의 YAML 구문은 다음과 같습니다.

compatible_environments: - env-templ-name:major-version - ... supported_component_sources: - DIRECTLY_DEFINED

하나 이상의 환경 템플릿/메이저 버전 조합을 지정합니다. supported_component_sources지정은 선택 사항이며 지원되는 유일한 값은 입니다DIRECTLY_DEFINED.

예 .템플릿 등록.yaml

이 예에서 서비스 템플릿 버전은my-env-template 환경 템플릿의 주요 버전 1 및 2와 호환됩니다. another-env-template환경 템플릿의 주요 버전 1 및 3과도 호환됩니다. 파일은supported_component_sources 지정하지 않으므로 이 서비스 템플릿 버전을 기반으로 하는 서비스에 구성 요소를 연결할 수 없습니다.

compatible_environments: - my-env-template:1 - my-env-template:2 - another-env-template:1 - another-env-template:3
참고

이전에는 호환되는 환경을 지정하기 위해 다른 파일을AWS Proton 정의했습니다..compatible-envs AWS Proton이전 버전과의 호환성을 위해 해당 파일과 해당 형식을 계속 지원합니다. 확장이 불가능하고 구성 요소와 같은 새로운 기능을 지원할 수 없으므로 더 이상 사용하지 않는 것이 좋습니다.