Frage CloudFormation mit einem vorhandenen S3-Bucket verwenden


Mit CloudFormation möchte ich einige Eigenschaften festlegen AWS :: S3 :: Eimer auf einem bestehender Eimer. Mit anderen Worten, ich möchte den Bucket nicht erstellen, ich möchte nur einige der Einstellungen erzwingen. Hier ist ein Beispiel für meine Cloud-Entwicklung JSON:

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

Es ist nicht überraschend, dass dies in der Cloud-Konfigurationskonsole fehlschlägt:

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

Ich habe den Bucket preview.website.com erstellt. Ich meine, dieser Account "besitzt" diesen Bucket. Wie kann ich Dinge wie einstellen AccessControl und WebsiteConfiguration auf einem vorhandenen Bucket mit CloudFormation?

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


19
2017-07-08 00:29


Ursprung




Antworten:


Ich glaube, Sie irren sich bei der Verwendung von CloudFormation, um Ihre AWS-Infrastruktur zu modifizieren. Ziel von CloudFormation ist die Erstellung einer AWS-Infrastruktur auf Vorlagenbasis. Es wurde erweitert, um eine gewisse Verwaltung der von ihm erstellten Ressourcen zu ermöglichen, aber das Management der bestehenden Infrastruktur ist nicht das Ziel. Von dem Startseite:

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

Ich glaube, dass es am nächsten ist, eine Bucket-Richtlinie für einen vorhandenen Bucket zu erstellen AWS :: S3 :: BucketPolicy. Darüber hinaus können Sie die AWS CLI  S3 API um deinen Eimer zu verändern:


8
2017-07-08 20:52



Er kommt möglicherweise aus einer anderen Richtung, aber die Tatsache, dass beim Löschen eines Stapels, wenn die Löschrichtlinie für einen S3-Bucket "beibehalten" wird und Sie dann den gleichen Stapel erneut bereitstellen, wird dieser Fehler angezeigt. Sehr nervig, um es milde auszudrücken. Zumindest mit Volumes, die du aufnehmen und wiederherstellen kannst, gibt es absolut nichts, was du mit S3 machen kannst. - Sleeper Smith