기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS SAM에서 애플리케이션을 배포하는 옵션
AWS SAM에서는 애플리케이션을 수동으로 배포하거나 배포를 자동화할 수 있습니다. AWS SAM CLI를 사용하여 애플리케이션을 수동으로 배포합니다. 배포를 자동화하려면 파이프라인과 지속적 통합 및 지속적 배포(CI/CD) 시스템을 사용합니다. 이 섹션의 주제에서는 두 접근 방식 모두에 대한 정보를 제공합니다.
AWS SAM CLI를 사용하여 수동으로 배포하는 방법
로컬에서 서버리스 애플리케이션을 개발하고 테스트한 후 sam deploy 명령을 사용하여 애플리케이션을 배포할 수 있습니다.
AWS SAM으로부터 프롬프트와 함께 배포 과정을 안내받으려면 --guided 플래그를 지정합니다. 이 플래그를 지정하면 sam deploy 명령은 애플리케이션 아티팩트를 압축하여 Amazon Simple Storage Service(Amazon S3)(.zip 파일 아카이브용) 또는 Amazon Elastic Container Registry(Amazon ECR)(컨테이너 이미지용)에 업로드합니다. 이 명령은 귀하의 애플리케이션을 AWS클라우드에 배포합니다.
예:
# Deploy an application using prompts: sam deploy --guided
CI/CD 시스템 및 파이프라인을 사용하여 배포
AWS SAM에서는 파이프라인과 지속적 통합 및 지속적 배포(CI/CD) 시스템을 사용하여 배포를 자동화하도록 지원합니다. AWS SAM을 사용하면 파이프라인을 생성하고 서버리스 애플리케이션을 위한 CI/CD 작업을 간소화할 수 있습니다. 여러 CI/CD 시스템이 AWS SAM 빌드 컨테이너 이미지를 지원합니다. 또한 AWS SAM은 AWS의 배포 모범 사례를 캡슐화하는 여러 CI/CD 시스템을 위한 기본 파이프라인 템플릿 세트를 제공합니다.
자세한 내용은 AWS SAM에서 CI/CD 시스템 및 파이프라인을 사용하여 배포 단원을 참조하십시오.
점진적 배포
AWS SAM 애플리케이션을 한 번에 모두 배포하지 않고 점진적으로 배포하려는 경우 귀하는 AWS CodeDeploy가 제공하는 배포 구성을 지정할 수 있습니다. 자세한 정보는 AWS CodeDeploy 사용자 가이드의 CodeDeploy에서 배포 구성으로 작업을 잠조하세요.
점진적으로 배포되도록 귀하의 AWS SAM 애플리케이션을 구성하는 방법에 대한 자세한 내용은을 잠조하세요AWS SAM에서 서버리스 애플리케이션의 점진적 배포.
AWS SAM CLI를 이용한 배포 문제 해결
AWS SAM CLI오류: “보안 제약 조건이 충족되지 않았음”
sam deploy --guided 실행 중에 질문 HelloWorldFunction may not have authorization defined, Is this okay? [y/N]
을 묻는 메시지가 표시됩니다. 이 프롬프트에 N
(기본 응답)으로 응답하면 다음 오류가 표시됩니다.
Error: Security Constraints Not Satisfied
귀하가 배포하려는 애플리케이션에 승인 없이 Amazon API Gateway API가 구성되어 있을 수 있다는 메시지를 프롬프트가 표시합니다. 이 프롬프트에 N
으로 응답하는 것은 괜찮지 않다고 말하는 것입니다.
이 문제를 해결할 수 있도록 다음 옵션이 제공됩니다.
-
권한 부여를 통해 애플리케이션을 구성하세요. 권한 부여 구성에 대한 자세한 내용은을 잠조하세요AWS SAM 템플릿으로 API 액세스 제어
-
이 질문에
Y
로 응답함으로써, 권한 없이 구성된 API Gateway API가 있는 애플리케이션을 배포해도 괜찮다는 의사를 표시하십시오.
자세히 알아보기
서버리스 애플리케이션 배포의 실제 사례는 전체 AWS SAM워크숍을 출처로 하는 다음 사항들을 잠조하세요.
-
모듈 3 - 수동 배포
- AWS SAM CLI을 사용하여 서버리스 애플리케이션을 빌드, 패키징 및 배포하는 방법을 알아봅니다. -
모듈 4 - CI/CD
- 지속적 통합 및 전달 (CI/CD) 파이프라인을 만들어 빌드, 패키지, 배포 단계를 자동화하는 방법을 알아봅니다.