utilizzando CloudFormation con un bucket S3 esistente


27

Utilizzando CloudFormation, voglio impostare alcune delle proprietà in AWS :: S3 :: Bucket su un bucket esistente . In altre parole, non voglio creare il bucket, voglio solo applicare alcune impostazioni. Ecco un esempio della mia formulazione cloud JSON:

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

Non sorprende, questo non riesce nella console di cloudformation:

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

Ho creato il bucket preview.website.com. Voglio dire, questo account "possiede" quel secchio. Come posso impostare cose come AccessControle WebsiteConfigurationsu un bucket esistente con CloudFormation?

Ho visto un'altra domanda chiedere qualcosa di simile , ma non ha una risposta adeguata.

Risposte:


7

Credo che ti sbagli nell'usare CloudFormation per modificare la tua infrastruttura AWS. L'obiettivo di CloudFormation è quello di creare un'infrastruttura AWS in modo esemplare. È stato esteso per consentire una certa gestione delle risorse che crea, ma la gestione delle infrastrutture esistenti non è il suo obiettivo. Dalla pagina di benvenuto :

AWS CloudFormation ti consente di creare e predisporre implementazioni dell'infrastruttura AWS in modo prevedibile e ripetuto.

Credo che il più vicino che sarai in grado di ottenere è quello di impostare un criterio bucket su un bucket esistente utilizzando AWS :: S3 :: BucketPolicy . Oltre a ciò, puoi utilizzare l' API AWS CLI S3 per modificare il bucket:


17
Potrebbe venire da una direzione diversa, ma il fatto che quando si elimina uno stack, se la politica di eliminazione per un bucket S3 è "conserva" e quindi si esegue nuovamente il provisioning dello stesso stack, si verificherà questo errore. Molto fastidioso per non dire altro. Almeno con i volumi che puoi snapshot e ripristinare, non c'è assolutamente nulla che tu possa fare con S3.
Sleeper Smith,

2
Ancora un'altra direzione è se vuoi rinominare il tuo stack. Ho effettuato il downvoting perché questa risposta presuppone che l'OP voglia modificare l'infrastruttura AWS. Questo è spesso vero solo a causa di altre limitazioni della FC, quindi non c'è nulla di sbagliato nel voler farlo.
user239558
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.