Mês: fevereiro 2017

AWS EC2 – Mudei do Ubuntu para o CentOS

“Aviso este artigo não usa língua culta. Acabei de sair da Deciclopédia e você imagina né?”

Por muito tempo usei o Ubuntu em servidores virtuais. Em casa a mais de 10 anos uso o ArchLinux. O Ubuntu para servidores não é ruim e é muito fácil a configuração e diversos scripts de configuração aceleram o setup e o repositório é completo.

Porém um dia desses ao instalar o Drupal deu um ‘PAU’ no mysql que corrompeu o banco de dados e fiquei a ver navios. Como era uma instalação tentei reinstalar tudo. Bom. Eu nunca gostei do apt-get afinal estou acostumado ao modo Arch de fazer as coisas. Fui então tentar reinstalar tudo novamente e a coisa ficou feia. Aquele dpkg não desinstalava as ‘coisas’ por completo então quando eu fui tentar instalar novamente dava conflitos … arhhh!

Até que descobri o CentoOS. Que maravilha! Aquele Yum é rapidinho! Nada de ficar atualizando man pages. Só puxava o necessário. Downloads rápidos. Descompactação veloz! Adorei.

Mas tenho algumas ressalvas quanto a ele:

  • Não consegui instalar o Drupal em uma instância t2.nano. Sempre que rodava o install.php o mysql morria por falta de memória???? Isso nunca me aconteceu no Ubuntu. Tentei criar um swapfile mas não dava certo. O Swapon dizia que o parametro era errado. Nunca vi isso.
  • As configurações não são interativas. não existe a2enmod, a2ensite. É tudo manual. Mas não tenho problemas com isto já que uso o Arch. Mas para alguns pode ser.
  • O repositório é conservador. O PHP disponível no repositório oficial não é suportado pelo Drupal. Tem que adicionar outros repositórios. Isso assusta no começo.
  • O SELinux é loucura!!!! Erros estranhos acontecem com ele. Como tentar gravar em um local com todas as permissões corretas mas o SELinux não deixa. Então preste atenção a isto. O SELinux é muito útil, mas uma fonte de erros estranhos se não for compreendido.

Pessoalmente recomendo o CentOS. E de fato ele é muito usado em servidores.

 

 

AWS EC2 – Mudei de São Paulo para o Oregon

Pelo simples motivo que o valor de uma instância t2.nano em São Paulo é quase o mesmo preço de uma t2.micro ou com mais um pouco uma t2.small no Oregon. Veja na tabela abaixo de 16.Fev.2017 :

captura-de-tela-de-2017-02-16-15-23-49

captura-de-tela-de-2017-02-16-15-23-43

Vejamos

Uma instância t2.nano em São Paulo custa 0.0101 $/h enquanto no Oregon 0.0059 $/h. O custo para 720 horas – 1 mês de uso – para São Paulo é 7.272$ e o Oregon 4.248$.

Uma instância t2.micro no Oregon custaria 8.64$ por um Dólar a mais é melhor pegar uma instância no Oregon não acha?

Tabelinha

Local t2.nano 720 Horas
São Paulo 0.0101 7.272
Oregon 0.0059 4.248
Local t2.micro 720 Horas
São Paulo 0.02 14.4
Oregon 0.012 8.64

Mas …

O Ping é bem maior no Oregon para cá, sem dúvida. No terminal SSH em São Paulo parece que estou localmente. No Oregon há um atraso perceptível. Isso limita o uso para algumas aplicações. (Alias este é um problema também com a DigitalOcean. Os preços por lá são diferentes e a algum tempo atrás mais baratos que o AWS – mas a Amazon tem mudado isto – porém o Ping é alto.)

Entretanto os downloads dentro da região (America Norte) ficaram muito, mas muito, mais rápidos. 

Outro destaque é que houve alguns apagões nas ‘nuvems’ AWS dos EUAs; coisa de 8h fora do ar.

AWS EC2 – Montando volumes EBS em sua máquina local usando sshfs

Quebra o galho. Para isso montei um script BASH para conexão as instâncias remotas que automaticamente monta o volume EBS no meu sistema de arquivos local e abre uma sessão SSH:

con.sh:

#!/bin/bash
url=$1
sshfs [USUÁRIO]@$url:/    /[LOCAL] -o IdentityFile=~/.ssh/AWS-Instance1.pem &
ssh -i ~/.ssh/AWS-Instance1.pem [USUÁRIO]@$url

