Alura > Cursos de Data Science > Cursos de Engenharia de Dados > Conteúdos de Engenharia de Dados > Primeiras aulas do curso Engenharia de Dados: organizando dados na AWS

Engenharia de Dados: organizando dados na AWS

Criando um servidor na nuvem - Introdução

Hugo: Olá, boas vindas ao curso de Engenharia de Dados da Alura. Dessa vez você vai perceber algo diferente, eu não estou sozinho, eu convidei o Thiago, cientista de dados da Alura Care, para nos ajudar nessa missão, não é não, Thiago?

Thiago: E isso aí, Hugo, estamos construindo a nossa startup Alura Care e eu estou bem empolgado, como um cientista de dados, para descobrir um pouco mais sobre o trabalho de um engenheiro de dados e qual o problema que vamos resolver nesse curso.

Hugo: Bom, qual vai ser o nosso desafio a ser resolvido nesse curso? A nossa startup, o Alura Care, que é uma startup de saúde da Alura, começou pequena com poucos profissionais e uma base restrita de clientes, mas estamos expandindo, as coisas deram muito certo e com isso vamos ter mais gente trabalhando e vamos ter uma base crescente de clientes.

Hugo: Então o que antes era resumido em uma pequena base de dados e alguns arquivos CSV espalhados em alguns computadores começou a crescer, então isso vai nos levar a um cenário um pouco mais complicado, começam a crescer a quantidade de arquivos CSV espalhados, outras bases de dados são criadas.

Hugo: Então começamos a ter um cenário um pouco difícil de trabalhar, que vai realmente dificultar a vida, tanto a minha quanto a do Thiago. Então a nossa missão desse curso é reunir esses CSV, usar esses arquivos CSV para construir um banco de dados na nuvem, certo?

Thiago: É isso mesmo, Hugo, então o nosso objetivo é começar a organização dessa área de dados na Alura Care, um desafio que muitas startups, que estão começando acabam passando, então vamos aprender como pegar um arquivo CSV e como criamos um banco de dados desse arquivo CSV, como transformamos esse arquivo CSV em um banco de dados nas nuvens. Nas nuvens não, na nuvem.

Thiago: Pensando dos pontos positivos, pontos negativos e implementando cada vez mais esse nosso banco de dados. Então estou bem ansioso para desenvolver esse projeto com você para aprender um pouco mais sobre engenharia de dados, assim como você aluno está aqui, aprendendo eu também vou estar aprendendo junto com vocês. Então vamos lá para o nosso curso mergulhar um pouco em engenharia de dados.

Hugo: Isso aí.

Criando um servidor na nuvem - Criando um servidor na nuvem

[00:00:00] HUGO: Bem vindos e bem vindas a esse curso de introdução a engenharia de dados da Alura. Eu estou aqui com o Thiago hoje. E aí, Thiago?

[00:00:09] THIAGO: Tudo bom, pessoal?

[00:00:10] HUGO: O problema que estamos tentando resolver hoje é o seguinte, eu e o Thiago, nós dois trabalhamos para o Alura Care, que é uma startup na área de saúde do Alura. Essa startup começou muito pequena, então tínhamos um pequeno banco de dados, tínhamos alguns arquivos em CSV soltos que as pessoas usavam para poder cadastrar algumas coisas e registrar alguns eventos.

[00:00:35] HUGO: Mas estamos crescendo, então estamos aumentando a nossa base de clientes e também a quantidade de pessoas trabalhando na nossa equipe, então quais são as consequências disso? Com mais pessoas chegando tanto para trabalhar quanto na base de clientes.

[00:00:54] HUGO: Começamos a ter mais bancos de dados em mais outros lugares, em unidades diferentes e também começam a aparecer uma grande quantidade de arquivos pequenos espalhados por tudo que é lado. Isso acaba se tornando um pesadelo para qualquer engenheiro de dados, para qualquer cientista de dados.

[00:01:15] THIAGO: Nós, Hugo, como cientista de dados, eu como cientista de dados, nós que geramos esses problemas, pois ficamos pegando CSV de um canto e de outro e aí vira uma bagunça que só. Na hora que você vai implementar mesmo o seu modelo, colocar isso em produção, fica bagunçado.

[00:01:32] THIAGO: Então uma empresa em expansão como é a Alura Care, começamos a ter um monte de problema, porque começa a ter mais cientistas de dados, mais pessoas trabalhando nessas bases de dados, então de alguma maneira precisamos organizar essa expansão e aí o papel do engenheiro de dados é fundamental.

