직접 스택 업데이트 - AWS CloudFormation

직접 스택 업데이트

스택에 대한 업데이트를 빠르게 배포하려면 직접 업데이트를 수행합니다. 직접 업데이트를 통해 스택의 리소스에 대한 업데이트를 지정하는 템플릿 또는 입력 파라미터를 제출하고 AWS CloudFormation에서는 이러한 템플릿 및 파라미터를 즉시 배포합니다. 템플릿을 사용하여 업데이트하려는 경우 현재 템플릿을 수정하고 로컬 또는 Amazon S3 버킷에 로컬로 저장할 수 있습니다.

업데이트를 지원하지 않는 리소스 속성의 경우 현재 값을 유지해야 합니다. 스택을 업데이트하기 전에 AWS CloudFormation이 스택에 대해 변경할 사항을 미리 보려면 변경 세트를 사용합니다. 자세한 내용은 변경 세트를 사용하여 스택 업데이트 단원을 참조하십시오.

참고

스택을 업데이트하는 경우 AWS CloudFormation에서는 업데이트하는 속성에 따라 리소스를 중단하거나 업데이트된 리소스를 대체할 수 있습니다. 리소스 업데이트 동작에 대한 자세한 내용은 스택 리소스의 업데이트 동작 단원을 참조하십시오.

