usando CloudFormation com um bucket S3 existente

27

Usando o CloudFormation, desejo definir algumas das propriedades no AWS :: S3 :: Bucket em um bucket existente . Em outras palavras, não quero criar o bucket, apenas quero aplicar algumas das configurações. Aqui está um exemplo do meu JSON de formação em nuvem:

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

Não é de surpreender que isso falhe no console de formação em nuvem:

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

Eu criei o bucket preview.website.com. Quero dizer, essa conta "possui" esse balde. Como posso definir coisas como AccessControle WebsiteConfigurationem um bucket existente com o CloudFormation?

Eu vi outra pergunta fazendo algo semelhante , mas não tem uma resposta adequada.

tedder42
fonte

Respostas:

7

Acredito que você tenha se enganado ao usar o CloudFormation para modificar sua infraestrutura da AWS. O objetivo do CloudFormation é criar a infraestrutura da AWS de maneira modelada. Ele foi estendido para permitir o gerenciamento dos recursos que cria, mas o gerenciamento da infraestrutura existente não é seu objetivo. Na página de boas - vindas :

O AWS CloudFormation permite criar e provisionar implantações de infraestrutura da AWS de forma previsível e repetida.

Acredito que o mais próximo que você poderá chegar é definir uma política de bucket em um bucket existente usando AWS :: S3 :: BucketPolicy . Além disso, você pode usar a API do AWS CLI S3 para modificar seu bucket:

dialt0ne
fonte
17
Ele pode estar vindo de uma direção diferente, mas, ao excluir uma pilha, se a política de exclusão de um bucket S3 for "reter" e você provisionar a mesma pilha novamente, ocorrerá esse erro. Muito chato para dizer o mínimo. Pelo menos com os volumes que você pode capturar e restaurar, não há absolutamente nada que você possa fazer com o S3.
Sleeper Smith
2
Outra direção é se você deseja renomear sua pilha. Fiz uma votação baixa porque esta resposta supõe que o OP deseja modificar a infraestrutura da AWS. Isso geralmente é verdade apenas por causa de outras limitações da FC, portanto não há nada errado em querer fazer isso.
user239558