[00:01:51] HUGO: Exatamente, então qual que é a situação que temos atualmente no Alura Care, que queremos nos preparar, assim por dizer, nós precisamos de uma certa modernização, porque nem sempre uma arquitetura que ela é feita com a quantidade menor de dados de pessoas ela pode ser expansível.

[00:02:13] HUGO: Então ela tem que ter essa característica, ela tem que nascer com essa característica que ela tem que ser elástica, precisamos comportar um maior volume de clientes e precisamos de uma estrutura que seja escalável, ou seja, a medida que os clientes aumentem a estrutura, ela vai aumentando junto proporcionalmente.

[00:02:34] HUGO: Então ela não vai ter nenhum problema, por exemplo, de acesso, porque a estrutura ela cresce junto, certo? Então, com isso, vamos ter dois caminhos possíveis para poder resolver esse problema, o primeiro deles é expandirmos o nosso servidor local, ou seja, a nossa base de dados que já temos no Alura Care.

[00:02:57] HUGO: E o segundo caminho possível é portar essa infraestrutura para a nuvem, então é tirar a nossa base de dados e criar uma base de dados na nuvem. Qual é a diferença entre as duas? Se tivermos que expandir o nosso servidor local.

[00:03:16] HUGO: Eu e o Thiago vamos ter que correr atrás do pessoal da infra para poder precificar um banco novo, infraestrutura nova, rack novo e todo um poder computacional que ele vai ter que ser estimado de acordo com que nós queremos, com o que vamos crescer, com o que achamos.

[00:03:38] HUGO: Então isso é muito complicado de fazer, porque às vezes você pode errar para mais e acabar pagando muito mais que você deveria ou você pode errar para menos e acabar apresentando um serviço ruim para os seus clientes por falta de poder computacional.

[00:03:53] HUGO: E com isso, eu e o Thiago optamos de portar essa infraestrutura para a nuvem, por quê? Na nuvem vai ser possível construirmos uma arquitetura que vai ser elástica, ou seja, a medida que a nossa base de clientes aumentar, crescer, a infraestrutura vai crescendo aos poucos junto.

[00:04:14] HUGO: Então não vai precisar que eu e o Thiago, vamos lá, vamos quebrar a cabeça e falar que estamos com duzentos clientes hoje e passamos para quatrocentos daqui um mês e daqui a sete anos vamos estar com tantos mil clientes, é muito difícil fazer isso.

[00:04:31] HUGO: Então vamos optar por passar essa infraestrutura para a nuvem.

[00:04:39] THIAGO: Opa, certíssimo, Hugo. Eu acho que, na realidade, hoje são raras as empresas que tem servidores locais, algumas por obrigatoriedade de legislação.

[00:04:57] HUGO: Isso.

[00:04:57] THIAGO: E tem certas indústrias que precisam ter o seu banco local e coisas do gênero, outras por estratégia. Se não me engano a Stack Overflow é uma que tem o banco dados, o próprio servidor deles e tudo mais, mas realmente a possibilidade de levar isso para a nuvem de forma que você vai pagar pelo que você realmente vai consumir ali traz muita possibilidade de custo-benefício para startups e empresas pequenas principalmente que estão começando.

[00:05:29] THIAGO: E um investimento em um servidor local é caríssimo, né?

[00:05:33] HUGO: Bom, escolhendo o caminho de importar a infraestrutura para a nuvem, quais desafios vamos ter aqui pela frente para poder executar essa tarefa? O primeiro desses desafios é migrarmos para um banco de dados local para um banco de dados na nuvem.

[00:05:51] HUGO: E dessa vez nós escolhemos a AWS como provedor e nuvem. E o segundo desafio que teremos vai ser pegar esses arquivos CSV que estão espalhados e, através de Python, da linguagem de programação Python, migrá-los também para o nosso banco que vai ficar na AWS.

[00:06:09] THIAGO: Legal, então nós que tem os dados todos locais hoje na nossa máquina, no servidor local que pode ser, por exemplo, lá no começo do Facebook, o computador do Mark Zuckerberg, nós vamos pegar e vamos começar a migrar para as nuvens, temos banco de dados, temos planilhas e vamos fazer um exemplo com a planilha nesse caso.

[00:06:34] THIAGO: Então eu estou doido para começar. Agora a minha dúvida para você, Hugo, qual é o nosso primeiro passo para começar a realmente colocar a mão na massa nesse caso?

