기존 S3 버킷과 함께 CloudFormation 사용 “Properties”: {

CloudFormation을 사용 하여 기존 버킷 에서 AWS :: S3 :: Bucket의 일부 속성을 설정하려고합니다 . 즉, 버킷을 생성하고 싶지 않고 일부 설정 만 적용하고 싶습니다. 다음은 cloudformation JSON의 예입니다.

"websitePreviewBucket": {
  "Type": "AWS::S3::Bucket",
  "Properties": {
    "AccessControl": "PublicRead",
    "VersioningConfiguration": {
      "Status": "Suspended"
    },
    "BucketName": "preview.website.com",
    "WebsiteConfiguration": {
      "IndexDocument": "index.html",
      "ErrorDocument": "error.html"
    }
  }
},

당연히 이것은 클라우드 형성 콘솔에서 실패합니다.

The following resource(s) failed to create: [websitePreviewBucket].
preview.website.com already exists

버킷 preview.website.com을 만들었습니다. 이 계정은 해당 버킷을 “소유”합니다. 어떻게 같은 것들을 설정할 수 있습니다 AccessControlWebsiteConfigurationCloudFormation와 기존 버킷에?

비슷한 질문을하는 또 다른 질문을 보았지만 적절한 대답이 없습니다.



답변

CloudFormation을 사용하여 AWS 인프라를 수정하는 데 착각했다고 생각합니다. CloudFormation의 목표는 템플릿 방식으로 AWS 인프라를 생성하는 것입니다. 생성 된 리소스를 일부 관리 할 수 ​​있도록 확장되었지만 기존 인프라 관리는 목표가 아닙니다. 로부터 시작 페이지 :

AWS CloudFormation을 사용하면 AWS 인프라 배포를 예측 가능하고 반복적으로 생성 및 프로비저닝 할 수 있습니다.

가장 가까운 방법은 AWS :: S3 :: BucketPolicy를 사용하여 기존 버킷에 버킷 정책을 설정하는 입니다. 그 외에도 AWS CLI S3 API 를 사용하여 버킷을 수정할 수 있습니다.


답변