usando CloudFormation con un depósito S3 existente

27

Con CloudFormation, quiero establecer algunas de las propiedades en AWS :: S3 :: Bucket en un bucket existente . En otras palabras, no quiero crear el depósito, solo quiero imponer algunas de las configuraciones. Aquí hay un ejemplo de mi JSON de formación en la nube:

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

No es sorprendente que esto falle en la consola de formación en la nube:

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

He creado el cubo preview.website.com. Quiero decir, esta cuenta "posee" ese cubo. ¿Cómo puedo configurar cosas como AccessControly WebsiteConfigurationen un depósito existente con CloudFormation?

He visto otra pregunta que hace algo similar , pero no tiene una respuesta adecuada.

tedder42
fuente

Respuestas:

7

Creo que está equivocado al usar CloudFormation para modificar su infraestructura de AWS. El objetivo de CloudFormation es crear una infraestructura de AWS de una manera con plantilla. Se ha extendido para permitir cierta administración de los recursos que crea, pero administrar la infraestructura existente no es su objetivo. Desde la página de bienvenida :

AWS CloudFormation le permite crear y aprovisionar implementaciones de infraestructura de AWS de manera predecible y repetida.

Creo que lo más cercano que podrá llegar es establecer una política de depósito en un depósito existente usando AWS :: S3 :: BucketPolicy . Más allá de eso, puede usar la API de AWS CLI S3 para modificar su bucket:

dialt0ne
fuente
17
Puede que provenga de una dirección diferente, pero el hecho de que cuando elimine una pila, si la política de eliminación para un depósito S3 es "retener" y luego aprovisione la misma pila nuevamente, tendrá este error. Muy molesto por decir lo menos. Al menos con los volúmenes que puede capturar y restaurar, no hay absolutamente nada que pueda hacer con S3.
Sleeper Smith
2
Otra dirección es si desea cambiar el nombre de su pila. Voté en contra porque esta respuesta asume que el OP quiere modificar la infraestructura de AWS. Esto a menudo es cierto solo debido a otras limitaciones de la FQ, por lo que no hay nada de malo en querer hacer esto.
user239558