[00:06:48] HUGO: Certo, sem ansiedade, nosso primeiro passo que temos que ter para ter um banco de dados na nuvem, é ter um banco de dados na nuvem. Então a primeira coisa que vamos fazer é começar na própria AWS e vamos criar um servidor que na AWS é chamado lá de EC2, Elastic Compute Cloud.

[00:07:13] HUGO: E vamos usar esse servidor para poder instalar, para poder construir o nosso banco na nuvem e, com isso, eu lhes apresento o console da AWS que é onde vamos começar fazendo esse trabalho e, como eu disse antes, vamos começar pela parte da EC2.

[00:07:37] HUGO: Então podemos fazer o acesso da EC2 caso tenha aqui, ele já pode estar como trabalho aqui em serviços acessados recentemente ou podemos clicar na barra de pesquisa aqui na parte superior e digitar EC2. Com isso o menu da EC2 vai aparecer aqui embaixo de serviços, podemos vir aqui em cima da palavra EC2 e clicar.

[00:08:06] HUGO: Com isso vai abrir o console, o painel das EC2. Como estamos querendo criar uma instância, que é outro nome para servidor, viemos aqui dentro do menu de recursos e clicamos em instâncias em execução, com isso nós já podemos começar.

[00:08:27] HUGO: As instâncias são apresentadas aqui, inclusive já temos uma instância de exemplo e para poder criar a nossa instância, nós vamos vir nesse botão laranja superior direito, você vai clicar nele.

[00:08:43] THIAGO: Hugo, essa que já tem ali, só para o pessoal abrir e pela primeira vez estiver utilizando pela primeira o AWS não aparecer nada, é que na sua conta você está rodando uma instância.

[00:08:58] HUGO: Perfeito, exatamente.

[00:08:59] THIAGO: Está rodando uma máquina já ali, mas se você está abrindo pela primeira vez não vai aparecer nenhuma máquina rodando, não vai ter nada ali.

[00:09:08] HUGO: Exatamente, isso mesmo, Thiago. Aquela máquina foi uma máquina que realmente criamos de teste e então a conta da AWS assim que você acessou, ela vai vir completamente vazia. Então não precisa se preocupar em relação ao curso, porque ela vai vir vazia para você poder criar toadas as coisas que você quiser, tá?

[00:09:33] THIAGO: Boa.

[00:09:34] HUGO: E a primeira etapa que temos criado um servidor é criando um sistema operacional, AWS oferece alguns sistemas operacionais diferentes, vocês podem ver aqui pela tela que nós temos o Amazon Linux, que é o Linux da própria Amazon.

[00:09:49] HUGO: Temos Red Hat, vai ter Ubuntu, vai ter Windows também e nesse caso hoje nós vamos escolher um servidor Ubuntu, por causa da comunidade que já é grande e é mais fácil de interagir com o pessoal. Na nossa segunda etapa, vamos escolher o tipo de instância.

[00:10:10] HUGO: Na AWS é um pouco diferente, lá é separado o poder de processamento da máquina no HD, ou seja, da memória para armazenar arquivos, então escolhemos o tipo de instância primeiro, aqui tem uma variedade de tipos de instâncias que vão de meio giga de memória até trezentos gigas de memória RAM.

[00:10:32] HUGO: E o que vamos escolher é o t2.micro, que ele já vem selecionado com essa barra verde falando aqui também que esse tipo de instância pode vir com o que a AWS chama de free tier, ou seja, ela te fornece algumas horas de execução sem pagar nada por mês, por um certo tempo.

[00:10:55] HUGO: Então por isso vamos escolher esse tipo aqui. Agora podemos pular para o configurações do detalhe da instância. Uma vez aqui nas configurações dos detalhes da instância, a maioria das coisas aqui vamos deixar como padrão com relação a rede e a subnet, vamos ver um pouco para frente.

[00:11:20] HUGO: Então não tem problema, vamos voltar e explicar um pouco, então não tem muito o que mudar aqui. Uma coisa que eu queria só deixar aqui que é interessante, é que tem esse botão em relação a proteger contra encerramento acidental, eu acho interessante sempre marcarmos ele para que você não delete as máquinas acidentalmente.

[00:11:46] HUGO: Porque uma vez acontecendo isso você não consegue recuperar o que tinha nela, certo? Então, marcada essa opção, vamos para “adicionar armazenamento” e aqui vamos pegar o HD da instância, quantos gigas de memória de armazenamento ela vai poder ter.

