Criando um Servidor no Amazon EC2

Se você está aqui, provavelmente deseja instanciar um servidor na Amazon. É isso o que veremos no decorrer do artigo.

A Amazon oferece Infraestrutura como um serviço – IaaS, através da sua plataforma de Computação em nuvem chamada Amazon Web Services. Também conhecida como AWS.

Então você precisa ter uma conta na AWS, para que possa utilizar os serviços dessa plataforma.

Uma faixa dos serviços da plataforma é oferecida gratuitamente por 12 meses. Obviamente, os serviços que consomem poucos recursos. Para criar o nosso servidor, iremos utilizar somente recursos que estão nessa faixa gratuita.

Mesmo assim, a Amazom exige que você informe um cartão de crédito no momento de criar a sua conta, porque se você utilizar um seviço que está fora da faixa gratuita, vai haver cobrança.

O que é cobrado e de que forma, está descrito na documentação da AWS, geralmente em pricing. O importante é se informar bem antes de utilizar qualquer serviço, para não haver surpresinhas desagradáveis ao consultar a fatura do seu cartão.

Passada essa explicação inicial, vamos ao que o artigo se propõe: iniciar um servidor virtual na nuvem com o EC2 da AWS.

Podemos localizar a plataforma, fazendo uma busca por aws no Google.

Resultado de pesquisa por AWS no Google.

Na página inicial da plataforma, você encontra os botões para criação da conta ou login. Eu já tenho uma conta, então vou passar o mouse sobre o link Minha conta e clicar em Console de Gerenciamento da AWS. Também posso clicar diretamente em Faça login no console.

Página inicial do Console da AWS.

Após o login, devemos ser redirecionados para a área com os serviços da AWS no Console de Gerenciamento.

Elastic Compute Cloud – EC2

O serviço da AWS que iremos utilizar para criar nosso servidor é o EC2, que são Servidores Virtuais na Nuvem. O EC2 está na categoria de Infraestrutura como um serviço e, a grosso modo, é aluguel de poder computacional elástico, justamente dando a possibilidade de controlarmos a potência (power) de acordo com a necessidade. Ele é a primeira opção na seção Computação e também pode ser localizado através da consulta.

Home, serviços e Zonas de Disponibilidade AWS.

Clique sobre o nome do serviço para ser levado até sua página inicial.

Página inicial do Amazon Elastic Compute Cloud – EC2.

Simular Utilização de Recursos

Quando fazemos a configuração de um servidor, é razoável considerar que ele fique rodando a longo prazo. Temos, no canto superior direito do console, as diversas regiões onde a Amazon possui seus Datacenters.

Se o interesse for manter este servidor rodando para além do período gratuito de 12 meses que a Amazon oferece, precisamos prestar atenção na região que formos escolher, porque o custo por hora desse servidor rodando, após o período gratuito, pode variar um pouco, dependendo da região que escolhermos colocar esse servidor.

Dentre as regiões, a mais barata é a do Norte da Virgínia, por isso, ela já vem selecionada por padrão. Mas podemos acessar a documentação da Amazon clicando em Pricing localizado na seção Additional Information e, na página para onde fomos levados, na parte em que explica sobre instâncias sob demanda, clicar em Consulte a definição de preço de instâncias sob demanda. Nessa página da documentação, podemos fazer uma simulação escolhendo os recursos que pretendemos utilizar, e a Amazon nos retorna o custo que vamos ter para as configurações selecionadas após o período gratuito.

Seção Informações Adicionais do EC2.Documentação de Instâncias Sob demanda do EC2.

Vou analisar o custo para uma instância t2micro, porque ela é elegível para o período gratuito e geralmente atende às necessidades de um projeto que está iniciando e ainda não precisa de muito poder computacional. Um exemplo disso, pode ser um site, blog pessoal ou negócio local, que possui pouco ou médio tráfego.

O sistema operacional que essa instância t2micro vai comportar, será uma distribuição Linux. E essa máquina vai estar hospedada na região Norte da Virgínia nos Estados Unidos. O motivo, eu te explico na sequência.

O custo por hora, depois do período gratuito, de colocarmos o servidor no Norte da Virgínia é de $0.0116 Dólares. Fazendo isso vezes 720, que é a quantidade aproximada de horas que tem um mês, resulta em 8.35 dólares/mês. Multiplicando esse valor pela cotação do Dólar hoje (4.1), teremos um custo de 34.24 Reais para um mês.

Eu criei este conteúdo no momento em que estava configurando a infraestrutura na AWS para colocar o site no qual você está lendo esse artigo agora. Considerando que a maior parte dos usuários que iriam acessá-lo, pelo menos por enquanto, seria aqui do Brasil, cogitei também colocar esse servidor aqui em São Paulo.

Então, em uma nova simulação, trocando apenas a localização para São Paulo, cheguei em um custo de R$54.91 Reais/mês.

Dessa forma, como pretendo manter esse servidor para além do período gratuito, é mais interessante hospedar este site em um servidor configurado e rodando no Norte da Virgínia. Depois de escolhida a região, clicamos no botão Launch Instance para subir essa instância.

Escolhendo a Imagem da Instância do Servidor

