Skip to content

tuxkey/senai-paas-cloudformation

 
 

Repository files navigation

Aula 17-02-2024

FATESG

Cenário/Problema:

image info

Integração entre os serviços AWS

Steps:

  1. Criar fila morta
  2. Criar fila 'normal' e vincular a fila morta na fila 'normal'
  3. Criar o o SNS
  4. Fazer o vínculo do SNS para SQS, ou seja, a mensagem que chegaram no sns iremos enviar para a SQS
  5. Fazer a SQS 'triggar' ou disparar mensagem para a lambda

image info

Stack AWS

image info

Provisionamento do ambiente na AWS

Criar o bucket via cli

Neste exemplo estamos utilizando o profile=aws_academy e region=us-east=1. Caso você esteja utilizando o profile default, não é necessário informar estes parâmetros (profile,region).

O nome do bucket deve ser único globalmente, portanto ao executar o comando abaixo, inserir um nome adequado ao uso do seu serviço. O nome inserir-um-nome-unico-globalmente já está em uso, use outro nome.

aws s3 mb s3://inserir-um-nome-unico-globalmente --profile=aws_academy --region=us-east-1

Criar o arquivo zip do projeto

zip iot-consumo-energia.zip lambda.py requirements.txt

Fazer upload do arquivo

aws s3 cp iot-consumo-energia.zip s3://inserir-um-nome-unico-globalmente/iot-consumo-energia.zip --profile=aws_academy

NOTE

Os comandos abaixo devem ser executados dentro da pasta do dispositivo. As pastas tem prefixo iot-*


Criar a Stack no cloudFormation

aws cloudformation create-stack --profile=aws_academy --region=us-east-1 \
    --stack-name 'iot-consumo-energia-stack' \
    --capabilities CAPABILITY_IAM \
    --template-body file://$(pwd)/stack.yaml

Acompanhar a criação da stack

aws cloudformation wait --profile=aws_academy --region=us-east-1 stack-create-complete \
    --stack-name 'iot-consumo-energia-stack'

Deletar a stack

aws cloudformation delete-stack --profile=aws_academy --region=us-east-1 \
    --stack-name 'iot-consumo-energia-stack'

Atualizar a stack

aws cloudformation update-stack --stack-name nome-da-sua-stack --template-body file://caminho_para_seu_arquivo.yaml --parameters SnsName=Chave,ParameterValue=Valor --capabilities CAPABILITY_IAM
aws cloudformation update-stack --stack-name iot-consumo-energia-dynamodb --template-body file://dynamodb.yaml --capabilities CAPABILITY_IAM

Para atualizar somente a lambda

Execução do método via cli - WINDOWS (CMD)

aws lambda update-function-code --function-name %NOME_FUNCAO% --zip-file fileb://%ARQUIVO_ZIP%

Execução do método via cli - LINUX

export NOME_FUNCAO=iot-energia-lambda
export ARQUIVO_ZIP=iot-energia.zip
aws lambda update-function-code --function-name $NOME_FUNCAO --zip-file fileb://$ARQUIVO_ZIP --profile=aws_academy --region=us-east-1

About

Trabalho Devops-Pass

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 68.2%
  • Shell 23.4%
  • PowerShell 8.4%