[00:12:07] HUGO: Aqui é muito interessante, até uma dica que eu dou, como eu disse lá atrás que a nuvem é elástica, não vale a pena você virar e falar que vai ocupar trezentos gigas, então vou colocar trezentos gigas de trabalho, não vale a pena, por quê?

[00:12:21] HUGO: Você pode colocar oito giga e ir consumindo, gerando arquivos e etc, você precisou de mais, você vai lá e aumenta mais, porque na nuvem é muito fácil você aumentar a quantidade de HD, então não tem por quê. Qual é a diferente então de eu começar com oito gigas e com trezentos gigas? Porque na nuvem você paga pelo que você usa.

[00:12:45] HUGO: Então se você requisitou trezentos gigas de HD, você já vai inicialmente pagar por esses trezentos gigas, agora se você começou com oito e você vai pagar por oito, se você passou para quinze você vai pagar para quinze, então você tem uma economia muito maior em relação a recurso.

[00:13:06] THIAGO: Esse é um ponto essencial, eu acho que é uma ótima dica, Hugo, porque essa é a principal característica, uma das principais é essa capacidade de ajustes automáticos do nosso servidor quando trabalhamos no sistema de nuvens, não necessariamente automático, pode ser automático como pode não ser automático.

[00:13:37] THIAGO: Mas é de acordo com a nossa necessidade, então eu acho precioso essa dica de sempre escolher o mínimo possível e conforme a necessidade você vai aumentando para você pagar com aquilo que você está realmente consumindo. É aproveitar uma das principais características dessa migração e das vantagens de trabalhar em um sistema de nuvens.

[00:14:06] HUGO: Isso aí. E para a próxima etapa agora, viemos novamente aqui em próximo no canto inferior direito, viemos em adicionar tags, o que são tags? Elas vão ser, por assim dizer, que são consistidas de chave e valor da sua máquina, elas não são obrigatórias, mas eu considero elas de extrema utilidade, por quê?

[00:14:33] HUGO: Com elas você consegue colocar informações, então, por exemplo, aqui nós já tínhamos uma máquina e vamos criar outra, tudo bem, podemos saber ali qual é qual. Agora imagina se tiver duzentas máquinas, como que você vai saber qual máquina é qual, quem criou, que sistema operacional está rodando lá, quando foi que alguém testou, é difícil demais.

[00:14:56] HUGO: Então por isso vou dar a dica de algumas chaves que eu considero bem úteis. A primeira delas é a Name, está em inglês porque é um padrão da AWS para padrão de máquina, então vamos começar por name e aqui posso colocar, por exemplo, EC2 Alura Care banco de dados, vou colocar só banco para não ficar muito grande.

[00:15:29] HUGO: Então Vou colocar o nome dela, eu posso por exemplo colocar também o dono da máquina. Então vou colocar meu nome aqui, sabendo que a máquina é minha então eu sou o responsável por aquela máquina. Eu posso colocar também sistema operacional, eu acho que é bem interessante também.

[00:15:53] HUGO: Então sistema operacional SO comercial eu vou colocar aqui Ubuntu, entre outras. Então você vai poder dar o nome e colocar as características da sua máquina baseadas no seu uso mesmo, certo? E com isso vamos para a próxima etapa que é configurar o security group.

[00:16:12] HUGO: Então novamente no canto inferior direito nós vamos clicar aqui. Chegamos na parte do security group, o que é o security group? Security group é firewall que vai controlar as requisições nas chamadas que vão acontecer na sua máquina.

[00:16:34] HUGO: Então você consegue filtrar, por exemplo, de quais IP vão chegar essas requisições e quais portas essas requisições vão ser permitidas, aqui vou criar um security group novo já que estamos criando a nossa máquina nova, então vou repetir como EC2 mesmo Alura Care banco.

[00:17:01] HUGO: A descrição vou colocar a mesma coisa, acho que para o bem da aula não tem necessidade e viemos aqui embaixo para porta e para os protocolos. O que precisamos para fazer o primeiro acesso à nossa máquina vai ser o protocolo SSH mesmo, usando a porta 22.

[00:17:21] HUGO: E eu queria só fazer um comentário em relação ao IP que temos aqui. O jeito que está escrito esse IP aqui, esse 0.0.0.0/0, ele basicamente fala o seguinte, você vai permitir conexão de todo e qualquer IP para a minha máquina, vocês percebem que isso pode ser um problema de segurança?

[00:17:42] HUGO: Muitas vezes não é o que você vai querer, porque sempre vão existir pessoas tentando às vezes fazer acesso à essa máquina, tentando ali usar essa máquina para elas. Então o ideal é o seguinte, que coloquemos um IP mesmo, por exemplo, vou colocar o meu IP, então você vem aqui e coloca 123456 e coloca seu IP.