Definida a região, a primeira etapa é escolher a imagem do sistema operacional que pretendemos utilizar para essa instância do servidor.

Existem várias aqui, algumas são gratuitas, outras não. Eu vou escolher a do Ubuntu Server que é da comunidade e não precisaremos pagar para utilizar no periodo gratuito.

Escolha de Imagem para a Instância do EC2.

Tipo da Instância

Já vem selecionada por padrão a máquina t2micro que comentamos anteriormente. Por ser elegível para o período gratuito, vamos mantê-la.

Escolhendo o tipo da instância do EC2.

Detalhes da Instância

Na terceira etapa, precisamos especificar quantos servidores queremos subir nessa região do Norte da Virgínia. Vamos precisar de um servidor somente, então manteremos o número 1 em Number of Instances.

Em cada região, a Amazon possui diversos Data Centers. Então, em Subnet, especificamos em qual dessas localidades queremos hospedar nosso servidor na região selecionada. Podemos escolher qualquer uma dessas zonas de disponibilidade que não faz muita diferença. Mas precisamos escolher uma para que a Amazon nos entregue um endereço IP.

Escolher detalhes da instância do EC2, como quantidade e Data Center.

Habilitar entrega de IP público

Este servidor vai hospedar o nosso site, e desejamos que todos os usuários da internet possam acessá-lo. Então precisamos tornar o acesso de leitura a ele público. Para isso, precisamos pedir à Amazon que entregue um endereço de IP público. Fazemos isso, selecionando Enable em Auto-assig Public-IP.

Habilitar entrega de endereço de IP público em instância EC2.

Uma vez feita essas configurações, podemos clicar novamente em Next.

Anexando Volume à Instância

Nessa fase, temos a opção do volume que vai ser anexado a essa máquina t2micro. Se quisermos um volume com maior capacidade, podemos mudar esse valor também. Mas 8GB atende com sobra a nossa necessidade aqui.

Anexando Volume à instância do EC2.

Adicionar Tags à Instância

Na etapa 5, temos a opção de adicionar Tags para identificar os servidores, útil se começarmos a ter mais deles. Por enquanto vamos ter somente um servidor, então não vamos utilizar esse recurso no momento.

Marcando instância EC2 com Tag.

Regras de Segurança

A etapa 6 é bem importante. Todas essas máquinas que configuramos na Amazon precisam ter algum critério de segurança. A Amazon implementa isso através dos chamados Security Groups ou Grupos de Segurança. Então vamos marcar a flag Create new security group e dar um nome para esse nosso grupo. Vou colocar aqui SG-EC2 (Security Group do EC2).

Abertura de Portas no Servidor

Repare abaixo que a Amazon já libera por padrão a porta 22, que é utilizada pelo protocolo de comunicação SSH. Assim podemos posteriormente acessar o servidor através dessa porta para fazer as configurações e enviar os arquivos do nosso site. Veja em Source (fonte) o valor 0.0.0.0/0 que permite o acesso a qualquer IP. Mas é claro que você acessa se tiver o par de chaves do Grupo de Segurança que definiremos nos próximos passos.

Habilitando Grupo de Segurança para instância EC2.

Para que o público possa ter acesso de leitura ao conteúdo do nosso site, precisamos abrir a porta 80, onde acontece a comunicação via protocolo HTTP.

Para isso, vamos clicar em Add Rule, selecionar o protocolo HTTP, deixar os valores de Porta e Fonte padrão e clicar em Review and Launch.

Abrir porta 80, por onde acontece a comunicação via protocolo http.

Revisando as Configurações

Nesta etapa, recebemos uma tela mostrando as configurações que escolhemos, e assim podemos dar uma última revisada. Estamos utilizando aqui a imagem do Ubuntu Server, habilitamos o Grupo de Segurança, liberamos a porta 22 para podermos acessar remotamente esse servidor via SSH com o objetivo de depois fazermos as configurações e enviarmos nossos arquivos do site para ele e estamos liberando a porta 80 que é utilizada pelo protocolo HTTP para que as pessoas possam acessar nosso site que vai estar nesse servidor. Aparentemente está tudo ok, então vou clicar no botão Launch para finalmente startar a nossa instância do servidor.

Chave para Acesso ao Servidor

Antes de subir esse servidor, a Amazon sabe que vamos precisar posteriormente de uma chave de identificação que nos credencia a acessar o servidor via SSH, possibilitando gerenciá-lo na sequência.

Eu não tenho ainda nenhum Par de Chaves, então vou escolher Create a new Key pair e nomear o par como sendo chave-servidor-dev-content. Faço o Download, e é importante não perder essa chave, porque vamos precisar dela toda vez que quisermos acessar o servidor via SSH.

Criando Par de Chaves para Grupo de Segurança da instância EC2.

Subindo a Instância do Servidor

Agora sim está tudo ok, então clicamos em Launch Instance para de fato iniciar essa instância do servidor.

Nesse momento, de fato, a instância está sendo inicializada.

Status de Inicializando em instância EC2.

Clicando em View Instances, vemos nossa instância já rodando.

Instância EC2 rodando.
Ir para o topo