Demonstração de IAC no ambiente AWS.
Em alguns casos, é interessante ter um passo de validação do template do CloudFormation, assim já se obtem detalhes de possíveis falhas antes de publicar sua infraestrutura, tal validação é feita através do seguinte comando:
aws cloudformation validate-template --template-body file://template.yaml
A publicação ou deploy do seu template, é o passo que efetivamente a infraestrutura que você definiu será aplicada na sua conta AWS, para fazer a publicação basta executar o seguinte comando:
aws cloudformation deploy --template-file template.yaml --stack-name live-gft-iac-aws
O upload dos artefatos que compõe o site é feito em uma etapa separada da infraestrutura, isso porque o CloudFormation não suporta essa operação neste cenário, para isso precisamos executar o seguinte comando:
aws s3 cp site s3://live-gft-iac/ --recursive --acl 'public-read'
Para remover a infraestrutura que foi provisionada na AWS, é necessário executar o seguinte comando:
aws cloudformation delete-stack --stack-name live-gft-iac-aws
Para remoção completa dos recursos, precisamos apagar o conteúdo do bucket para depois deletar o bucket, pois esse conteúdo foi adicionado após a criação da infraestrutura, para isso basta rodar os seguinte comandos:
aws s3 rm s3://live-gft-iac --recursive
aws s3 rb s3://live-gft-iac