[00:18:05] HUGO: Isso em cenário de produção, mas como nós vamos somente fazer uso mesmo para o curso etc, podemos usar isso aqui, inclusive a própria AWS te dá um aviso que fica aqui embaixo falando que não é ideal que você coloque esse tipo de regra desta forma.

[00:18:31] HUGO: Mas vamos deixar assim para poder simplificar um pouco a nossa vida.

[00:18:36] THIAGO: Eu fiquei bem curioso, porque assim como você aluno que está fazendo esse curso, eu estou aprendendo um pouco mais sobre AWS, sobre engenharia de dados, coisa que eu não sou especialista, fiquei com uma curiosidade aqui e acho que você pode me ajudar.

[00:18:52] THIAGO: Se eu estou na minha máquina, por exemplo, aqui eu vou fazer o acesso a esta máquina na AWS pela minha máquina eu posso configurar o meu IP. Agora, por exemplo, eu tenho como liberar uma lista de IP então também? Que, por exemplo, pode ter mais de uma pessoa trabalhando na minha máquina.

[00:19:12] HUGO: Tem, tem sim. Então nós podemos fazer essa liberação, por exemplo, clicando aqui embaixo, embaixo de type, aqui da última regra e podemos clicar em add rule e você pode adicionar um outro IP ou adicionar uma nova porta também. Por exemplo, eu não quero só porta 22, quero a porta HTTPS, que é a de site.

[00:19:34] HUGO: Quero a 443 e etc.

[00:19:36] THIAGO: Legal.

[00:19:38] HUGO: E se você também tiver dentro de uma rede, por exemplo você está lá na do seu roteador, você consegue também fazer o bloco de IP, que é como é construído esse IP aqui. Então, por exemplo, você quer falar que quer o IP 10.10.10 e quero do IP 0 a 225.

[00:19:57] THIAGO: Sim.

[00:19:57] HUGO: Então você consegue fazer essa liberação desse intervalo de IP.

[00:20:02] THIAGO: Legal, muito bom. Na realidade não é exatamente o nosso foco explicar todos os detalhes, principalmente esses detalhes de rede e tudo mais, essa é uma área um pouco mais diferente, mas a parte de segurança é extremamente importante e se você está meio perdido talvez com essa sopa de letras.

[00:20:23] THIAGO: Firewall com AWS, SSH e tudo mais, não se preocupa porque você pode pausar o vídeo que deixamos dois artigos aqui, tem alguns materiais comentando, explicando mais sobre esses assuntos para você se orientar melhor, mas com conhecimento leve já conseguimos tocar e orientar o que precisamos fazer neste curso.

[00:20:49] THIAGO: Estamos colocando o 000 nesse caso, no source por ser o nosso curso aqui, então não vamos colocar nada no ar e as pessoas não vão acessar isso de uma outra maneira. Então vamos lá, Hugo, desculpa te interromper aí.

[00:21:05] HUGO: Agora vamos vir na nossa última etapa, novamente no canto inferior direito e vai clicar em verificar e ativar. Com isso nós vamos somente verificar mesmo, ver se está tudo certo, pegamos Ubuntu, vamos pegar a t2 micro que é a linha que vai servir para o que queremos.

[00:21:28] HUGO: Nosso security group está aqui também, que é o nosso firewall, tem outras coisas, tem armazenamento, tem as nossas tags, só ver se está tudo certo e estando certo, vamos clicar em executar aqui embaixo a direita. Agora vai aparecer um pop up, porque para podermos fazer a conexão SSH, ela se baseia em uma chave pública e em uma chave privada.

[00:21:56] HUGO: E AWS vai fornecer essa chave para nós que vai permitir acessarmos essa EC2 na nuvem, então, nesse caso de nova instância, nós podemos vir na primeira opção e clicar na segunda caixa, que é criar um novo par de chaves. Com isso criamos um novo par e clicamos na caixa embaixo e vai dar o nome desse novo par, novamente vou colocar EC2 Alura Care.

[00:22:33] HUGO: Vocês podem dar o nome que vocês quiserem, não tem importância, é totalmente personalizável e uma vez que eu fiz essa EC2, essa configuração toda, eu vou clicar para fazer o download do par de chaves. Salvem isso em um lugar seguro, porque todo mundo que tiver esse par de chaves vai conseguir acessar a sua instância.

