AWS SERIES: DAY … TWO: (mapa) GLOBAL, (zona) REGION, (disponibilidade) DATACENTER, (máquina) ID, e (acesso) SSH-EC2-USER

Já ouviu aquela máxima que seres humanos gostam de palavras e máquinas preferem números? O que para nós é http://www.google.com.br para um computador na verdade é 142.251.129.67

Figura 01. ping http://www.google.com.br

Se adaptarmos para AWS, o que nós chamamos de Ohio e Virgínia do Norte, simplesmente são us-east-2 e us-east-1, respectivamente. Todos os códigos que representam cada região e zona da nuvem da Amazon estão presentes em https://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/using-regions-availability-zones.html

Figura 02. zonas e regiões

O mapa completo para uma imagem geograficamente precisa, com possibilidade de interação através do mouse, está em https://aws.amazon.com/pt/about-aws/global-infrastructure/

Figura 03. infraestrutura global da AWS

Qualquer informação básica passível de consulta acerca da instância, selecione-a primeiro com apenas um clique, e depois role para baixo da tela no novo sub-painel a ser carregado. Uma aba geral chamada de Detalhes é exibida por padrão, ao lado de outras batizadas de Segurança, Redes, Armazenamento, Status, Monitoramento, Tags.

Figura 04. detalhes da instância
Figura 05. detalhes da instância
Figura 06. monitoramento em tempo real

Permanecendo na página, e deixando marcada a caixa de seleção, vamos agora entrar na EC2 similar ao que faríamos com qualquer outra máquina virtual. Para tal, localize o botão CONECTAR na parte superior da tela.

Figura 07. botão conectar

Copie e cole a seguinte linha para uso do SSH. Se estiver no Linux, o protocolo é suportado nativamente, bastando apenas abrir o terminal, colar e executar. Senão, no Windows baixe e instale o Git Bash antes do procedimento.

ssh -i "rootkiv-aws.pem" ec2-user@ec2-3-139-90-191.us-east-2.compute.amazonaws.com
Figura 08. copie e cole
Figura 09. git bash for windows

>_ BÔNUS EXTRA: Proteção contra exclusão acidental

Quando ligadas, as instâncias dentro da AWS CONSOLE se comportam como máquinas … E como bons exemplares, também é possível efetuar outras operações para além do boot. São elas: interromper, reinicializar e encerrar. Em particular, na interface web, estão denominadas como Estado da instância

Figura 10. estados da instância

Por estarem muito próximos um do outro, esses botões podem ser acionados sem querer. Exemplo, você queria hibernar a máquina quando na verdade apertou encerrar. Observe a seguir, um pouco mais de perto:

Figura 11. ações próximas

Encerrar aqui quer dizer apagar a máquina e o disco por inteiro. Sem volta ou garantia nenhuma de recuperação posterior. Por isso, ative sempre que puder o recurso que irei mostrar logo mais.

Figura 12. passo um
Figura 13. passo dois

Um pequeno teste final, simule uma exclusão acidental …

Figura 14.
Figura 15.
You Shall Not Pass by Gustavo Athayde on Dribbble
Você não irá passar!

Um feliz natal (atrasado) do blog @automatesmachines.org

AWS SERIES: DAY … ONE: (conta) FREE TIER, (instância) EC2 e (dois passos) 2FA

Em nosso desembarque na tão famosa e “badalada” nuvem, necessitaremos criar e configurar alguns itens básicos antes de qualquer outra coisa. Primeiramente, é claro, começando pela conta de usuário gratuita na própria AWS … Sem ela? Nada de acesso, simples assim. Curta e grosseiramente (me perdoem, por favor) essa seria a resposta. Então, arregacem as mangas e mãos à obra!

No navegador digite https://aws.amazon.com/ na barra de endereços. Localize o botão ‘criar uma conta gratuita’ e selecione com clique simples.

Figura 01. criar uma conta gratuita

Logo após, o que temos é apenas mais um daqueles formulários de internet para usar determinado serviço. Perguntas triviais como: nome, e-mail, endereço, profissão, login, senha, etc, etc, etc. É bem provável até que o seu browser já tenha algumas dessas respostas e vá auto completando tais informações graças aos cookies e mecanismos de salvamento 🤭

Figura 02. questionário 1 de 5
Figura 03. questionário 2 de 5
Figura 04. fatura e pagamento (3 de 5)

Sim, é obrigatório cadastrar pelo menos um número de cartão de crédito internacional válido e ativo 😨😨😨 Como é? Tô fora Victor … Obrigado, mas essa série vou pular! Nada temam sra.(s) e sr.(s) pois não serão cobrados por isso. Aliás, melhor dizendo, somente em casos de uso acima da quota estabelecida pelos termos de uso gratuito. Chamado de “Nível de uso gratuito da AWS”, o mesmo se encontra disponível em https://aws.amazon.com/pt/free Recomenda-se aqui uma leitura mais pausada e detalhada, para que em seu futuro não haja surpresas desagradáveis ou consequências mais severas na forma de taxas extras.

