2017-05-17 5 views
1

우리는 이미 몇 가지 s3 버킷을 포함하여 수동으로 테라 폼으로 인프라를 만들었습니다. 앞으로 순수 CloudFormation을 사용하여 인프라를 코드로 정의하고 싶습니다. CloudFormation 스택 이벤트와,AWS 'Bucket already exists'- 기존 자원을 CloudFormation으로 "이전"하는 방법은 무엇입니까?

AWSTemplateFormatVersion: '2010-09-09' 
Resources: 
    TheBucket: 
    Type: AWS::S3::Bucket 
    Properties: 
     BucketName: my-existing-bucket-name 

나는 그것을 적용하려고, 실행이 실패한 : 내가 시작할 수있는 방법

The following resource(s) failed to update: [TheBucket]. 
12:33:47 UTC+0200 UPDATE_FAILED AWS::S3::Bucket TheBucket 
    my-existing-bucket-name already exists 

은 그래서 기존의 버킷을 참조하는 CloudFormation의 YAML 정의를 생성 리소스를 CloudFormation과 함께 재 작성하지 않고 관리하고 있습니까? 아니면 디자인으로 불가능합니까?

답변

1

새 버킷을 만들고 이전 버킷의 데이터를 새 버킷에 동기화해야합니다. 기존 S3 버킷을 수정하는 방법을 보지 못했습니다.

1

클라우드 형성 템플릿의 리소스 섹션은 클라우드 형성으로 생성되어야하는 리소스를 정의합니다. 대신 기존 자원을 매개 변수로 정의하여 참조하십시오.

+0

** 관리 ** 즉 리소스를 조정하고 싶습니다. 예 : cors_rules 등을 변경하십시오. 단지 매개 변수를 통해 참조하는 것이 아닙니다. – geekQ

+2

클라우드 정보와 함께 작동하지 않을까 걱정됩니다. 아니면 이것이 어떻게 효과가 있을지 모르겠다. cloudform의 아이디어는 템플릿을 기반으로 인프라를 구축하는 것이며 기존 리소스를 조작하는 데 초점을 두지 않습니다. 구름 형성에서의 접근법은 오히려 모든 것을 삭제하고 처음부터 구축 한 다음 기존 자원을 변경하는 것입니다. – bschroers