AWS: mudanças entre as edições

De Wiki Doth
Ir para navegação Ir para pesquisar
 
(35 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:


x


= EC2 =
= EC2 =
Linha 65: Linha 64:
sudo service codedeploy-agent start
sudo service codedeploy-agent start
</code>
</code>
= S3 =
== Comandos uteis ==
lista os arquivos / tamanho
aws s3 ls s3://bucket/x --recursive --human-readable --summarize
== Bucket site externo ==
* criar bucket (nome do bucket tem que ser a url)
* ativar hospedagem de site (redirecionamento p/objeto - index.html)
* colocar política base do bucket
<code>
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::endereco.site.com.br/*"
        }     
    ]
}
</code>
* criar distribuição no cloudfront
** Default root object: index.html
* solicitar certificado pelo cloudfront
= Serverless =


= SES =  
= SES =  
Sistema de envio de e-mails


== SES Template ==
== SES Template ==


aws ses create-template --cli-input-json file:file.json
aws ses create-template --generate-cli-skeleton > arquivo.json (gera um arquivo padrão)
 
aws ses create-template --cli-input-json file://file.json


aws ses detele-template --template-name MyTemplate
aws ses detele-template --template-name MyTemplate
Linha 83: Linha 123:


* Criar SQS fifo
* Criar SQS fifo
* Criar função lambda: atenção as permissões (SES,SQS)
* Ligar fila SQS a função lambda
* Enviar para a fila
Envio:
{"sendTo":"destino@provedor.com","TemplateData":"{\"var1\":\"valor1\",\"var2\":\"valor2\"}","Source":"no-reply@dominio.com.br","Template":"nomedoTemplate"}
= SQS =
Simple Queue Service - distribuição de mensagens da aplicação
== Códigos em produção ==
=== SMS ===
unica: dothSendSms
multiplas:
Destino: Lambda - dothSendSms
conteudo: {"from:"usuario sms","token":"token do sms","to":"celular de destino",
"mensagem":"mensagem enviada"}
=== Whatsapp ===
unica: dothSendWhatsApp
multiplas: dothSendWhatsApp.fifo
Destino: Lambda - dothSendWhatsApp
conteudo: {"from":"aplicacao","to":"destino","mensagem":"o conteudo da mensagem"}
= Pfsense =
utilizado com concentrado de reede p/vpns
== Rede publica ==
- instancia onde esta o pfsense
== Rede privada ==
- ec2 instancia para serviços (pabx, ad)
- ec2 rede: verificacao de origem e destino: desativada
= Issabel =
Instalação servidor de telefonia
== Configurações ==
AMI: Rocky Linux 8 (x86_64)
Tipo: t3.medium (2 vCPU / 4 GB) – recomendado
Disco: 40 GB GP3
Portas:
5060 tpc/udp sip
5061 - tpc/udo sip tls
10000-20000 udp - rtp
== Instalação ==
- ataulizar o sistema
sudo dnf update -y
sudo dnf install wget -y
- Criar SWAP (AWS geralmente vem sem) (essencial para asterisk + php)
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab
- Instalar o Issabel 5 no Rocky Linux 8
= Imagens =
Processo para criar uma imagem virtual (vmware) e subir como imagem na aws
== Criação da imagem ==
1 - instalar o software em uma VmWare e exportar para OVA
2 - Enviar para o S3
aws s3 cp issabel.ova s3://SEU_BUCKET/issabel/issabel.ova
3 - criar arquivo json de descrição da imagem
{
  "Description": "Issabel PBX CentOS7",
  "Format": "ova",
  "UserBucket": {
    "S3Bucket": "SEU_BUCKET",
    "S3Key": "issabel/issabel.ova"
  }
}
4 - imporar como AMI (VM Import/EXport)
aws ec2 import-image --description "Issabel PBX" --disk-containers file://import.json
(leva de 5 a 45 min)
5 - Verificar status
aws ec2 describe-import-image-tasks
quando terminar aparece: ImageId: ami-XXXXXXXX
6 - Criar instancia EC2 a partir da AMI
aws ec2 run-instances --image-id ami-XXXXXXXX --instance-type t3.medium

Edição atual tal como às 18h39min de 30 de novembro de 2025


EC2

Metadatas: http://169.25.169.254/latest/metadata

https://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

Code Deploy

Instalar agente do CodeDeploy

sudo apt-get update

sudo apt install ruby-full

sudo apt install wget

cd /home/user/

wget https://bucket-name.s3.region-identifier.amazonaws.com/latest/install

wget https://aws-codedeploy-sa-east-1.s3.sa-east-1.amazonaws.com/latest/install

chmod +x ./install

sudo ./install auto

https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install-ubuntu.html

  • Verificar

sudo service codedeploy-agent status

sudo service codedeploy-agent start

Erro Code Deploy

The ApplicationStop hook is being called from the previously installed deployment before trying to run the current deployment appspec.yml file.

In order to prevent this from happening you'll have to remove any previously installed deployment from the server.

Stop the code deploy agent

sudo service codedeploy-agent stop

clear all deployments under

/opt/codedeploy-agent/deployment-root

Restart the code deploy agent

sudo service codedeploy-agent start

S3

Comandos uteis

lista os arquivos / tamanho

aws s3 ls s3://bucket/x --recursive --human-readable --summarize


Bucket site externo

  • criar bucket (nome do bucket tem que ser a url)
  • ativar hospedagem de site (redirecionamento p/objeto - index.html)
  • colocar política base do bucket

{

   "Version": "2012-10-17",
   "Statement": [
       {
           "Sid": "PublicReadGetObject",
           "Effect": "Allow",
           "Principal": "*",
           "Action": "s3:GetObject",
           "Resource": "arn:aws:s3:::endereco.site.com.br/*"
       }       
   ]

}


  • criar distribuição no cloudfront
    • Default root object: index.html
  • solicitar certificado pelo cloudfront

Serverless

SES

Sistema de envio de e-mails

SES Template

aws ses create-template --generate-cli-skeleton > arquivo.json (gera um arquivo padrão)

aws ses create-template --cli-input-json file://file.json

aws ses detele-template --template-name MyTemplate

aws ses get-template --template-name MyTemplate

aws ses update-template --cli-input-json file://file.json

aws ses test-render-template --template-name MyTemplate --template-data {"nome":"nome_do_template"} --region sa-east-1

Envio em massa

  • Criar SQS fifo
  • Criar função lambda: atenção as permissões (SES,SQS)
  • Ligar fila SQS a função lambda
  • Enviar para a fila

Envio:

{"sendTo":"destino@provedor.com","TemplateData":"{\"var1\":\"valor1\",\"var2\":\"valor2\"}","Source":"no-reply@dominio.com.br","Template":"nomedoTemplate"}

SQS

Simple Queue Service - distribuição de mensagens da aplicação

Códigos em produção

SMS

unica: dothSendSms

multiplas:

Destino: Lambda - dothSendSms

conteudo: {"from:"usuario sms","token":"token do sms","to":"celular de destino", "mensagem":"mensagem enviada"}


Whatsapp

unica: dothSendWhatsApp

multiplas: dothSendWhatsApp.fifo

Destino: Lambda - dothSendWhatsApp

conteudo: {"from":"aplicacao","to":"destino","mensagem":"o conteudo da mensagem"}

Pfsense

utilizado com concentrado de reede p/vpns

Rede publica

- instancia onde esta o pfsense

Rede privada

- ec2 instancia para serviços (pabx, ad)

- ec2 rede: verificacao de origem e destino: desativada

Issabel

Instalação servidor de telefonia

Configurações

AMI: Rocky Linux 8 (x86_64)

Tipo: t3.medium (2 vCPU / 4 GB) – recomendado

Disco: 40 GB GP3

Portas:

5060 tpc/udp sip 5061 - tpc/udo sip tls 10000-20000 udp - rtp

Instalação

- ataulizar o sistema sudo dnf update -y sudo dnf install wget -y

- Criar SWAP (AWS geralmente vem sem) (essencial para asterisk + php)

sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab

- Instalar o Issabel 5 no Rocky Linux 8

Imagens

Processo para criar uma imagem virtual (vmware) e subir como imagem na aws

Criação da imagem

1 - instalar o software em uma VmWare e exportar para OVA

2 - Enviar para o S3

aws s3 cp issabel.ova s3://SEU_BUCKET/issabel/issabel.ova

3 - criar arquivo json de descrição da imagem

{

 "Description": "Issabel PBX CentOS7",
 "Format": "ova",
 "UserBucket": {
   "S3Bucket": "SEU_BUCKET",
   "S3Key": "issabel/issabel.ova"
 }

}

4 - imporar como AMI (VM Import/EXport)

aws ec2 import-image --description "Issabel PBX" --disk-containers file://import.json

(leva de 5 a 45 min)

5 - Verificar status

aws ec2 describe-import-image-tasks

quando terminar aparece: ImageId: ami-XXXXXXXX

6 - Criar instancia EC2 a partir da AMI

aws ec2 run-instances --image-id ami-XXXXXXXX --instance-type t3.medium