[00:23:01] HUGO: Obviamente se ela tiver dentro do security group do firewall se ela tiver permitido o IP dela. Então é algo pessoal mesmo que você tem que guardar com segurança. Uma vez feito e selecionado, viemos em executar instância e com isso vamos mudar o console e ele vai mostrar que a instância está sendo iniciada.

[00:23:28] HUGO: Então podemos vir, clicar nessa hashe, nessa caixa verde e vamos no nome da instância, clica nela e nós vamos ver nossa instância sendo criada. Inclusive você consegue acompanhar isso aqui embaixo por estado da instância que ela fica como pendente.

[00:23:52] HUGO: Está criado já e a instância é cobrada pela hora, então o ideal é que saibamos que vocês tenham o costume que se eu parei de usar a minha instância, eu vou selecionar a minha instância, eu vou vir aqui em cima em estado da instância e vou interromper a minha instância.

[00:24:16] HUGO: Ou seja, vou desligar, porque enquanto ela está ligada, ela vai sendo cobrada, mas uma vez que você desliga o processamento dela não vai ser mais cobrado de você, apenas realmente a ocupação do HD e é sempre bom economizar no final das contas.

[00:24:36] HUGO: Então se eu clicar aqui em interromper instância, você vai ser perguntado se você tem toda a certeza de fazer isso, vamos clicar no botão interromper e com isso ela vai mudar o estado de instância para interrompendo até parada. Agora nós temos o nosso servidor e ele está criado, mas e aí, como fazemos o acesso a esse servidor e realmente controlar, acessar e conseguir comunicar com ele?

[00:25:12] HUGO: Bom, isso vai ser um assunto para a próxima aula.

Criando um servidor na nuvem - Conectando no servidor

[00:00:00] HUGO: E aí, gente, tudo bom com vocês? Estamos aqui novamente eu e o Thiago seguindo na nossa missão de portar o Alura Care para a nuvem. Na última aula, recapitulando, nós criamos o nosso servidor, mas nós ainda não nos conectamos nele.

[00:00:19] HUGO: Então a ideia principal dessa aula é fazer com que nós consigamos conectar nosso computador no servidor que criamos. Aproveitando, Thiago, teve muitas coisas que fizemos na última aula em relação a configurar a nossa EC2 e algumas coisas nós acabamos pulando para poder simplificar, mas eu queria trazer de volta algumas redefinições de rede que passamos.

[00:00:48] HUGO: Só para poder explicar, assim, por alto, porque eu acho muito interessante quando você é aluno aprenda alguns conceitos desse mundo que é tão interessante em relação a conexão de computadores.

[00:01:04] THIAGO: Vamos lá.

[00:01:05] HUGO: Então eu vou trazer aqui esse pequeno diagrama que fizemos em relação a como está organizado por alto as redes na AWS. Então primeira coisa que temos é a VPC, que é a Virtual Private Cloud, essa VPC é uma nuvem isolada dentro da AWS, então quando você cria uma VPC tem ali a sua própria nuvem, os seus próprios acessos.

[00:01:34] HUGO: E se você quiser, por exemplo, bloquear o acesso dessa nuvem para fora, você consegue fazer a conexão só dos seus recursos ali dentro daquela nuvem, tá bom? Dentro dessa VPC, ela é composta por subnets, que são subdivisões por assim dizer, não são blocos de IP que vimos um pouco lá no Para Saber Mais.

[00:01:58] HUGO: E aí nós conseguimos fazer um isolamento entre essa subnets, elas podem conversar entre si ou não, caso seja de interesse do arquiteto ou de quem está projetando e dentro de uma dessas subnets nós temos a nossa EC2. Então a configuração é feita, nós pegamos algumas coisas padrão, então não tem problemas, elas já estão pré configuradas, agora o que nós faremos seria acessar nossa EC2.

[00:02:32] THIAGO: Legal, então, Hugo, a nossa EC2 que criamos está dentro da subnet que está dentro dessa VPC. Legal entender um pouco mais dessa estrutura dentro da AWS que é extremamente complexo e tem muita coisa aqui que obviamente você não está falando, até porque não cabe, mas eu vou deixar um desafio para você aluno, um desafio aqui que estou deixando para você.

[00:02:59] THIAGO: A AWS tem uma documentação bem legal sobre esses assuntos, com perguntas frequentes e até com definições de várias coisas que estamos comentando aqui por alto, o que é VPC, o que é subnet e tudo mais, então entra na documentação da AWS lá na parte de VPC e dá uma lida sobre esse assunto.