Por exemplo, quanto custa uma instância EC2 ligada initerruptamente na nuvem AWS? Parênteses: não estamos considerando a parte gratuita já adquirida. Queremos calcular o preço (valor/hora) excedente ao limite gratuito. E a resposta está em https://aws.amazon.com/pt/ec2/pricing/on-demand/

Figura 05. tabela de preços para EC2 sob demanda

>_ AWS CONSOLE: LOGIN E MULTI-FATOR

Principal porta de entrada (na verdade, a única até então) para gerenciar seus serviços e recursos disponibilizados na nuvem, a AWS Console fica acessível por meio do link https://aws.amazon.com/pt/console/ E para tal, resgate o usuário e senha criados hoje mais cedo:

Figura 06. link de acesso
Figura 07. e-mail do proprietário (usuário root)
Figura 08. multi-factor authentication

Pausa para explicar essa opção extra de segurança que impede acessos indevidos e não-autorizados. Uma vez dentro da web console, veremos que o céu é o limite para AWS. Digo isso pois encontraremos uma infinidade de recursos e possibilidades bem ali, ao nosso alcance. Coisas que talvez nunca serão utilizadas mas de todo jeito permanecem lá, esperando, prontos pra uso. Para que fique ainda mais claro o poder que você tem em suas mãos, é como se ela fosse o internet banking da sua conta bancaria. A maioria dos itens presentes não são gratuitos e portanto seu eventual uso será cobrado. Então, exercite sua mente e dimensione o estrago que um atacante causará na fatura do seu cartão … Bem grande não é? 😱😱😱 Sendo assim, não perca mais tempo e ative o código multi-fator na sua conta AWS. Na barra de pesquisa da console, busque pelo termo-chave “iam”(i-a-m):

Figura 09. todos os serviços AWS
Figura 10. painel do IAM
Figura 11. dispositivo MFA

No meu caso, optei por usar meu próprio smartphone Android com o app Google Authenticator. Consulte para saber mais sobre dispositivos, sistemas, aplicativos MFA suportados pela nuvem AWS.

>_ AWS CONSOLE: EC2 – AMAZON LINUX – T2.MICRO

Elastic Computer, ou simplesmente, EC2. Trata-se do nome que é dado a uma máquina virtual (vm) dentro da AWS. Quando começar, é bastante comum não haver a correspondência termo-serviço totalmente formada e definida na mente. Está na dúvida? Use a pesquisa para saber qual é o serviço que aquela sigla/palavra representa.

Figura 12. painel EC2

Localizada internamente, no painel do EC2, a Visão Global traz uma foto de todos os recursos de todas as instâncias sendo usados (ou não) no momento. Disse “ou não” porque você pode ter X instâncias criadas mas nenhuma em execução. Talvez foram desligadas ou nunca foram ligadas ainda. Ou seja, esses recursos “constam”, pois estão sim listados. Mas não “contam” como uso corrente, já que não serão cobrados.

Figura 13. visão global (instâncias)

Se observarem a imagem acima, verão que já tenho uma instância na AWS. Criei essa no início do mês e deixei rodando desde então. Por se tratar de apenas uma, estou seguro e isento de cobranças. Isso porque estou dentro do pacote de 750 horas mensais gratuitas de EC2 (meses pares, 24 x 30 = 720) (meses ímpares, 24 x 31 = 744). Contudo, preste sempre muita atenção! O dashboard da AWS nunca será absoluto e mostrará todas as instâncias em todas as regiões. Regiões? 🤨 Como assim? Acontece que a computação de modo geral funciona em torno dos datacenters: pequenos, modestos ou grandiosos. E com a nuvem não poderia ser diferente. Os centros de dados da AWS estão espalhados por todo o globo, em regiões distintas. Nos últimos anos, o padrão para as novas contas de usuário da Amazon normalmente é: ou Ohio, ou Virgínia do Norte (ambos Estados Unidos). Portanto, caso você crie uma instância em X e depois sem querer acabe esbarrando em Y com o mouse, saiba que a AWS não o notificará sobre tal mudança e você será cobrado de acordo com o preço daquela “nova” região (Y). A lógica é bastante simples: quanto mais próximo do seu local atual for a hospedagem das máquinas, mais caro será o preço por horas excedentes. Por exemplo, no caso de um brasileiro como eu, o valor para ter servidores em São Paulo, que é o datacenter mais perto de mim, será bem maior do que em outras regiões.

Encerrando essa parte de “precificação”, fique atento para essas duas situações:

