AWS: mudanças entre as edições
| (24 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 66: | Linha 66: | ||
= S3 = | = S3 = | ||
== Comandos uteis == | |||
lista os arquivos / tamanho | |||
aws s3 ls s3://bucket/x --recursive --human-readable --summarize | |||
== Bucket site externo == | == Bucket site externo == | ||
| Linha 74: | Linha 81: | ||
<code> | <code> | ||
{ | { | ||
"Version": "2012-10-17", | "Version": "2012-10-17", | ||
| Linha 87: | Linha 93: | ||
] | ] | ||
} | } | ||
</code> | </code> | ||
| Linha 94: | Linha 99: | ||
** Default root object: index.html | ** Default root object: index.html | ||
* solicitar certificado pelo cloudfront | * solicitar certificado pelo cloudfront | ||
= Serverless = | |||
= SES = | = SES = | ||
Sistema de envio de e-mails | |||
== SES Template == | == SES Template == | ||
| Linha 123: | Linha 132: | ||
Envio: | Envio: | ||
{"sendTo":"destino@provedor.com","TemplateData":"{\"var1\":\"valor1\",\"var2\":\"valor2\"}","Source":" | {"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
- 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"}
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