AWS CloudFormation 스택 업데이트(콘솔)
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/cloudformation에서 AWS CloudFormation 콘솔을 엽니다.

  2. AWS CloudFormation 콘솔의 스택 목록에서 업데이트하려는 실행 중인 스택을 선택합니다.

  3. 스택 세부 정보 창에서 업데이트를 선택합니다.

  4. 스택 템플릿을 수정하지 않은 경우, [현재 템플릿 사용(Use current template)]을 선택하고 [다음(Next)]을 선택합니다.

    템플릿을 수정한 경우 Replace current template(현재 템플릿 교체)을 선택하고 Specify template(템플릿 지정) 섹션에서 업데이트된 템플릿의 위치를 지정하십시오.

    • 컴퓨터에 로컬로 저장된 템플릿의 경우 템플릿 파일 업로드를 선택합니다. [파일 선택(Choose file)]을 선택하고 해당 파일을 찾아 선택한 후 [다음(Next)]을 선택합니다.

      참고

      로컬 템플릿 파일을 업로드하는 경우 AWS CloudFormation에서는 해당 파일을 AWS 계정의 Amazon Simple Storage Service(Amazon S3) 버킷에 업로드합니다. AWS CloudFormation에서 생성한 S3 버킷이 아직 없는 경우 템플릿 파일을 업로드하는 각 리전에 대해 고유한 버킷이 생성됩니다. AWS CloudFormation에서 생성한 S3 버킷이 AWS 계정에 이미 있는 경우 AWS CloudFormation이 템플릿을 해당 버킷에 추가합니다.

      AWS CloudFormation에서 생성한 S3 버킷 관련 고려 사항

      • AWS 계정에서 Amazon S3 권한이 있는 모든 사용자가 버킷에 액세스할 수 있습니다.

      • AWS CloudFormation은 기본값으로 서버 측 암호화가 활성화된 버킷을 생성하여 버킷에 저장된 모든 객체를 암호화합니다.

        AWS CloudFormation에서 생성한 버킷에 대한 암호화 옵션을 직접 관리할 수 있습니다(예: https://console.aws.amazon.com/s3/의 Amazon S3 콘솔 또는 AWS CLI 사용). 자세한 내용을 알아보려면 Amazon Simple Storage Service 사용 설명서S3 버킷에 대한 Amazon S3 기본 암호화를 참조하세요.

      • 템플릿을 Amazon S3에 수동으로 업로드하여 자체 버킷을 사용하고 버킷의 권한을 관리할 수 있습니다. 스택을 생성하거나 업데이트할 때마다 템플릿 파일의 Amazon S3 URL을 지정합니다.

    • Amazon S3 버킷에 저장된 템플릿의 경우 Amazon S3 URL을 선택합니다. 템플릿에 대한 URL을 입력하거나 붙여 넣고 다음을 선택합니다.

      템플릿이 버전 관리를 사용하는 버킷에 있는 경우 특정 버전의 템플릿(예: https://s3.amazonaws.com/templates/myTemplate.template?versionId=123ab1cdeKdOW5IH4GAcYbEngcpTJTDW)을 지정할 수 있습니다. 자세한 내용을 알아보려면 Amazon Simple Storage Service 사용 설명서Managing objects in a versioning-enabled bucket(버전 관리를 사용하는 버킷의 객체 관리)을 참조하세요.

  5. 템플릿에 파라미터가 포함되어 있는 경우 [스택 세부 정보 지정(Specify stack details)] 페이지에서 파라미터 값을 입력하거나 수정하고 [다음(Next)]을 선택하면 됩니다.

    AWS CloudFormation에서는 NoEcho 속성으로 파라미터가 선언된 경우를 제외하고 현재 스택에서 설정된 값으로 각 파라미터를 채웁니다. 하지만 [기존 값 사용(Use existing value)]을 선택하여 현재 값을 계속해서 사용할 수 있습니다.

    동적 파라미터를 사용하여 보안 암호를 관리하는 방법과 NoEcho를 사용하여 민감한 정보를 마스킹 처리하는 방법에 대한 자세한 내용은 템플릿에 자격 증명을 포함하지 않음 모범 사례를 참조하세요.

    
          기존 값 사용 옵션이 선택된 파라미터 필드.
  6. Configure stack options(스택 옵션 구성) 페이지에서 스택에 적용된 태그 및 권한을 업데이트하고 스택 정책, 롤백 구성과 같은 고급 옵션을 수정하거나 Amazon SNS 알림 주제를 업데이트할 수 있습니다.

    이러한 옵션에 대한 자세한 내용은 AWS CloudFormation 스택 옵션 설정 섹션을 참조하세요.

    다음을 선택합니다.

  7. 스택 정보와 제출한 변경 사항을 검토합니다.

    올바른 정보(예: 올바른 파라미터 값 또는 템플릿 URL)를 제출했는지 확인합니다. 템플릿에 IAM 리소스가 포함되어 있는 경우 이 템플릿이 IAM 리소스를 생성할 수 있음을 확인합니다(I acknowledge that this template may create IAM resources)를 선택하여 템플릿에서 IAM 리소스를 사용하도록 지정합니다. 템플릿에서 IAM 리소스를 사용하는 방법에 대한 자세한 내용은 AWS Identity and Access Management을(를) 통한 액세스 제어 단원을 참조하십시오.

    변경 세트 미리 보기 섹션에서 AWS CloudFormation에서 필요한 모든 변경을 수행하는지 확인합니다. 예를 들어, 추가, 제거 또는 수정하려는 리소스를 AWS CloudFormation에서 추가, 제거 또는 수정하는지 확인합니다. AWS CloudFormation에서는 스택에 대한 변경 세트를 만들어 이 미리 보기를 생성합니다. 자세한 내용은 변경 세트를 사용하여 스택 업데이트 단원을 참조하십시오.

  8. 변경 사항이 만족스러우면 Update stack(스택 업데이트)을 선택합니다.

    참고

    이때, 제안한 업데이트를 보다 철저하게 검토하기 위해 변경 세트를 볼 수도 있습니다. 이렇게 하려면 Update stack(스택 업데이트) 대신 View change set(변경 세트 보기)를 선택합니다. CloudFormation은 업데이트를 기반으로 생성된 변경 세트를 표시합니다. 스택 업데이트를 수행할 준비가 되면 [실행(Execute)]을 선택합니다.

    이벤트 창이 선택된 상태로 CloudFormation이 스택에 대한 스택 세부 정보 페이지를 표시합니다. 이제 스택의 상태는 UPDATE_IN_PROGRESS입니다. CloudFormation이 스택 업데이트를 성공적으로 완료하면 스택 상태가 UPDATE_COMPLETE로 설정됩니다.

    스택 업데이트가 실패하면 CloudFormation에서 변경 사항을 자동으로 롤백하고 스택 상태를 UPDATE_ROLLBACK_COMPLETE로 설정합니다.

    참고

    UPDATE_IN_PROGRESS 상태인 경우에는 업데이트를 취소할 수 있습니다. 자세한 내용은 스택 업데이트 취소 단원을 참조하십시오.

AWS CloudFormation 스택을 업데이트하려면(AWS CLI)
  • aws cloudformation update-stack 명령을 사용하여 스택을 직업 업데이트합니다. 업데이트하려는 스택, 파라미터 값 및 기능을 지정하고 업데이트된 템플릿을 사용하려는 경우 템플릿 이름을 지정합니다.

    다음 예에서는 mystack 스택의 템플릿 및 입력 파라미터를 업데이트합니다.

    $ aws cloudformation update-stack --stack-name mystack \ --template-url https://s3.amazonaws.com/sample/updated.template \ --parameters ParameterKey=VPCID,ParameterValue=SampleVPCID ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2

    다음 예에서는 SubnetIDs 스택의 mystack 파라미터 값만 업데이트합니다.

    $ aws cloudformation update-stack --stack-name mystack \ --use-previous-template \ --parameters ParameterKey=VPCID,UsePreviousValue=true ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2

    다음 예에서는mystack 스택에 스택 알림 주제 2개를 추가합니다.

    $ aws cloudformation update-stack --stack-name mystack \ --use-previous-template --notification-arns \ "arn:aws:sns:us-east-1:12345678912:mytopic" "arn:aws:sns:us-east-1:12345678912:mytopic2"

    다음 예에서는mystack 스택에서 스택 알림 주제를 모두 제거합니다.

    $ aws cloudformation update-stack --stack-name mystack \ --use-previous-template --notification-arns []