AWS SAM CLI 구성 - AWS Serverless Application Model

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

AWS SAM CLI 구성

의 이점 중 AWS SAM 하나는 반복적인 작업을 제거하여 개발자의 시간을 최적화한다는 것입니다. AWS SAMCLI이 samconfig 용도로 명명된 구성 파일이 포함되어 있습니다. 기본적으로 에 대한 AWS SAMCLI 구성은 필요하지 않지만 구성 파일에 있는 사용자 정의된 매개 변수를 대신 참조하도록 허용하여 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 SAMCLI 제공합니다. 이러한 각 명령은 애플리케이션 및 개발자의 기본 설정에 따라 선택적 플래그를 사용하여 구성할 수 있습니다. 자세한 내용은 의 내용을 참조하십시오.AWS SAMCLI GitHub

이 섹션의 항목에서는 서버리스 애플리케이션의 개발 시간을 최적화하기 위해 기본 설정을 AWS SAMCLI구성 파일 만들고 사용자 지정하는 방법을 보여줍니다.

구성 파일 (파일) 을 samconfig 만드는 방법

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

배포가 완료되면 samconfig 파일에는 기본값을 사용한 default 경우 이름이 지정된 프로필이 포함됩니다. deploy명령을 다시 실행하면 이 프로필의 저장된 구성 설정이 AWS SAM 적용됩니다.

samconfig 파일의 장점은 배포 명령 외에 사용할 수 있는 다른 모든 명령에 대한 구성 설정을 AWS SAM 저장할 수 있다는 것입니다. 새 배포 시 생성되는 이러한 값 외에도 개발자 워크플로의 다른 측면을 단순화할 수 있는 여러 속성을 samconfig 파일에 설정할 수 AWS SAMCLI 있습니다.

프로젝트 설정 구성

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

구성 파일 사용

구성 파일은 환경, 명령 및 파라미터 값으로 구성됩니다. 자세한 정보는 구성 파일 기본 사항을 참조하세요.

새 환경을 구성하려면
  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 SAMCLI 명령을 지정합니다. 모든 AWS SAMCLI 명령의 파라미터 값을 구성하려면 global 식별자를 사용합니다.

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

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

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

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

    다음은 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 SAMCLI와 함께 사용할 수 있습니다. 자세한 내용은 AWS Command Line Interface 사용 설명서의 다음 세션을 참조하세요.

빠른 설정 지침은 5단계: 를 AWS CLI 사용하여 AWS 자격 증명을 구성합니다. 섹션을 참조하세요.