[00:03:17] THIAGO: Você vai ver lá que você vai conseguir se aprofundar, entender um pouco mais e começar a se familiarizar com esses conceitos que são tão importantes para quem trabalha constantemente com esse tipo de serviço em nuvem. Então você vai entender muita coisa além do que estamos explicando aqui, não é não, Hugo?

[00:03:33] HUGO: Exatamente, isso aí. Então agora, sem mais delongas, vamos partir para esse desafio de pegar o nosso computador e através da internet, da conexão SSH, fazer a conexão do nosso servidor recém criado na nuvem. E por onde começamos? Nós vamos ligar o nosso servidor.

[00:04:01] HUGO: Então, recapitulando, nós estamos aqui na página das instâncias do EC2, a nossa EC2 pode ser vista aqui no estado da instância, ele está como interrompido, então para isso clicamos aqui no botão de estado da instância e clicaremos em iniciar instância com a nossa instância já selecionada.

[00:04:27] HUGO: Então viemos aqui em iniciar instâncias, vamos aguardar um pouco enquanto essa instância é ligada e, enquanto isso, já podemos abrir o PuTTY. O PuTTY vai ser o software que nós iremos utilizar para poder fazer essa conexão na máquina.

[00:04:49] HUGO: Uma etapa que vamos ter que fazer antes para o Windows e para o PuTTY, a extensão da chave que baixamos na aula passada ela é do tipo PEM e vamos ter que fazer uma pequena conversão para o tipo private key, então vamos usar esse PuTTYgen aqui rápido para poder fazer essa conversão.

[00:05:12] HUGO: Então vamos clicar no PuTTYgen, vamos em conversions ou conversões, clicaremos em import key para poder importar a nossa chave, selecionaremos onde você salvou, nós temos aqui o nosso servidor Linux banco de dados, clicaremos em abrir e com isso vamos pedir para abaixo de generate, tem load e save private key.

[00:05:42] HUGO: Vai dar um pequeno aviso perguntando se você quer proteger essa SSH com uma senha para aumentar a sua segurança, mas nesse caso nós não vamos precisar. Então eu vou colocar sim e com isso já vai ser apresentado o yes, vai ser apresentada a tela para eu salvar minha chave.

[00:06:04] HUGO: Então vou salvar como chave privada servidor banco de dados, ok? Vai ser do tipo private key e eu vou clicar em "salvar", tudo certo, podemos começar. Se nós viermos aqui atrás também a nossa máquina já está executando, tá bom? Eu vou fechar o PuTTY Key Generator.

[00:06:39] HUGO: Então vamos começar fazendo a nossa configuração, ok? Então vamos no menu iniciar agora, tem problemas técnicos no meu iniciar. Nós vamos digitar novamente PuTTY, clicar no PuTTY normal, antes nós havíamos clicado no PuTTYgen e agora vamos no PuTTY e ele é simples.

[00:07:18] HUGO: Vamos ter aqui o host name na parte de cima que vai ser o nosso IP de conexão ou DNS, ao lado nós vamos ter a porta que nós vamos preencher e aí criamos nosso servidor, mas onde pegamos isso? Essas informações nós conseguimos encontrar na própria página da AW , nós vamos pegar isso aqui, seleciona a nossa EC2 que acabamos de criar.

[00:07:53] HUGO: Aqui embaixo tem algumas informações sobre ela, se viermos aqui em resumo da instância vamos ter o endereço IPv4 público dela, aqui é o nosso IP que nós iremos usar para conectar à essa máquina, então viemos e clicamos no botão lado aqui de copiar ou pode dar um “Ctrl + C” e vamos colar aqui em host name. Primeira coisa que nós fizemos.

[00:08:23] HUGO: Agora a segunda coisa que nós faremos será configurar a chave, então nesse menu aqui do lado em relação a Category, nós viemos embaixo de connection e nós clicamos em expandir, no mais do SSH, e nós vamos criar em auth, de autenticação.

[00:08:47] HUGO: Aqui vamos configurar nossa chave, viemos em browser, vamos onde está localizada nossa chave o tipo private key, abre aqui, clicando em abrir, tudo bem, até aí beleza. Agora vamos voltar lá na seção que é o primeiro item do nosso menu para poder dar um nome para a nossa conexão.

[00:09:11] HUGO: Então vou colocar aqui servidor de novo, banco de dados para poder salvar, porque nós vamos reutilizar isso aqui várias e várias vezes. Então vamos clicar em salvar ou save, vai ter aqui já tudo certo e com isso podemos pedir para abrir o nosso servidor.

