ProDoctor Na Nuvem Do Cliente V-1-01
ProDoctor Na Nuvem Do Cliente V-1-01
ProDoctor Na Nuvem Do Cliente V-1-01
servidor na nuvem
O presente manual assume que a conta AWS já tenha sido criada, e o usuário de acesso
configurado com permissões para manipulação de recursos EC2 (Elastic Cloud Computing).
SUMÁRIO
3 Configuração da Instância na AWS
22 AWS-CLI
23 Automatização do Backup
2
Configuração da Instância na AWS
No Painel da AWS, selecione a
opção EC2:
Selecionando a Região
No menu de regiões, localizado no canto superior
direito do painel, selecione a região de São Paulo
(sa-east-1):
Criando a instância:
Clique no botão “Executar
instância” para começar o
processo de criação da
instância:
Selecionando a
imagem do sistema
operacional:
Na próxima tela, serão apre-
sentadas imagens pré-confi-
guradas de sistemas opera-
cionais. Faça uma busca por
“Ubuntu server 20.04”:
3
Definindo a família de processamento da instância:
Na tela seguinte, serão apresentadas as famílias de instâncias para execução da VM. O tipo de
instância vai depender do uso do sistema, tendo opções com 1 ou mais núcleos de processamen-
to e quantidades diversas de memória ram. Para nosso exemplo, usamos a instância m5a.large,
que possui 2 núcleos de processamento e 8 gb de ram.
Para uso com bancos de dados maiores e de maior demanda, recomendamos o uso de instân-
cias da família m5 (Intel) ou m5a (AMD), que não possuem créditos de uso de CPU.
Mais informações sobre as famílias de instâncias e seus custos podem ser vistas nos links:
https://aws.amazon.com/pt/ec2/instance-types/
https://aws.amazon.com/pt/ec2/instance-explorer/
Obs.: Algumas famílias de instância possuem crédito de cpu, o que significa que para usos mode-
rados, em que o uso de cpu fique abaixo de 20% a 30%, a máquina acumule créditos que serão
utilizados em casos de uso severo (durante backups por exemplo). Se o uso de cpu ficar acima
do limite definido pela AWS, os créditos são consumidos até se esgotarem e a VM tem capacida-
de de processamento reduzida. Mais informações: https://docs.aws.amazon.com/pt_br/AWSEC2/
latest/UserGuide/burstable-credits-baseline-concepts.html
Atenção: É importante monitorar o uso de recursos do servidor para instâncias com créditos de
CPU. A qualquer momento é possível desligar a instância e trocar a família caso seja necessário
disponibilizar mais recursos.
4
* Valores mensais, em dólares americanos (USD), na data de 22/09/2021. A configuração inclui 1
volume primário de 20GB e 1 volume secundário de 40GB.
Configurando
detalhes da instância:
Na tela seguinte, para configu-
ração dos detalhes da instân-
cia, basta deixar as opções pa-
drões como na imagem abai-
xo, e clicar em “Próximo: Adi-
cionar armazenamento”:
Obs.: É sempre importante lembrar que o volume deve ser provisionado observando o tamanho
do banco de dados no momento da instalação com projeção para crescimento futuro conforme
novos dados são inseridos. Recomendamos que o volume tenha pelo menos 4 vezes o tamanho
do banco em disco, mais o espaço necessário para armazenar 7 backups (um para cada dia da
semana).
Para o volume principal Root, é necessário pelo menos 10Gb para o sistema operacional, mais o
espaço para para um backup do banco de dados. Durante a rotina de backup, sugerimos que o
banco seja enviado primeiramente para o diretório temporário, para só após o término, ser colo-
cado no diretório de backups.
Desta forma, uma eventual falha no backup não irá sobrescrever o backup feito com sucesso an-
teriormente.
5
Para determinar o tamanho do banco de dados, use a seguinte instrução SQL:
Configurando as Tags:
As tags são formas de agrupar e classificar as instâncias rodando no datacenter da AWS. Para o
nosso exemplo, não vamos configurar nenhuma tag.
6
Revisando as
configurações da
instância:
Revise as configurações feitas
e clique em Executar:
Par de chaves
de acesso
Após clicar em executar se-
rá apresentado uma tela para
criar um novo par de chaves,
ou utilização de uma já exis-
tente caso você já tenha ca-
dastrado anteriormente.
7
Configurações do Servidor Ubuntu
Conectar via SSH ao servidor:
Altere a permissão da chave de acesso baixada para permitir o acesso via ssh
Configurar timezone:
sudo dpkg-
reconfigure tzdata
8
Após a configuração, o sistema
irá exibir a hora local e a hora
padrão.
Na configuração do postfix,
deixe marcada a opção “Site
da Internet” e pressione
“Enter”.
Reinicie o servidor:
sudo reboot
O nome do dispositivo depende do tipo de instância utilizada. Para instâncias Nitro, os dispositi-
vos são disponibilizados como NVMe. As Instâncias Xen têm o volume principal mapeado como /
dev/xvda. Utilize o comando lsblk para determinar o nome do dispositivo.
9
Exemplo de saída do comando em uma instância Nitro.
ou
Listar os volumes:
ou
Ao listar os volumes, será apresentada uma lista com os volumes do sistema e o UUID (UUID é o
identificador do volume que iremos utilizar na configuração a seguir):
sudo mount -a
10
Verificar pontos de montagem:
df -h | grep nvme
ou
df -h | grep xvdb
Documentação AWS:
A AWS fornece uma documentação para a montagem do volume, que contém explicações e o
passo a passo.
Referência:
https://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/ebs-using-volumes.html
Documentação: https://www.postgresql.org/download/linux/ubuntu/
Instalação do servidor PostgreSQL 10:
11
Recriar o cluster do PostgreSQL para utilizar o pt_BR:
\password postgres
https://passwordsgenerator.net/
listen_addresses = ‘*’
port = 5432
Configurar o pg_hba:
12
Restaurando um backup no servidor:
Copiar o dump
do banco para o
servidor.
Exemplo usando FileZilla:
Após ter copiado o arquivo de dump do banco para o servidor, vamos criar o banco de dados e
restaurar o backup.
13
obs: Usar uma senha forte, pelo menos 16 dígitos, letras
maiusculas, minusculas e números:
https://passwordsgenerator.net/
Criação da rede
Com a conta ativada, aces-
se o seu usuário e siga para o
menu Create A Network.
Documentação:
https://www.zerotier.com/down-
load/
14
Instalação no servidor
Para instalação do zerotier no servidor, execute o comando a seguir no terminal.
15
Acessando a rede
criada
sudo zerotier-cli
join Network-Id-Da-
-Rede-Criada
Instalação cliente
Acesse a página de downloads
do Zerotier https://www.zero-
tier.com/download/
Acessando a rede
criada
Finalizada a instalação abra o
laucher da aplicação.
16
O ícone da aplicação irá ser apresentado na extrema direita da
barra de tarefas.
O fail2ban irá inibir automaticamente tentativas de login com falhas sucessivas, adicionando regra
de firewall para bloquear o IP por determinado período antes de uma nova tentativa.
17
Habilitando compartilhamento de arquivos
com o samba
Instalação do Samba
No servidor execute o comando abaixo:
sudo apt install samba
Configuração do samba
sudo nano /etc/samba/smb.conf
# Global parameters
[global]
dns proxy = No
log file = /var/log/samba/log.%m
map to guest = Bad User
max log size = 1000
obey pam restrictions = Yes
pam password change = Yes
panic action = /usr/share/samba/panic-action %d
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\
s*\spassword:* %n\n *password\supdated\ssuccessfully* .
passwd program = /usr/bin/passwd %u
security = USER
server role = standalone server
server string = %h server (Samba, Ubuntu)
syslog = 0
unix password sync = Yes
usershare allow guests = Yes
idmap config * : backend = tdb
[prodoctorcorp]
comment = Arquivos de Protecao
create mask = 0664
directory mask = 02775
force create mode = 0664
force directory mode = 02775
force user = ubuntu
guest ok = Yes
path = /home/ubuntu/prodoctorcorp
read only = No
18
Adicione permissão no firewall
sudo ufw allow samba
* - nofile 16384
root - nofile 16384conf
Testando o compartilhamento
\\IP-DO-SERVIDOR\prodoctorcorpconf
Criação do IAM
No painel de AWS, pesquise e
selecione a opção IAM
19
Clique no botão adicionar usuários
Preencha o nome do usuário e marque como tipo de acesso a opção Acesso programático, de-
pois clique em Próximo: Permissões.
Não precisa definir nenhuma Tag na próxima etapa, clique apenas em Próximo: Revisar
Verifique o resultado final, caso esteja tudo certo clique em Criar usuário.
20
Na próxima tela será apresentado o id da chave de acesso e a chave de acesso secreta, copie
as duas informações para usar durante a configuração do amazon-cli.
Criação do bucket
No painel da aws, pesquise e
selecione a opção S3.
21
Defina um nome e selecione a região sa-east-1, as demais configurações mantenha o padrão já
apresentado, depois clique em Criar bucket.
AWS-CLI
Download e instalação
Acesse o servidor e execute o comando abaixo para instalação do aws-cli
curl “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o
“awscliv2.zip”
unzip awscliv2.zip
sudo ./aws/install
22
Configuração
Execute o comando abaixo e preencha de acor-
do com o requisitado, utilizando os dados de
acesso criados durante o cadastro do IAM.
aws configure
Validação da configuração
Execute o comando abaixo no terminal. Ele irá listar todos os buckets criados no s3 da amazon.
Deve retornar o bucket que criamos na etapa anterior.
aws s3 Is
Automatização do backup
Agora precisamos criar uma rotina que realize o backup, mova o resultado para o bucket no s3 e
nos avise por email o resultado desta rotina.
Script de backup
Crie diretório para armazenar os backups e scripts.
mkdir /home/ubuntu/scripts
cd /home/ubuntu/scripts
nano backup.sh
#!/bin/bash
DBNAME=prodoctorcorp
BUCKET=prodoctor-corp-backup
TMPDIR=/tmp
23
Atribua permissão de execução ao script.sh
chmod +x backup.sh
crontab -e
Testando a configuração
Para testar se o script está fazendo o esperado, execute o mesmo com o comando abaixo. Ele
deve fazer um novo backup e enviar para o bucket criado na aws.
/home/ubuntu/scripts/backup.sh
24
25