AWS SAM CLI 구성 - AWS Serverless Application Model

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

AWS SAM CLI 구성

AWS SAM의 이점 중 하나는 반복 작업을 제거하여 개발자의 시간을 최적화한다는 것입니다. AWS SAM CLI에는 이 용도로 사용하는 samconfig라는 구성 파일이 포함되어 있습니다. 기본적으로 AWS SAM CLI에는 구성이 필요하지 않지만 구성 파일을 업데이트하면 AWS SAM이 구성 파일에서 사용자 지정 파라미터를 참조하게 하고 명령을 실행할 때 사용하는 파라미터를 최소화할 수 있습니다. 다음 표의 예제에서는 명령을 최적화하는 방법을 보여줍니다.

원본

samconfig로 최적화

sam build --cached --parallel --use-containers

sam build

sam local invoke --env-vars locals.json

sam local invoke

sam local start-api --env-vars locals.json --warm-containers EAGER

sam local start-api

AWS SAM CLI는 개발자가 서버리스 애플리케이션을 생성, 개발 및 배포하는 데 도움이 되는 일련의 명령을 제공합니다. 이러한 각 명령은 애플리케이션 및 개발자의 기본 설정에 따라 선택적 플래그를 사용하여 구성할 수 있습니다. 자세한 내용은 GitHub에서 AWS SAM CLI 콘텐츠를 참조하세요.

이 섹션의 주제에서는 AWS SAM CLI 구성 파일을 생성하고 해당 기본 설정을 사용자 지정하여 서버리스 애플리케이션의 개발 시간을 최적화하는 방법을 보여줍니다.

구성 파일(samconfig 파일)을 생성하는 방법

AWS SAM CLI 구성 파일(파일 이름 samconfig)은 일반적으로 TOML 구조를 사용하지만 YAML 형식일 수도 있는 텍스트 파일입니다. AWS 빠른 시작 템플릿을 사용할 경우 이 파일은 sam init 명령을 실행하면 생성됩니다. 애플리케이션을 배포할 때 sam deploy -\-guided 명령을 사용하여 이 파일을 업데이트할 수 있습니다.

기본값을 사용하여 배포를 완료하면 samconfig 파일에 default라는 프로파일이 포함됩니다. deploy 명령을 다시 실행할 경우 AWS SAM은 이 프로파일의 저장된 구성 설정을 적용합니다.

samconfig 파일의 이점은 AWS SAM이 deploy 명령 외에도 사용 가능한 다른 명령에 대한 구성 설정을 저장한다는 것입니다. 새 배포에서 생성된 이러한 값 외에도 AWS SAM CLI를 사용하는 개발자 워크플로의 다른 측면을 간소화할 수 있는 여러 속성을 samconfig 파일에 설정할 수 있습니다.

프로젝트 설정 구성

AWS SAM CLI와 함께 사용할 구성 파일에서 AWS SAM CLI 명령 파라미터 값과 같은 프로젝트별 설정을 지정할 수 있습니다. 이 구성에 대한 자세한 정보는 AWS SAM CLI 구성 파일 섹션을 참조하세요.

구성 파일 사용

구성 파일은 환경, 명령 및 파라미터 값으로 구성됩니다. 자세한 내용은 구성 파일 기본 사항 단원을 참조하십시오.

새 환경을 구성하려면
  1. 구성 파일에 새 환경을 지정합니다.

    다음은 새 prod 환경을 지정하는 예제입니다.

    TOML
    [prod.global.parameters]
    YAML
    prod: global: parameters:
  2. 구성 파일의 파라미터 섹션에서 파라미터 값을 키-값 쌍으로 지정합니다.

    다음은 prod 환경에 대한 애플리케이션 스택 이름을 지정하는 예제입니다.

    TOML
    [prod.global.parameters]
    stack_name = "prod-app"
    YAML
    prod: global: parameters: stack_name: prod-app
  3. --config-env 옵션을 사용하여 사용할 환경을 지정합니다.

    다음은 그 예제입니다.

    $ sam deploy --config-env "prod"
파라미터 값을 구성하려면
  1. 파라미터 값을 구성하려는 AWS SAM CLI 명령을 지정합니다. 모든 AWS SAM CLI 명령의 파라미터 값을 구성하려면 global 식별자를 사용합니다.

    다음은 default 환경 sam deploy 명령에 대한 파라미터 값을 지정하는 예제입니다.

    TOML
    [default.deploy.parameters]
    confirm_changeset = true
    YAML
    default: deploy: parameters: confirm_changeset: true

    다음은 default 환경의 모든 AWS SAM CLI 명령에 대한 파라미터 값을 지정하는 예입니다.

    TOML
    [default.global.parameters]
    stack_name = "sam-app"
    YAML
    default: global: parameters: stack_name: sam-app
  2. AWS SAM CLI 대화형 흐름을 통해 파라미터 값을 지정하고 구성 파일을 수정할 수도 있습니다.

    다음은 sam deploy --guided 대화형 흐름에 대한 예제입니다.

    $ sam deploy --guided Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]: ENTER AWS Region [us-west-2]: ENTER #Shows you resources changes to be deployed and require a 'Y' to initiate deploy Confirm changes before deploy [Y/n]: n #SAM needs permission to be able to create roles to connect to the resources in your template Allow SAM CLI IAM role creation [Y/n]: ENTER #Preserves the state of previously provisioned resources when an operation fails Disable rollback [y/N]: ENTER HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y Save arguments to configuration file [Y/n]: ENTER SAM configuration file [samconfig.toml]: ENTER SAM configuration environment [default]: ENTER

자세한 내용은 구성 파일 생성 및 수정 단원을 참조하십시오.

예시

기본 TOML 예제

다음은 samconfig.toml 구성 파일의 예입니다.

...
version = 0.1

[default]
[default.global]
[default.global.parameters]
stack_name = "sam-app"

[default.build.parameters]
cached = true
parallel = true

[default.deploy.parameters]
capabilities = "CAPABILITY_IAM"
confirm_changeset = true
resolve_s3 = true

[default.sync.parameters]
watch = true

[default.local_start_api.parameters]
warm_containers = "EAGER"

[prod]
[prod.sync]
[prod.sync.parameters]
watch = false

기본 YAML 예제

다음은 samconfig.yaml 구성 파일의 예입니다.

version 0.1 default: global: parameters: stack_name: sam-app build: parameters: cached: true parallel: true deploy: parameters: capabilities: CAPABILITY_IAM confirm_changeset: true resolve_s3: true sync: parameters: watch: true local_start_api: parameters: warm_containers: EAGER prod: sync: parameters: watch: false

보안 인증 정보 및 기본 설정 구성

AWS Command Line Interface(AWS CLI)을 사용하여 AWS 보안 인증 정보, 기본 리전 이름, 기본 출력 형식과 같은 기본 설정을 구성합니다. 구성한 후에는 이러한 설정을 AWS SAM CLI와 함께 사용할 수 있습니다. 자세한 내용은 AWS Command Line Interface 사용 설명서의 다음 세션을 참조하세요.

빠른 설정 지침은 5단계: AWS CLI 를 사용하여 AWS 보안 인증 구성 섹션을 참조하세요.