DevOps - ribeiry/AWS-Professional-Study GitHub Wiki

CodeBuild

No CodeBuild você pode usar o Amazon S3 como um source provider

CloudFormation

Responsavel por criar Infra como código na AWS

Atributos

  • cf-init Usado para instalação de pacotes, escrita de arquivos etc.
  • cf-hup Usado para atualização e configuração de instancias.
  • cf-sinal Usado para envia de sinal de sucesso ao final do processo

AWS::Budgets::Budget

Permite criar, substituir ou excluir um budget de um recurso através do cloudformation Tipos de formatos utilizados para criar um CloudFormation :

  • JSON
  • YAML

Templates

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html

Custo CloudFormation em si é gratuito os recursos que são pagos

Tipos de Update :

  • O AWS CloudFormation oferece dois métodos para atualizar suas stacks :
  • Directly Update : you submit changes and AWS CloudFormation immediately deploys them, use direct updates when you want to quickly deploy your updates.
  • Change sets : You can preview the changes AWS CloudFormation will make to your stack, and then decide whether to apply those changes.

Stacks

CloudFormation stack is a set of AWS resources that are created and managed as a single unit when AWS CloudFormation instantiates a template. A stack cannot be used to deploy the same template across AWS accounts and regions.

StacksSets

AWS CloudFormation StackSet extends the functionality of stacks by enabling you to create, update, or delete stacks across multiple accounts and regions with a single operation. A stack set lets you create stacks in AWS accounts across regions by using a single AWS CloudFormation template. Using an administrator account of an "AWS Organization", you define and manage an AWS CloudFormation template, and use the template as the basis for provisioning stacks into selected target accounts of an "AWS Organization" across specified regions.

  • Como implementar StackSets em uma conta diferente usando CodePipeline:
    • (Na conta 1) Crie uma chave AWS KMS gerenciada pelo cliente (CMK) que conceda permissões de uso à role de serviço do CodePipeline da conta 1 e à conta 2
    • (Na conta 1) Crie um bucket do Amazon S3 com uma política de bucket que conceda à conta 2 acesso ao bucket
    • (Na conta 2) Crie um Cross-Account IAM Role
    • (Na conta 1) Adicione a permissão de AssumeRole para a role de serviço do CodePipeline da conta 1, para permitir que ela assuma a Cross-Acount IAM Role da conta 2
    • (Na conta 2) Crie uma role de serviço para a Stack do CloudFormation que inclua as permissões necessárias para os serviços implantados pela Stack
    • (Na conta 1) Atualize a configuração do CodePipeline para incluir os recursos associados com a conta 2

Deploy StackSet em uma conta diferente usando CodeDeploy

Funções Intrícicas

O AWS CloudFormation fornece várias funções internas que ajudam você a gerenciar as stacks. Use funções intrínsecas nos modelos para atribuir valores às propriedades que não estão disponíveis até o runtime. Você só pode usar funções intrínsecas em partes específicas de um modelo. Atualmente, você pode usar funções intrínsecas em propriedades de resources, outputs, metadata attributes, e update policy attributes. Você também pode usar funções intrínsecas para criar condicionalmente recursos da stack.

SAM

O AWS Serverless Application Model (SAM) é um framework open-source para construir aplicações serverless. Isso prove syntax de funções abreviadas, apis, databases e eventos de mapeamento de origem. somente algumas linhar por recurso, voce pode definir a aplicação voce pode modelar usando YAML. Durante deploys, SAM transforma e expande sua syntax dentro do CloudFormation syntax, habilitando voce construir aplicações serverless mas rapido. Para iniciar a construção de aplicações baseada em SAM, use o AWS SAM CLI. SAM CLI prove o a execução do ambiente deixando que voce deixe o seu ambiente de construção, para testar e debugar as suas aplicações definido pelo SAM template ou através do CDK. Voce pode usar também o SAM CLI para deployar suas aplicações na AWS, ou criar integração continua de segurança e CI/CD que segue as melhores praticas de integrações com AWS nativa. SAM e SAM CLI são open source abaixo da liçenca Apache 2.0. Voce pode endereça seus casos de uso, voce pode usar a feature de divisão de trafego do SAM facilmente testando a nova versão de Lambda function sem ter que mover manualmente 100% do seu trafico para a nova versão de uma vez.

AWS CDK

O AWS CDK é um framework de desenvolvimento de software para definir uma infraestrutura cloud em codigo e provisionar através do CloudFormation. Voce pode usar o AWS CDK para definir seu recurso cloud em sua linguagem familiar. O AWS CDK suporta TypeScript, JavaScript, Python, Java e C#/.Net. Desenvolvedores pode usar um das linguagem de programa para definir os componentes reutilizavel para cloud como construtores. Voce pode compor esses juntos com Stacks e Apps.