UpdateReplacePolicy 속성 - AWS CloudFormation

UpdateReplacePolicy 속성

UpdateReplacePolicy 속성을 사용하면 스택 업데이트 작업 중 리소스의 기존 물리적 인스턴스가 교체될 때 보존하거나 경우에 따라 백업할 수 있습니다.

스택 업데이트를 시작하면 제출하는 내용과 스택의 현재 템플릿 간의 차이에 따라 AWS CloudFormation이 리소스를 업데이트합니다. 리소스 교체가 필요한 리소스 속성을 업데이트할 경우 업데이트 중에 CloudFormation이 리소스를 다시 생성합니다. 리소스를 다시 생성하면 새로운 물리적 ID가 생성됩니다. CloudFormation은 대체 리소스를 먼저 생성한 후, 대체 리소스를 가리키도록 다른 종속 리소스의 참조를 변경합니다. 그런 다음 CloudFormation은 기본적으로 기존 리소스를 삭제합니다. UpdateReplacePolicy를 사용하여 CloudFormation이 기존 리소스의 스냅샷을 유지할지 또는 경우에 따라 생성할지를 지정할 수 있습니다.

AWS::EC2::Volume과 같이 스냅샷을 지원하는 리소스의 경우, 기존 리소스 인스턴스를 삭제하기 전에 CloudFormation이 스냅샷을 생성하도록 Snapshot을 지정합니다.

모든 리소스에 UpdateReplacePolicy 속성을 적용할 수 있습니다. UpdateReplacePolicy는 업데이트 동작이 교체로 지정되어 CloudFormation이 기존 리소스를 새로운 물리적 ID를 가진 새 리소스로 교체하는 리소스 속성을 업데이트할 경우에만 실행됩니다. 예를 들면 AWS::RDS::DBInstance 리소스 유형의 Engine 속성을 업데이트하는 경우, CloudFormation에서는 새 리소스를 생성하고 현재의 DB 인스턴스 리소스를 새 리소스로 대체합니다. 그런 다음 UpdateReplacePolicy 속성은 CloudFormation이 이전 DB 인스턴스의 스냅샷을 삭제, 보존 또는 작성했는지를 나타냅니다. 리소스의 각 속성에 대한 업데이트 동작은 AWS 리소스 및 속성 유형 참조에서 해당 리소스의 참조 항목에 나와 있습니다. 리소스 업데이트 동작에 대한 자세한 내용은 스택 리소스의 업데이트 동작 이해 단원을 참조하십시오.

UpdateReplacePolicy 속성은 변경 세트를 사용하여 수행한 스택 업데이트는 물론, 직접 수행하는 스택 업데이트에도 적용됩니다.

참고

보관된 리소스는 계속 존재하며 해당 리소스를 삭제할 때까지 적용 요금이 계속 발생합니다. 이 정책으로 생성된 스냅샷은 계속 존재하며 해당 스냅샷을 삭제할 때까지 적용 요금이 계속 발생합니다. UpdateReplacePolicy는 기존의 물리적 리소스나 스냅샷을 유지하지만 CloudFormation의 범위에서 제거합니다.

UpdateReplacePolicy는 스택 업데이트 중에 교체된 리소스에만 적용된다는 점에서 DeletionPolicy 속성과 다릅니다. 스택을 삭제할 때 또는 리소스 정의 자체를 스택 업데이트의 일부로 템플릿에서 삭제할 때 삭제된 리소스에 대해 DeletionPolicy를 사용합니다.

다음 코드 조각에는 교체에 대해 Retain 정책을 사용하는 Amazon RDS 데이터베이스 인스턴스 인스턴스가 포함되어 있습니다. 이 리소스가 새로운 물리적 ID를 가진 새 리소스로 교체될 경우 CloudFormation은 이전 데이터베이스 인스턴스를 삭제하지 않고 그대로 남겨 둡니니다.

JSON

{ "AWSTemplateFormatVersion" : "2010-09-09", "Resources" : { "myDB" : { "Type" : "AWS::RDS::DBInstance", "DeletionPolicy" : "Retain", "UpdateReplacePolicy" : "Retain", "Properties" : {} } } }

YAML

AWSTemplateFormatVersion: 2010-09-09 Resources: myDB: Type: 'AWS::RDS::DBInstance' DeletionPolicy: Retain UpdateReplacePolicy: Retain Properties: {}

UpdateReplacePolicy 옵션

Delete

리소스 교체 중 해당되는 경우 CloudFormation이 리소스와 리소스의 모든 콘텐츠를 삭제합니다. 이 정책은 모든 리소스 유형에 추가할 수 있습니다. 기본적으로 UpdateReplacePolicy를 지정하지 않으면 CloudFormation에서 리소스가 삭제됩니다. 그러나 다음 사항을 고려해야 합니다.

Amazon S3 버킷의 경우 삭제에 성공하려면 버킷에 있는 모든 객체를 삭제해야 합니다.

Retain

리소스가 교체되는 경우 CloudFormation은 리소스 또는 해당 콘텐츠를 삭제하지 않고 리소스를 유지합니다. 이 정책은 모든 리소스 유형에 추가할 수 있습니다. 보관된 리소스는 계속 존재하며 해당 리소스를 삭제할 때까지 적용 요금이 계속 발생합니다.

리소스가 교체될 경우 UpdateReplacePolicy는 기존의 물리적 리소스를 유지하지만 CloudFormation의 범위에서 제거합니다.

Snapshot

스냅샷을 지원하는 리소스의 경우 CloudFormation에서는 리소스를 삭제하기 전에 리소스에 대한 스냅샷을 생성합니다. 이 정책으로 생성된 스냅샷은 계속 존재하며 해당 스냅샷을 삭제할 때까지 적용 요금이 계속 발생합니다.

참고

스냅샷을 지원하지 않는 리소스의 UpdateReplacePolicySnapshot 옵션을 지정할 경우 CloudFormation은 기본 옵션인 Delete로 되돌립니다.

스냅샷을 지원하는 리소스는 다음과 같습니다.