Amazon Web Services (AWS) e SQL Server – EC2
Fala Galera!
O post de hoje não é somente sobre banco de dados, mas também sobre uma tecnologia que está sendo cada vez mais utilizada e, com certeza, os profissionais de dados que querem sair da caixinha e evoluir cada vez mais, devem conhecer.
Pretendo demonstrar, de forma direta, como dar os primeiros passos para conhecer melhor a tecnologia e como criar um servidor para iniciar os estudos relacionados a banco de dados hospedados em servidores na AWS.
Para quem não tem nenhum conhecimento sobre o assunto, recomendo que procure estudar os principais conceitos sobre computação em nuvem e sobre os diversos serviços que a AWS oferece. Como o catálogo de serviços é muito grande, nesse momento vou focar em demonstrar como configurar e utilizar o serviço Elastic Compute Cloud (EC2), tratando os seguintes tópicos:
- Entendendo o que é Elastic Compute Cloud – EC2
- Criando uma instância EC2 – Windows
- Acessando uma instância EC2 – Windows
- SQL Server e EC2 – Agora é só finalizar.
Antes de qualquer coisa, é necessário possuir uma conta na AWS. Como o foco é falar mais sobre EC2 e SQL Server, pra quem ainda não possui uma conta, sugiro que acesse o link abaixo para criar uma e poder acompanhar todos os passos do post:
https://aws.amazon.com/pt/free/activate-your-free-tier-account/
Detalhe: existe a possibilidade de criar uma conta e utilizar alguns recursos de forma gratuita. Vale muito a pena pra quem quer estudar a respeito.
Elastic Compute Cloud – EC2
Vamos lá! Para iniciar precisamos entender o que é o serviço EC2 oferecido pela AWS.
De forma bem resumida, é um serviço para criação de servidores virtuais, que na AWS são conhecidos como instâncias, e que podem ser utilizados para diversas finalidades, assim como qualquer outro servidor. No nosso caso, para configurar um servidor de banco de dados.
Esse serviço possui diversos recursos interessantes em comparação a servidores tradicionais, como: escalabilidade, alta disponibilidade, facilidade no gerenciamento de recursos, economia (depende da situação), entre outros.
Vocês vão perceber que as instâncias EC2 são muito semelhantes a servidores virtualizados tradicionais.
Se houver interesse em saber mais detalhes sobre o conceito e as vantagens de utilizar uma instância EC2 para hospedar bancos de dados, é possível obter mais informações acessando o link abaixo.
https://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/concepts.html
Criando uma instância EC2 – Windows
Agora que já temos uma noção básica sobre a utilização do serviço EC2, vamos para a prática.
Primeiramente, precisamos levantar alguns pontos para prosseguir com a configuração do servidor. Sendo que os principais são:
- Quantidade e tipo de CPU
- Memória
- Tamanho e tipo de discos
- Modalidade
Os três primeiros pontos já fazem parte da nossa realidade, mesmo com a existência de algumas particularidades. A “grande jogada” é que a AWS fornece os tipo de máquina que podemos escolher. Esses tipos são basicamente um agrupamento de recursos. Como exemplo, temos o tipo que será utilizado para montar a instância de demonstração que é o t2.micro.
OBS: esse não é o tipo de máquina indicado para a criação de um servidor de banco de dados produtivo. Está sendo utilizado pelo fato de ser gratuito, somente para demonstrar a criação da instância. Existem diversos outros tipos de máquinas que podem ser consultados no link abaixo:
https://aws.amazon.com/pt/ec2/instance-types/
Um ponto bem importante que também deve ser levado em consideração, é a modalidade em que a instância irá se enquadrar. Essa escolha é um dos fatores que define o custo do servidor. Neste caso será utilizada a modalidade On Demand, que também pode ser usada gratuitamente de acordo com o tipo da instância.
Após o levantamento desses requisitos, vamos partir para a criação.
O primeiro passo é acessar o painel de gerenciamento da AWS e selecionar o serviço EC2:
Ao clicar no link do serviço EC2, vamos ter acesso ao painel relacionado as configurações da instância.
Existem diversas opções de configurações relacionadas ao serviço, mas vamos nos atentar apenas ao que é necessário para seguir com a criação da instância.
Em destaque, temos os três passos que devem ser realizados para a criação de uma nova instância:
- A região onde será criada.
- O menu principal de Instâncias
- A opção que nos direciona para a criação de uma nova instância.
OBS: um ponto de atenção é planejar bem em qual região a instância será criada, pois existem diversos fatores que podem influenciar no custo e até mesmo em questões relacionadas a performance e disponibilidade dos serviços. Para saber mais sobre as regiões, o link abaixo pode ajudar:
https://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/using-regions-availability-zones.html
Ao acessar a opção para criação de uma nova instância, vamos visualizar o painel de gerenciamento das instâncias criadas. Observem que o painel está vazio, porque ainda não existe nenhuma instância criada.
Nesse momento, devemos clicar na opção de “Executar instâncias” para iniciar a configuração.
Ao clicar nessa opção seremos direcionados para o próximo painel em que é possível escolher qual a imagem de máquina que será utilizada.
Existem diversas opções para a criação de instâncias EC2. Nós utilizaremos a opção de criação de um servidor virtual Windows:
Agora vamos selecionar qual o tipo de instância será utilizado, que no nosso caso será o t2.micro:
Após a escolha do tipo de instância, seremos direcionados para a etapa de configuração dos detalhes da instância:
Nessa etapa, podemos deixar todas as configurações como padrão e avançar para o próximo passo que é a configuração de armazenamento:
A única configuração que será alterada, é o tamanho do disco que foi configurado com 50GB e vem como padrão 30 GB.
O próximo passo será a adição de Tags, que nesse exemplo não serão configuradas:
Agora vamos para o último passo, que é muito importante e influencia diretamente no controle de acesso e segurança do nosso servidor, que é o Security Group. Nesse exemplo, vamos utilizar o padrão que já existe para a conta criada somente a nível de testes.
OBS: o Security Group deve ser cuidadosamente planejado para ambientes produtivos para garantir a segurança do servidor e consequentemente garantir a segurança e integridade dos bancos de dados. Ele funciona como uma espécie de Firewall para controlar as regras de acesso relacionadas ao nosso servidor. Mais detalhes sobre Security Group podem ser encontrados no link abaixo:
https://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/ec2-security-groups.html
Após a configuração do Security Group, seremos direcionados para uma página de resumo das configurações da instância:
Após conferir se as configurações estão de acordo com o que desejamos, podemos clicar em executar para que a instância seja criada.
Ao clicar nessa opção será inciado o processo de criação de chaves.
OBS: a AWS trabalha com o conceito de chave pública e chave privada que são utilizadas para a realização de acesso às máquinas criadas. Para saber mais sobre o conceito de chaves públicas e privadas, acesse o seguinte link:
https://docs.aws.amazon.com/pt_br/AWSEC2/latest/WindowsGuide/ec2-key-pairs.html
Resumidamente, quando criamos uma máquina virtual, é criada uma chave pública, que é armazenada dentro da máquina e a chave privada que é utilizada para o acesso a essa máquina. É nesse próximo passo que vamos realizar essas configurações:
Vamos selecionar a opção de criar um novo par de chaves, nomear esse par de chaves e posteriormente clicar no botão de realizar download do arquivo .pem, que será necessário para realizar o acesso a instância:
Após o download, podemos clicar em “Executar Instância” para que a nossa máquina comece a ser criada:
Ao clicar em “Exibir Instâncias” seremos direcionados para o painel EC2 em que é possível visualizar a instância sendo criada:
Clicando na Instância, podemos ver um resumo das configurações:
Acessando uma instância EC2 – Windows
Agora, iniciaremos a parte que está mais voltada para o banco de dados, já que vamos acessar a instância para a instalação do nosso querido SQL Server.
Primeiramente, selecionamos a instância e clicamos na opção conectar:
Ao clicar nessa opção, será aberta a janela com as opções de conexão. Neste caso, vamos realizar a conexão utilizando um cliente RDP, conforme destacado na imagem:
Agora é o momento em que vamos utilizar as chaves geradas no final da criação da instância para obter a senha e realizar o login no servidor via RDP:
Para obter a senha, primeiramente precisamos realizar o upload do arquivo de chaves que criamos:
Após o upload, é necessário descriptografar a senha:
E por fim, podemos copiar a senha para realizar o acesso via RDP:
Em seguida, vamos realizar o donwload do arquivo RDP para finalmente acessar o servidor:
Ao clicar no arquivo baixado, vamos realizar o donwload utilizando o usuário e a senha exibidos no painel de conexão:
E pronto. Estaremos logados na nossa instância AWS e prontos para começar a brincadeira com o SQL Server.
SQL Server e EC2 – Agora é só Finalizar
Agora, é só seguir para a parte que já é conhecida por nós DBA’s. Instalar e configurar o SQL Server na instância EC2.
Nesse caso, foi instalada a versão Express apenas para fins de teste e funcionou perfeitamente como podemos observar na imagem abaixo:
Conclusão
A plataforma AWS tem crescido exponencialmente nos últimos anos e sua utilização em conjunto com as mais diversas plataformas de banco de dados está cada vez mais comum e difundida no mundo inteiro. Sendo assim, os profissionais da área de dados precisam se preparar para entender e atuar em ambientes que utilizam tanto os serviços da AWS como de outras plataformas de cloud.
O intuito do post foi mostrar o básico relacionado a SQL Server e EC2, para que os profissionais e estudantes que ainda não tiveram contato a plataforma possam ter um ponto de partida para iniciar essa jornada.
É isso, galera! Em breve pretendo trazer mais posts relacionadoss a AWS e banco de dados.
Um forte abraço!!!
Excelente artigo meu amigo!!
Visão esclarecedora e prática sobre EC2, temos poucos materiais na internet que referenciam essa abordagem em PT-BR, você foi cirúrgico nas explicações e nos detalhes!!! Muito bom mesmo. Favoritado!