Amazon S3 배포 작업 - AWS CodePipeline

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

Amazon S3 배포 작업

Amazon S3 배포 작업을 사용하여 정적 웹 사이트 호스팅 또는 보관을 위해 Amazon S3 버킷에 파일을 배포합니다. 버킷에 업로드하기 전에 배포 파일을 추출할지 여부를 지정할 수 있습니다.

참고

이 참조 항목에서는 배포 플랫폼이 호스팅용으로 CodePipeline 구성된 Amazon S3 버킷인 경우에 대한 Amazon S3 배포 작업에 대해 설명합니다. 의 Amazon S3 소스 작업에 대한 참조 정보는 CodePipeline 을 참조하십시오Amazon S3 소스 작업.

작업 유형

  • 범주: Deploy

  • 소유자: AWS

  • 공급자: S3

  • 버전: 1

구성 파라미터

BucketName

필수 여부: 예

파일을 배포할 Amazon S3 버킷 이름입니다.

Extract

필수 여부: 예

true인 경우 업로드 전에 파일을 추출하도록 지정합니다. 그렇지 않으면 호스팅된 정적 웹 사이트의 경우처럼 애플리케이션 파일은 업로드를 위해 압축된 상태로 유지됩니다. false인 경우 ObjectKey는 필수 항목입니다.

ObjectKey

조건부. Extract = false인 경우 필수

S3 버킷의 객체를 고유하게 식별하는 Amazon S3 객체 키의 이름입니다.

KMS ARN EncryptionKey

필수 여부: 아니요

호스트 버킷의 AWS KMS 암호화 키 ARN입니다. AWS KMS key파라미터는 제공된 KMSEncryptionKeyARN를 사용하여 업로드된 아티팩트를 암호화합니다. KMS 키의 경우 키 ID, 키 ARN 또는 별칭 ARN을 사용할 수 있습니다.

참고

별칭은 KMS 키를 생성한 계정에서만 인식됩니다. 교차 계정 작업의 경우 키 ID 또는 키 ARN만 사용하여 키를 식별할 수 있습니다. 계정 간 작업에는 다른 계정(AccountB)의 역할을 사용하는 것이 포함되므로 키 ID를 지정하면 다른 계정(AccountB)의 키가 사용됩니다.

중요

CodePipeline 대칭 KMS 키만 지원합니다. 비대칭 KMS 키를 사용하여 S3 버킷의 데이터를 암호화하지 마십시오.

CannedACL

필수 여부: 아니요

CannedACL 파라미터는 Amazon S3에 배포된 객체에 지정된 미리 준비된 ACL을 적용합니다. 이는 객체에 적용된 기존 ACL을 덮어씁니다.

CacheControl

필수 여부: 아니요

CacheControl 파라미터는 버킷의 객체에 대한 요청/응답의 캐싱 동작을 제어합니다. 유효한 값 목록의 경우 HTTP 작업에 대한 Cache-Control 헤더 필드를 확인합니다. CacheControl에 여러 값을 입력하려면 각 값 사이에 쉼표를 사용합니다. 이 CLI용 예제와 같이 각 쉼표 뒤에 공백을 추가할 수 있습니다(선택 사항).

"CacheControl": "public, max-age=0, no-transform"

입력 아티팩트

  • 아티팩트 수: 1

  • 설명: 배포 또는 아카이브용 파일은 소스 리포지토리에서 가져와 압축하여 업로드합니다. CodePipeline

출력 아티팩트

  • 아티팩트 수: 0

  • 설명: 이 작업 유형에는 출력 아티팩트가 적용되지 않습니다.

예제 작업 구성

다음은 작업 구성에 대한 예제을 보여 줍니다.

Extractfalse로 설정한 경우의 구성 예제

다음 예제는 Extract 필드가 false로 설정된 상태에서 작업을 만들 때의 기본 작업 구성을 보여줍니다.

YAML
Name: Deploy Actions: - Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: S3 Version: '1' RunOrder: 1 Configuration: BucketName: website-bucket Extract: 'false' OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2 Namespace: DeployVariables
JSON
{ "Name": "Deploy", "Actions": [ { "Name": "Deploy", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "S3", "Version": "1" }, "RunOrder": 1, "Configuration": { "BucketName": "website-bucket", "Extract": "false" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2", "Namespace": "DeployVariables" } ] },

Extracttrue로 설정한 경우의 구성 예제

다음 예제는 Extract 필드가 true로 설정된 상태에서 작업을 만들 때의 기본 작업 구성을 보여줍니다.

YAML
Name: Deploy Actions: - Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: S3 Version: '1' RunOrder: 1 Configuration: BucketName: website-bucket Extract: 'true' ObjectKey: MyWebsite OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2 Namespace: DeployVariables
JSON
{ "Name": "Deploy", "Actions": [ { "Name": "Deploy", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "S3", "Version": "1" }, "RunOrder": 1, "Configuration": { "BucketName": "website-bucket", "Extract": "true", "ObjectKey": "MyWebsite" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2", "Namespace": "DeployVariables" } ] },

이 작업을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.

  • 자습서: Amazon S3를 배포 공급자로 사용하는 파이프라인 생성 - 이 자습서에서는 S3 배포 작업을 사용하여 파이프라인을 생성하는 두 가지 예제를 안내합니다. 샘플 파일을 다운로드하고, CodeCommit 리포지토리에 파일을 업로드하고, S3 버킷을 생성하고, 호스팅용 버킷을 구성합니다. 다음으로 CodePipeline 콘솔을 사용하여 파이프라인을 생성하고 Amazon S3 배포 구성을 지정합니다.

  • Amazon S3 소스 작업— 이 작업 참조는 의 Amazon S3 소스 작업에 대한 참조 정보와 예제를 제공합니다 CodePipeline.