Vamos entende-lo e configurá-lo para sua instalação:

  • url=$1 –  Permite você especificar o DNS dinamico da Amazon de sua instância caso você não tenha um Elastic IP associado. Neste caso você invocará o script assim: ./con.sh ec2-52-67-85-194.sa-east-1.compute.amazonaws.com 
  • [USUÁRIO]@$url:/ – [USUÁRIO] deverá ser substituído pelo usuário remoto. No CentOs é o ‘centos’ no Ubuntu é o ‘ubuntu’. O “: / é local remoto onde você quer montar. Neste script montei tudo. Mas pode ser /var/www por exemplo.
  • /[LOCAL] É onde será montado em sua máquina o volume EBS. Alguns montam em um subdiretório em /mnt outros em /media. Exemplo /media/centosec2
  • ~/.ssh/AWS-Instance1.pem – É o arquivo de chave de acesso ao servidor remoto SSH. Supondo que você usa este método de segurança.

Como usar:

$ ./con.sh ec2-52-67-85-194.sa-east-1.compute.amazonaws.com 

Confira no navegador de arquivos se apareceram as pastas. Se montou mas não apareceu pode ser problemas com Udisks.

Requerimentos:

  • Fuse tem que estar instalado na sua máquina e o pacote fuse-sshfs também.
  • O servidor remoto tem que ter o serviço SSH rodando em suas configurações padrão tanto para Ubuntu como CentOS.

 

AWS EC2 – Como ter endereço IP fixo em um instância?

 

Este é outro serviço e é tarifado. Mas calma! é muito barato. Eu até agora e a muito tempo não passo de $0.01 por mês de custo não tenho certeza se já vi $0.04.

Estando no console web EC2 – onde se administra suas instâncias -. No menu esquerdo acha-se o Elastic IPs conforme figura abaixo.

Captura de tela de 2017-02-08 18-28-39.png

Clique em Allocate new address (o botão azul) e um IP fixo se torna disponível conforme abaixo:

Captura de tela de 2017-02-08 18-32-56.png

Clique com o botão direito no IP e no menu Associate address é onde você ira ligar o IP fixo a uma instância rodando sua. Não é automático criar um IP e a associação a uma instância. Você deverá fazer isto neste menu na tela que se abre seguinte como no exemplo abaixo:

Captura de tela de 2017-02-08 18-35-50.png

Selecione sua instância e o IP privado associado a ela e pronto. Se tiver dúvidas quanto ao custo – e eu tive no começo – . Abra a janela de custos – Billing –  e vá acompanhando por algumas horas e dias para ver quando custará.

É o Dólar está caro! Mas 1 centavo não pesa!

Não adianta hacker este IP. Eu criei e apaguei logo em seguida e não custou nada.

AWS EC2 / DigitalOcean– Aonde consigo certificado SSL gratuito?

Deu sorte!

O site Let’S Encrypt fornece certificados SSL gratuitos por 3 meses renováveis por enquanto indefinidamente.

Há um programa que automaticamente registra no site, faz download do certificado e muda suas configurações apache habilitando https com certificado.

O programa fica em outro site o CertBot . Escolha seu servidor web e a distribuição e siga as orientações.

Captura de tela de 2017-02-08 18-21-39.png

Moleza …

 

AWS EC2 – Qual a diferença entre Stop e Terminate?

Terminate coloca fogo na sua casa. Ele desliga o servidor. Apaga a imagem EBS e adeus conteúdo.

Stop depende. Se o comportamento de desligamento estiver para Parar (STOP) a instância o servidor apenas desligará e seu volume EBS ainda estará lá. Isso quer dizer que nada será perdido. Basta rodar novamente (running). Mas se a opção de desligamento for a de Terminar (Terminate) ao comandar Stop diga adeus ao seu volume EBS ligado a instância.

Para ver isto clique com o botão na instância e siga em Instance Settings -> Change Shutdown Behavior e o popup igual à figura abaixo irá aparecer para mudar e conferir o comportamento padrão ao comandar STOP.

captura-de-tela-de-2017-02-08-17-58-14

AWS EC2 – Se eu parar (Stop) uma instância serei cobrado?

Inaugurando artigos sobre Cloud Servers.
Não e sim. Você ainda será cobrado por volumes EBS, Elastic IPs, Route 53 e outros recursos. Mas é claro, a não ser que você tenha um volume gigante os custos de mante-los serão muito baixos comparados à instância rodando (running).
Eu faço muito isso. Crio instância, paro, vou tomar café, dormir, rodo faço alguma configuração, paro novamente. Até que o servidor esteja de fato público – se este for o caso.