[00:09:36] HUGO: Clicando em abrir ele vai pedir para poder adicionar essa chave como confiável, eu vou clicar em yes, sim, vamos ter a nossa página de login, ele vai variar de sistema operacional para sistema operacional. Como nós clicamos Ubuntu, nós vamos digitar Ubuntu, apertar o “Enter” e pronto, estamos já na nossa máquina da AWS.

[00:10:07] THIAGO: Hugo, legal, me tira uma dúvida.

[00:10:13] HUGO: Claro.

[00:10:14] THIAGO: Esse PuTTY, é PuTTY? Não sei se é assim que se pronuncia.

[00:10:16] HUGO: É PuTTY.

[00:10:20] THIAGO: Eu não estou muito acostumado com essas interfaces gráficas e esse softwares, e sempre quando vou conectar ou vou fazer uma conexão SSH, eu faço pelo terminal mesmo.

[00:10:33] HUGO: Exatamente.

[00:10:33] THIAGO: Esse PuTTY serve para facilitar e eu não precisar me achar o super hacker, que eu não sou obviamente, e fazer essas coisas pelo terminal, ele serve para isso então, facilita esse acesso a essas máquinas, certo?

[00:10:51] HUGO: Exatamente, inclusive você está super certo, existe a possibilidade de fazer o terminal por outros softwares também e, no caso do Windows, eu não considero uma das formas mais fáceis, geralmente a gente salva, esse aqui salvou conexões, mas obviamente tem gente que prefere realmente ir pelo terminal ou já configurar uma pasta que já conecta direto lá.

[00:11:15] HUGO: E, assim, o resultado é o mesmo, você vai ter um terminal de controle da máquina, a máquina por default da Ubuntu, o controle dela é feito pela linha de comando. Claro que existe a possibilidade de instalar o acesso gráfico, mas a forma de controlar essa máquina é realmente via linha de comando.

[00:11:44] THIAGO: Tem que ser o habitual, o habitual é o mais fácil de se fazer na minha opinião. Mas é legal, eu adorei esse PuTTY aí, eu vou até fazer instalação depois porque facilita bastante, é bem mais fácil de ficar conectando pelo terminal. Lógico, tem gente que prefere e tem gente que não prefere, quanto mais visual para mim é melhor.

[00:12:07] HUGO: Exatamente e aí só um pequeno exercício, eu vou usar um comando que ele geralmente vem instalado nas máquinas Linux que é o HTOP, ele vai listar para mim como está essa máquina, como são as características dela, como ela está lá na nuvem e é interessante até para monitorar recursos.

[00:12:30] HUGO: Então vou digitar na linha de comando HTOP, vou apertar “Enter” e aqui consigo ver alguns processos, mas onde eu queria ter um destaque? Se você for olhar aqui em cima na parte de memória, nós temos a CPU e nós temos a memória em segundo lugar aqui.

[00:12:50] HUGO: Na memória você vai ver que ela tem quase 1GB de RAM, porque foi a configuração que nós escolhemos na t2.micro na hora de criar, então, por exemplo, se viéssemos aqui e trocasse por uma 16GB de RAM, você poderia ver que ela realmente tem 16GB de RAM via HTOP monitorando dentro a sua máquina.

[00:13:13] HUGO: Então para poder sair eu posso apertar “Ctrl + C” e já fechei também o HTOP.

[00:13:19] THIAGO: Legal, só lembrando que todos os comandos que você está fazendo nessa interface, nesse terminal que o PuTTY abriu, você está executando lá na máquina da AWS, não na sua máquina.

[00:13:33] HUGO: Exatamente.

[00:13:35] THIAGO: Legal.

[00:13:38] HUGO: Então nós temos agora a nossa máquina, agora já conseguimos conectar nela, mas isso aqui ainda não é um banco de dados, certo? Só temos uma máquina, ela está totalmente crua e como transformamos esse servidor no EC2 do banco de dados? Vamos ver isso na próxima aula.

Sobre o curso Engenharia de Dados: organizando dados na AWS

O curso Engenharia de Dados: organizando dados na AWS possui 140 minutos de vídeos, em um total de 43 atividades. Gostou? Conheça nossos outros cursos de Engenharia de Dados em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Engenharia de Dados acessando integralmente esse e outros cursos, comece hoje!

Plus

  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$85
à vista R$1.020
Matricule-se

Pro

  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$120
à vista R$1.440
Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas