it-swarm.com.de

Verwenden von CloudFormation mit einem vorhandenen S3-Bucket

Mit CloudFormation möchte ich einige der Eigenschaften in AWS :: S3 :: Bucket für einen vorhandenen Bucket festlegen . Mit anderen Worten, ich möchte den Bucket nicht erstellen, sondern nur einige der Einstellungen erzwingen. Hier ist ein Beispiel für meine Cloudformation JSON:

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

Es überrascht nicht, dass dies in der Cloudformation-Konsole fehlschlägt:

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

Ich habe den Bucket Vorschau.website.com erstellt. Ich meine, dieses Konto "besitzt" diesen Eimer. Wie kann ich mit CloudFormation Dinge wie AccessControl und WebsiteConfiguration für einen vorhandenen Bucket festlegen?

Ich habe eine andere Frage gesehen, die etwas Ähnliches stellt , aber es gibt keine passende Antwort.

29
tedder42

Ich glaube, Sie haben sich geirrt, CloudFormation zum Ändern Ihrer AWS-Infrastruktur zu verwenden. Ziel von CloudFormation ist es, eine AWS-Infrastruktur auf Vorlagenbasis zu erstellen. Es wurde erweitert, um eine gewisse Verwaltung der von ihm erstellten Ressourcen zu ermöglichen, aber die Verwaltung der vorhandenen Infrastruktur ist nicht das Ziel. Von der Willkommensseite :

Mit AWS CloudFormation können Sie AWS-Infrastrukturbereitstellungen vorhersehbar und wiederholt erstellen und bereitstellen.

Ich glaube, Sie können am ehesten eine Bucket-Richtlinie für einen vorhandenen Bucket festlegen, indem Sie AWS :: S3 :: BucketPolicy verwenden. Darüber hinaus können Sie AWS CLIS3 API verwenden, um Ihren Bucket zu ändern:

7
dialt0ne