sam deploy - AWS Serverless Application Model

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

sam deploy

이 페이지는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) sam deploy 명령에 대한 참조 정보를 제공합니다.

sam deploy 명령은 AWS 클라우드을 사용하여 애플리케이션을 AWS CloudFormation에 배포합니다.

사용법

$ <environment variables> sam deploy <options>

환경 변수

SAM_CLI_POLL_DELAY

쉘의 SAM_CLI_POLL_DELAY 환경 변수를 초 값으로 설정하여 AWS SAM CLI가 CloudFormation 스택 상태를 확인하는 빈도를 구성합니다. 이 스택 상태는 CloudFormation에서 제한을 확인할 때 유용합니다. 이 env 변수는 sam deploy 실행 중에 수행되는 describe_stack API 호출을 폴링하는 데 사용됩니다.

다음은 이 변수의 예입니다.

$ SAM_CLI_POLL_DELAY=5 sam deploy

옵션

--capabilities LIST

CloudFormation이 특정 스택을 생성할 수 있도록 지정해야 하는 기능 목록입니다. 일부 스택 세트 템플릿에는 예를 들어 새로운 AWS 계정(IAM 사용자)를 생성하는 방식으로 AWS Identity and Access Management에 대한 권한에 영향을 미칠 수 있는 리소스가 포함될 수 있습니다. 그러한 스택에서는 이 옵션을 지정하여 스택의 기능을 명확히 확인해야 합니다. 유일하게 유효한 값은 CAPABILITY_IAMCAPABILITY_NAMED_IAM입니다. IAM 리소스가 있는 경우 둘 중 어느 기능이든 지정할 수 있습니다. 사용자 정의 이름을 갖는 IAM 리소스가 있는 경우 CAPABILITY_NAMED_IAM을 지정해야 합니다. 이 옵션을 지정하지 않으면 작업에서 InsufficientCapabilities 오류를 반환합니다.

중첩된 애플리케이션이 포함된 애플리케이션을 배포할 때는 CAPABILITY_AUTO_EXPAND를 사용하여 애플리케이션에 중첩 애플리케이션이 포함되어 있음을 알려야 합니다. 자세한 내용은 중첩 애플리케이션 배포을 참조하십시오

--config-env TEXT

사용할 구성 파일의 기본 매개변수 값을 지정하는 환경 이름입니다. 기본값은 default입니다. 구성 파일에 대한 자세한 내용은 AWS SAMCLI구성 파일 섹션을 참조하세요.

--config-file PATH

사용할 기본 매개변수 값이 들어 있는 구성 파일의 경로 및 파일 이름입니다. 기본값은 프로젝트 디렉터리의 루트 내 samconfig.toml입니다. 구성 파일에 대한 자세한 내용은 AWS SAMCLI구성 파일 섹션을 참조하세요.

--confirm-changeset | --no-confirm-changeset

AWS SAM CLI가 계산된 변경 세트를 배포할지를 확인해달라는 프롬프트입니다.

--debug

디버그 로깅을 켜면 AWS SAM CLI가 생성한 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

--disable-rollback | --no-disable-rollback

배포 중에 오류가 발생하는 경우 CloudFormation 스택을 롤백할지를 지정합니다. 기본적으로 배포 중에 오류가 발생하면 CloudFormation 스택은 마지막 안정 상태로 롤백됩니다. --disable-rollback을 지정했는데 배포 중에 오류가 발생하면 오류가 발생하기 전에 생성되거나 업데이트된 리소스는 롤백되지 않습니다.

--fail-on-empty-changeset | --no-fail-on-empty-changeset

스택에 변경 사항이 없는 경우 0이 아닌 종료 코드를 반환할지 여부를 지정하십시오. 기본 동작은 0이 아닌 종료 코드를 반환하는 것입니다.

--force-upload

Amazon S3 버킷의 기존 아티팩트와 일치하더라도 아티팩트를 업로드하려면 이 옵션을 지정하십시오. 일치하는 아티팩트는 덮어씁니다.

--guided, -g

이 옵션을 지정하면 AWS SAM CLI에서 메시지를 사용하여 배포 과정을 안내합니다.

--help

이 메시지를 표시한 후 종료합니다.

--image-repositories TEXT

Amazon ECR 리포지토리 URI에 대한 함수의 매핑. 논리적 ID의 함수 참조. 다음은 그 예제입니다.

$ sam deploy --image-repositories Function1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repo

이 옵션은 하나의 명령에서 여러 번 지정할 수 있습니다.

--image-repository TEXT

이 명령이 함수 이미지를 업로드하는 Amazon ECR 리포지토리의 이름입니다. 이 옵션은 Image 패키지 유형으로 선언된 함수에 필요합니다.

--kms-key-id TEXT

Amazon S3 버킷에 저장된 아티팩트를 암호화하는 데 사용되는 AWS Key Management Service(AWS KMS) 키의 ID입니다. 이 옵션을 지정하지 않을 경우 AWS SAM은 Amazon S3 관리형 암호화 키를 사용합니다.

--metadata

템플릿에서 참조되는 모든 아티팩트에 첨부할 메타데이터 맵입니다.

--no-execute-changeset

변경 세트를 적용할지를 나타냅니다. 변경 세트를 적용하기 전에 스택 변경 내용을 보려면 이 옵션을 지정하십시오. 이 명령은 CloudFormation 변경 세트를 만든 다음 변경 세트를 적용하지 않고 종료합니다. 변경 세트를 적용하려면 이 옵션 없이 동일한 명령을 실행합니다.

