AWS CloudFormation 스택 외부에서 삭제된 리소스를 다시 생성하려고 합니다.
간략한 설명
템플릿에서 리소스의 논리적 ID가 제거되면 CloudFormation은 해당 리소스가 삭제된 것으로 해석합니다. 템플릿 내에서 리소스의 논리적 ID를 변경하면 대체 업데이트가 시작됩니다. 업데이트는 삭제된 CloudFormation 리소스를 대체합니다.
참고: 이전 논리적 ID에 대한 모든 참조를 업데이트해야 합니다.
해결 방법
다음 단계에 따라 CloudFormation 스택 외부에서 삭제된 리소스를 복구하십시오.
-
스택 템플릿 내에서 대역을 벗어나 삭제된 리소스의 논리적 ID를 파악합니다.
참고: 논리적 ID는 물리적 ID 즉, 리소스 이름과 다릅니다.
다음 예에서는 Amazon Simple Storage Service(Amazon S3) 버킷의 논리 ID가 내보내기 작업 내에서 참조됩니다. 예제 템플릿 내의 S3Bucket 리소스가 CloudFormation의 스택 작업 외부에서 삭제되었습니다.
Resources:
S3Bucket: #Logical ID of the Resource
Type: AWS::S3::Bucket
Outputs:
BucketName:
Value: !Ref S3Bucket
Export:
Name: PrimaryBucket
-
삭제된 리소스에 대해 새로운 논리적 ID를 할당합니다(예: S3NewBucket).
Resources:
S3NewBucket: #The changed Logical ID of the Resource
Type: AWS::S3::Bucket
Outputs:
BucketName:
Value: !Ref S3Bucket
Export:
Name: PrimaryBucket
-
이전 논리적 ID의 모든 참조를 찾아 새로운 논리적 ID로 바꿉니다.
Resources:
S3NewBucket: #The changed logical ID of the resource
Type: AWS::S3::Bucket
Outputs:
BucketName:
Value: !Ref S3NewBucket #Reference has been updated to point towards the new logical ID
Export:
Name: PrimaryBucket
-
편집한 템플릿으로 CloudFormation 스택을 업데이트합니다. 업데이트는 삭제된 리소스를 다시 생성합니다.
관련 정보
스택 리소스의 업데이트 동작