a) No meio do caminho, durante os estudos, uma troca acidental de região e consequentemente valores um pouco mais “salgados” no fim do mês, na fatura do cartão.

Figura 14. us-east-2 (Ohio)

b) Mais de uma instância rodando ao mesmo tempo durante o mês inteiro, resultando no estouro das horas gratuitas cedidas pela AWS, e por tabela, cobrança sob demanda (ex: U$ 0,22/h) dali em diante até o fechamento do mês corrente.

Agora sim, estamos prontos! Burocracia compreendida, passemos para a parte mais legal: a prática. E antes de criarmos a nossa primeira instância na nuvem, uma ressalva … Eventualmente, se a aplicação/sistema/solução em que está trabalhando foi homologada para “esse” ou “aquele” Linux, se atenha ao script, mantenha o plano. Claro que ninguém irá lhe impedir de testá-lo em outros sistemas, mas para fins de produção é sempre melhor estar no ambiente em que o mesmo foi desenvolvido e tem suporte garantido. Ok?

Siga os passos e dirija-se até a seguinte tela:

página inicial > EC2 > executar instâncias > selecione uma AMI (Amazon Machine Image)

Figura 15. etapa 01: imagem de máquina

O primeiro ponto que vale a pena destacar aqui é a etiqueta “qualificado para o nível gratuito” (em inglês, free tier). Procure por ela quando quiser utilizar esse e os demais serviços da AWS. Do contrário, você já sabe … 💸💸💸 Segundo ponto, é o tipo de imagem para a máquina virtual EC2. Caso a recomendação da aplicação/solução seja Ubuntu, então use o Ubuntu. Caso seja OpenSuSE, use o OpenSuSE. E assim por diante. Quando não, opte pelo Amazon Linux. E quem é esse Victor? Nada mais do que um RedHat compilado para a AWS. Em outras palavras, otimizado para trabalhar na nuvem da Amazon. Ele conta com uma série de ferramentas e integrações que irão facilitar muito o dia-a-dia do administrador (você).

À título de informação, as outras opções que temos (desde o Windows, passando pelo MacOS, e chegando até o Linux) :

Figura 16.

Próxima etapa, tipo da instância a ser implantada. Ou seja, o hardware da máquina. Seguindo a lógica, quanto mais poderosa for, mais caro será o seu valor. Sendo assim, busque pelas instâncias free tier (gratuitas). Normalmente são as de nome T2.MICRO

Figura 17. t2.micro – 1 CPU 2.5GHz – 1 GB ram

No rodapé, aperte o botão PRÓXIMO: detalhes da instância. Nessa página não mexeremos em nada, deixando tudo como está (padrão/default) Voltaremos em breve, no futuro, para maiores detalhes e explicações acerca de cada uma das configurações.

Figura 18. detalhes da instância (default)

NEXT … Adicionar um storage, ou em bom português, armazenamento de dados. Somente aqui haverá uma segmentação por parte da AWS, pois a mesma trata a máquina virtual e o armazenamento como serviços diferentes. A máquina virtual diz respeito as questões de processamento, memória, etc. Já o armazenamento diz respeito ao disco, ou seja, até onde vai a capacidade de gravar informações. Um fato positivo é que todos são SSD, melhorando significativamente o desempenho e velocidade. Mas, novamente cuidado! Limite-se apenas a quantidade máxima para o nível gratuito.

Figura 19. storage

NEXT … Tags? Não, por enquanto não queremos nenhuma.

NEXT … Security Group, ou Grupo de Segurança. Equivalente a um firewall para essa vm EC2. Devido ao fato de estar na nuvem, aberta a toda e qualquer pessoa, quem realmente pode/deve acessá-la via SSH e afins? Todos, apenas um grupo seleto, somente você? Para isso, uma boa recomendação é deixar ativa a opção meu IP e só.

Figura 20. meu ip

NEXT … Review e launch (revisão e lançamento). Verifique se está tudo OK e conforme desejado. Se sim, mande em frente e espere a conclusão!

Figura 21. executar (launch)

É obrigatório gerar um novo par de chaves SSH ou selecionar algum já pré-existente salvo localmente no seu computador. Como já possuo um devido a primeira instância, sendo esta a minha segunda, então vou apenas apontar o par que tenho na minha máquina.

Figura 22.

Running … Please wait …

Figura 23.

Ao final, edite, dê um nome e salve!

Figura 24.

Dia 01 de trabalho concluído 🙃 Te aguardo no próximo !!!

>_ REFERÊNCIAS:

https://explore.skillbuilder.aws/learn/course/external/view/elearning/134/aws-cloud-practitioner-essentials?dt=tile&tile=fdt

https://explore.skillbuilder.aws/learn/course/external/view/elearning/1851/aws-technical-essentials?dt=tile&tile=fdt