--no-progressbar

Amazon S3에 아티팩트를 업로드할 때 진행률 표시줄을 표시하지 마십시오.

--notification-arns LIST

CloudFormation이 스택과 열결하는 Amazon Simple Notification Service(Amazon SNS) 주제 ARN의 목록.

--on-failure [ROLLBACK | DELETE | DO_NOTHING]

스택을 생성하지 못할 때 취할 조치를 지정합니다.

다음과 같은 옵션을 사용할 수 있습니다.

  • ROLLBACK – 스택을 이전에 알려진 정상 상태로 롤백합니다.

  • DELETE – 스택이 존재하는 경우 이전에 알려진 정상 상태로 롤백합니다. 그렇지 않으면 스택을 삭제합니다.

  • DO_NOTHING – 스택을 롤백하거나 삭제하지 않습니다. 효과는 --disable-rollback과 동일합니다.

기본값은 ROLLBACK입니다.

참고

--disable-rollback 옵션 또는 --on-failure 옵션을 지정할 수 있지만 둘 다 모두 지정할 수는 없습니다.

--parameter-overrides LIST

키-값 페어로 인코딩된 CloudFormation 매개변수를 포함하는 스트링이 우선합니다. 각 재정의는 ParameterKey=name,ParameterValue=value 형식을 사용합니다. 여러 재정의를 공백으로 구분합니다. 다음은 두 가지 예제입니다.

$ sam deploy --parameter-overrides ParameterKey=value1,ParameterValue=value2
$ sam deploy --parameter-overrides ParameterKey=value1,ParameterValue=value2 ParameterKey=hello,ParameterValue=world ParameterKey=apple,ParameterValue=banana
--profile TEXT

AWS 보안 인증 정보를 가져오는 보안 인증 파일의 특정 프로필입니다.

--region TEXT

배포할 AWS 리전입니다. 예를 들어 us-east-1입니다.

--resolve-image-repos

가이드 없는 배포를 위한 패키징 및 배포에 사용할 Amazon ECR 리포지토리를 자동으로 생성합니다. 이 옵션은 PackageType: Image이 지정된 함수 및 계층에만 적용됩니다. --guided 옵션을 지정하는 경우, AWS SAM CLI은 --resolve-image-repos를 무시합니다.

참고

AWS SAM이 이 옵션을 사용하여 함수 또는 레이어에 대한 Amazon ECR 리포지토리를 자동으로 생성하고 나중에 AWS SAM 템플릿에서 해당 함수 또는 레이어를 삭제하면 해당 Amazon ECR 리포지토리가 자동으로 삭제됩니다.

--resolve-s3

가이드 없는 배포를 위한 패키징 및 배포에 사용할 Amazon S3 버킷을 자동으로 생성합니다. --guided 옵션을 지정하는 경우 AWS SAM CLI는 --resolve-s3을 무시합니다. --s3-bucket--resolve-s3 옵션을 모두 지정하면 오류가 발생합니다.

--role-arn TEXT

변경 세트를 적용할 때 CloudFormation이 맡은 IAM 역할의 Amazon 리소스 이름(ARN).

--s3-bucket TEXT

이 명령으로 CloudFormation 템플릿을 업로드하는 Amazon S3 버킷의 이름입니다. 템플릿이 51,200바이트를 초과하는 경우 --s3-bucket 옵션 또는 --resolve-s3 옵션 중 하나가 필요합니다. --s3-bucket--resolve-s3 옵션을 모두 지정하면 오류가 발생합니다.

--s3-prefix TEXT

접두사는 Amazon S3 버킷에 업로드되는 아티팩트의 이름에 추가됩니다. 접두사 이름은 Amazon S3 버킷의 경로 이름(폴더 이름)입니다.

--save-params

명령줄에서 AWS SAM 구성 파일에 제공한 매개변수를 저장합니다.

--signing-profiles LIST

배포 패키지에 서명하는 데 사용할 서명 프로필 목록입니다. 이 옵션은 키-값 쌍의 목록을 사용합니다. 여기서 키는 서명할 함수 또는 계층의 이름이고 값은 서명 프로필이며 선택적 프로필 소유자는 :로 제한됩니다. 예를 들어 FunctionNameToSign=SigningProfileName1 LayerNameToSign=SigningProfileName2:SigningProfileOwner입니다.

--stack-name TEXT

(필수) 배포할 CloudFormation 스택의 이름입니다. 기존 스택을 지정하시면 명령이 해당 스택을 업데이트합니다. 새 스택을 지정하시면 명령이 해당 스택을 생성합니다.

--tags LIST

생성되거나 업데이트된 스택과 연결할 태그 목록입니다. 또한 CloudFormation은 이러한 태그를 지원하는 스택의 리소스로 전파합니다.

--template-file, --template, -t PATH

AWS SAM 템플릿이 위치한 경로 및 파일 이름입니다.

참고

이 옵션을 지정하는 경우 AWS SAM은 템플릿과 템플릿이 가리키는 로컬 리소스만에만 배포합니다.

--use-json

CloudFormation 템플릿의 JSON을 출력합니다. 기본 출력 결과는 YAML입니다.

예시

sam deploy 하위 명령 사용에 대한 자세한 예제와 심층적인 단계별 설명은 AWS SAM 배포 소개 섹션을 참조하세요.