AWS CloudFormation 아티팩트 - AWS CloudFormation

AWS CloudFormation 아티팩트

CodePipeline에서 CodePipeline이 파이프라인을 실행할 때 아티팩트에 대한 작업을 수행합니다. AWS CloudFormation의 경우 아티팩트에는 스택 템플릿 파일, 템플릿 구성 파일 또는 2가지 모두 포함될 수 있습니다. CodePipeline은 이러한 아티팩트를 사용하여 AWS CloudFormation 스택 및 변경 세트 작업을 수행합니다.

Amazon Simple Storage Service(Amazon S3)를 소스 리포지토리로 사용하는 경우, 템플릿 및 템플릿 구성 파일을 파일 하나로 압축한 다음 S3 버킷에 업로드해야 합니다. 기타 리포지토리(예: GitHub 및 AWS CodeCommit)의 경우 압축하지 않고 아티팩트를 업로드합니다. 자세한 내용을 알아보려면 AWS CodePipeline 사용 설명서의 Create a pipeline in CodePipeline을 참조하세요.

리포지토리에는 파일을 원하는 만큼 추가할 수 있습니다. 예를 들어 동일한 템플릿에 대해 두 가지 구성, 즉 테스트 구성 및 프로덕션 구성을 포함할 수 있습니다.

이 주제에서는 각 아티팩트 유형에 대해 설명합니다.

스택 템플릿 파일

스택 템플릿 파일은 AWS CloudFormation에서 프로비저닝 및 구성하는 리소스를 정의합니다. 이러한 파일은 AWS CloudFormation을 사용하여 스택을 생성 또는 업데이트하는 경우 사용하는 템플릿 파일과 동일합니다. YAML 또는 JSON 형식 템플릿을 사용할 수 있습니다. 템플릿에 대한 자세한 내용은 CloudFormation 템플릿 섹션 단원을 참조하십시오.

템플릿 구성 파일

템플릿 구성 파일은 JSON 형식 텍스트 파일로, 템플릿 파라미터 값, 스택 정책 및 태그를 지정할 수 있습니다. 템플릿 구성 파일을 사용하여 스택에 대한 파라미터 값 또는 스택 정책을 지정합니다. 지정한 파라미터 값은 모두 연결된 템플릿에서 선언되어 있어야 합니다.

이 파일에 민감한 정보(예: 암호)를 포함하면 해당 파일에 대한 액세스를 제한합니다. 예를 들어, 아티팩트를 S3 버킷에 업로드하면 S3 버킷 정책 또는 사용자 정책을 사용하여 액세스를 제한합니다.

구성 파일을 생성하려면 다음 형식을 사용합니다.

{ "Parameters" : { "NameOfTemplateParameter" : "ValueOfParameter", ... }, "Tags" : { "TagKey" : "TagValue", ... }, "StackPolicy" : { "Statement" : [ StackPolicyStatement ] } }

다음 예에서는 TestEC2Key 파라미터에 대해 KeyName를 지정하고, 값이 DepartmentMarketing 태그를 추가하고, 리소스를 삭제하는 업데이트를 제외하고 모든 업데이트 작업을 허용하는 스택 정책을 추가합니다.

{ "Parameters" : { "KeyName" : "TestEC2Key" }, "Tags" : { "Department" : "Marketing" }, "StackPolicy" : { "Statement" : [ { "Effect" : "Allow", "NotAction" : "Update:Delete", "Principal": "*", "Resource" : "*" } ] } }

다음 사항도 참조하세요.

이러한 파라미터를 이용할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.

  • CodePipeline의 AWS CloudFormation 작업 파라미터에 대한 자세한 내용을 알아보려면 AWS CodePipeline 사용 설명서AWS CloudFormation 작업 구성 참조를 참조하세요.

  • Owner 필드 또는 configuration 필드와 같은 작업 공급자별 예제 템플릿 값은 AWS CodePipeline 사용 설명서의 Action structure reference에서 확인하세요.

  • YAML 또는 JSON 형식의 예제 파이프라인 스택 템플릿을 다운로드하려면 AWS CodePipeline 사용 설명서AWS CloudFormation이 포함된 파이프라인 생성에서 자습서를 참조하세요.