Publicando sua aplicação Node.js no Amazon LightSail (AWS) – Parte 3

No tutorial anterior de publicação de aplicação Node.js na AWS, eu lhe mostrei como instalar um certificado SSL, como configurar a sua aplicação no Apache para rotear os acessos ao seu domínio e a subir a sua aplicação Node.js via SFTP.

No tutorial de hoje, vamos ver como criar uma instância de MongoDB na AWS para que seus dados também estejam na nuvem pública #1 do mundo.

Atenção: este é um tutorial intermediário. Se você não sabe programar Node.js com MongoDB ainda, não comece com ele pois vai mais te atrapalhar do que te ajudar. Para iniciantes, eu recomendo meus livros e meu curso (inclusive no curso você encontra este conteúdo em vídeoaula). Infraestrutura/servidores para iniciantes eu recomendo a Umbler.

Arquitetura para MongoDB

Como meu foco nos últimos anos tem sido muito o desenvolvimento de aplicações usando Node.js e MongoDB, nada mais natural do que eu falar aqui de como fazer deploy do seu banco de dados também.

Já falei no passado sobre administração profissional de MongoDB na unha (aqui e aqui). É um jeito econômico de você ter as suas instâncias de MongoDB, mas é mais trabalhoso. Você pode criar uma instância no Lightsail com Linux e instalar o MongoDB ou mesmo instalar o MongoDB na mesma instância do Node.

A primeira abordagem é mais profissional, pois mantém isolados os recursos da sua solução, fazendo com que as configurações de um não impactem na do outro. Apenas certifique-se desta segunda instância ser criada na mesma zona da primeira, por questões de latência.

A segunda abordagem é a mais econômica possível, mas a menos profissional de todas.

No entanto, existe uma terceira abordagem que é a mais profissional possível, mas a mais cara: usar um DBaaS, um serviço de MongoDB em nuvem, como o Atlas.

MongoDB Atlas

O Atlas é o serviço de MongoDB em nuvem da própria empresa criadora do MongoDB, ou seja, é o melhor serviço de MongoDB existente (se você já usou o Mongolab/Mlab, saiba que foram adquiridos pelo Atlas).

Eles possuem templates/imagens de servidores para os principais players de cloud do mercado e com poucos cliques eles te montam um cluster próximo do seu servidor de Node, que é o que vou mostrar aqui neste tutorial.

Primeiro, acesse o site do MongoDB e dentro de Cloud, escolha a opção Atlas. Crie uma conta (não precisa nem mesmo informar cartão de crédito) e escolha um dentre os 3 planos existentes no Atlas:

  • Shared Cluster: parte de U$0/mês para um cluster de 3 instâncias em réplica com memória compartilhada e 512MB de espaço em disco, além de conexão criptografada e controle de acesso. Instâncias maiores custam a partir de U$9/mês.
  • Dedicated Cluster: parte de U$56,94/mês para um cluster de 3 instâncias dedicado e recursos avançados como auto escalonamento, rede dedicada e métricas em tempo real.
  • Dedicated Multi-Region Clusters: parte de U$98,55/mês para um cluster distribuído geograficamente.

Escolha a opção free, a da esquerda na imagem abaixo (desculpe meu rosto na imagem, tirei esse print durante a gravação de uma videoaula pro meu curso).

Planos do Atlas
Planos do Atlas

Em Cloud Provider & Region, escolha AWS em N. Virginia, pois é onde criamos nossa instância de Node.js nos tutoriais anteriores, lembra?

É importante que, apesar do Node e do Mongo ficarem em instâncias separadas, que eles fiquem na mesma região por questões de performance. Aguarde alguns minutos até a criação do seu cluster gratuito.

Criando o cluster
Criando o cluster

Logo abaixo, você tem mais configurações do cluster, sendo que a opção free é a M0 Sandbox, existindo opções pagas com 2GB e até 5GB de armazenamento. O legal desse plano inicial do Atlas é que ele é grátis pra sempre, ou seja, pode usar ele mesmo em produção, desde que não ultrapasse seus limites.

Configurando o cluster
Criando o cluster

Curso Node.js e MongoDB

Configurando o Cluster

Após o cluster ter sido criado, você terá acesso a um dashboard de monitoramento do mesmo, falarei dele mais tarde. Antes disso, acesse no menu da esquerda a opção Database Access e depois clique no grande botão verde de “Add New Database User”, como abaixo.

Database Access
Database Access

Isso irá abrir um formulário de criação de usuário, com alguns campos a serem configurados. Em Authentication Method, escolha Password, crie um username e um password para esse usuário. Em Database User privileges, temos 4 opções:

  • Atlas admin: administrador geral de todo o cluster, evite esta opção;
  • Read and write to any database: um usuário com permissão em todas bases deste cluster;
  • Only read any database: um usuário com permissão de leitura em todas as bases deste cluster;
  • Select custom role: personalizável;

Para simplificar neste momento, sugiro a opção “Read and write any database”, como mostrado na imagem abaixo. Mais tarde, dê um estudada nos privilégios existentes e crie um user para cada database, pois fica mais seguro assim.

New Database User
New Database User

O próximo passo é permitir que a nossa instância de Node.js na AWS possa acessar a instância de MongoDB. Por padrão, o cluster bloqueia qualquer tentativa de acesso externo a ele e para que seja possível a conexão entre nossas instâncias, devemos colocar nosso IP na whitelist do cluster.

Para fazer isso, acesse o menu Network Access na esquerda e clique em “Add IP Address”.

Network Access
Network Access

Digite o IP estático do seu servidor de Node.js na AWS e deixe um comentário que explique o que é esse IP (sugiro citar que é do servidor Node.js). De forma alguma recomendo usar a opção “Allow Access from Anywhere” pois ela abre o seu MongoDB para o mundo poder se conectar e isso não é legal.

Whitelist IP
Whitelist IP

Agora é hora de conectar no nosso cluster, para que nossa aplicação Node.js utilize de fato o nosso servidor de MongoDB.

Volte à tela inicial dos clusters e clique no botão Connect do seu cluster. Ele te dá algumas opções, queremos a Connect your application. As outras opções incluem informações de como se conectar via terminal de linha de comando e de como se conectar usando a aplicação MongoDB Compass, que nada mais é do que um client visual de MongoDB.

Selecione o driver e versão que estiver usando do Node.js e copie a sua connection string. Note que ela estará sem a senha, que você deve preencher manualmente por uma questão de segurança. Se estiver usando um arquivo .ENV para as configurações de acesso a dados na sua aplicação, você deve colocar essa connection string de produção no .ENV de dentro do seu servidor de Node.js.

Pronto, sua instância de MongoDB está pronta e acessível pela sua aplicação Node.js que está na AWS. Aliás, ps dois serviços são agora vizinhos na AWS!

Para saber como utilizar ela da melhor forma, sugiro ler a minha série de tutoriais de MongoDB para Iniciantes em NoSQL e/ou meu livro MongoDB para Iniciantes. Em ambos eu ensino como fazer import/export ou dump/restore da sua base local em um servidor remoto.

* Espero que este artigo tenha sido útil para você que está aprendendo Node.js e MongoDB. Para conteúdo mais aprofundado, recomendo meus livros. Para videoaulas, recomendo o meu curso online.

Publicando sua aplicação Node.js no Amazon LightSail (AWS) – Parte 2

No tutorial anterior de publicação de aplicação Node.js na AWS, eu lhe mostrei como criar o servidor corretamente, pegar a senha root, definir IP público e apontar seu domínio para seu servidor.

No tutorial de hoje, vamos ver uma série de outras coisas bacanas e importantes para o seu servidor.

Atenção: este é um tutorial intermediário. Se você não sabe programar Node.js ainda, não comece com ele pois vai mais te atrapalhar do que te ajudar. Para iniciantes, eu recomendo meus livros e meu curso (inclusive no curso você encontra este conteúdo em vídeoaula). Infraestrutura/servidores para iniciantes eu recomendo a Umbler.

Vamos ver nesta parte 2 do tutorial:

Vamos lá!

Configurando HTTPS/SSL no servidor

No passado, ter um certificado SSL era algo extremamente caro e seu site rodar em HTTPS era sinal de status de segurança. Hoje não mais. Hoje se considera HTTP/SSL o mínimo necessário de preocupação com os dados trafegados dos seus clientes e usuários, é uma obrigação e mesmo blogs e outros sites simples têm usado de certificadoras baratas ou até mesmo gratuitas, como a Lets Encrypt que vou mostrar hoje.

A Let’s Encrypt é uma organização sem fins lucrativos fundada por uma consórcio de empresas de Internet gigantescas que querem tornar a web mais segura. Principalmente porque o negócio deles depende disso, hehehe.

Uma vez que você esteja usando um template de servidor da Bitnami, eles já deixam um script de configuração de certificado SSL/TLS da Let’s Encrypt na sua máquina. Para rodá-lo, primeiro você deve se conectar ao servidor via SSH, seja pelo terminal web disponível no seu painel de controle do Amazon Lightsail ou por algum cliente qualquer, como Putty.

Conexão SSH
Conexão SSH

Uma vez conectado no servidor, rode o comando abaixo para iniciar o script de criação e configuração do certificado:

Esse comando iniciará um tutorial via linha de comando bem simples e passo-a-passo. O tutorial vai lhe perguntar o domínio que deseja adicionar HTTPS, pergunta se quer redirecionar automaticamente todo tráfego HTTP para HTTPS e pede um email para que você receba notificações acerca do seu certificado.

Quando você confirmar com os termos de uso, o script irá fazer as alterações necessárias, dentre elas configurar um CRON job para atualizar o certificado automaticamente a cada 3 meses, lhe avisando por email dessas atualizações. Ao terminar as alterações, o servidor é reiniciado automaticamente e o certificado passa a valer.

Certificado SSL
Certificado SSL

Configurando sua aplicação no Apache

Agora, o próximo passo é configurar o Apache para hospedar a sua aplicação Node.js. Neste tutorial, vou mostrar como hospedar uma aplicação no servidor, mas o template da Bitnami permite que você coloque várias aplicações diferentes, mas isso requer configurações mais avançadas que não abordarei aqui.

Primeiro, você precisará estar conectado via SSH no seu servidor. Uma vez conectado, rode os comandos abaixo para criar a estrutura de pastas de um novo site Apache, considerando que deve trocar app.luiztools.com.br pelo nome da sua aplicação.

Agora, crie e edite um arquivo httpd-prefix.conf dentro da pasta conf do seu site, incluindo a linha abaixo. Por exemplo, vou criar com o nano, um editor de texto via terminal bem simples (use o que preferir para criar este arquivo):

E adicionarei a linha abaixo dentro do arquivo:

Se estiver usando o nano, Ctrl+X para fechar o arquivo, confirme o salvamento com Y e depois mantenha o nome do arquivo com Enter.

Agora, crie e edite um arquivo httpd-app.conf dentro da pasta conf também. Usarei o nano novamente:

E incluirei dentro somente estas linhas:

Note que estou configurando aí o Apache como um Proxy Reverso, ou seja, para toda requisição que chegar da Internet, eu vou mandar para localhost:3000 (127.0.0.1 é o mesmo que localhost), que é a porta padrão do Express, mas que talvez você queira mudar. Configure conforme a sua necessidade.

Novamente, se estiver usando o editor de texto via terminal nano, Ctrl+X para fechar o arquivo, confirme o salvamento com Y e depois mantenha o nome do arquivo com Enter.

Uma vez que tenha criado a estrutura acima, adicione uma linha no arquivo de configuração principal do Apache. Usarei o nano novamente para abrir o arquivo e podermos editá-lo:

A linha abaixo deve ser adicionada ao final do referido arquivo bitnami-apps-prefix.conf:

Feche o arquivo (Ctrl+X) e agora reinicie o Apache para que suas alterações tenham efeito:

Pronto, agora você deve colocar os seus arquivos na pasta /opt/bitnami/apps/app.luiztools.com.br/htdocs, vou mostrar como pode fazê-lo na sequência. Por enquanto, se acessar seu site no navegador, notará que ele está fora do ar por enquanto.

Publicando sua aplicação via SFTP

Talvez o jeito mais fácil de se publicar sua aplicação Node.js no servidor seja através de FTP, ou melhor, SFTP, que é o FTP sobre SSH, que é mais seguro. Para fazê-lo é muito simples: basta configurar seu cliente de SFTP favorito e eu recomendo o Filezilla.

Uma vez com o Filezilla instalado, crie um novo site, dando um nome à ele e siga as configurações abaixo:

  • em protocolo, escolha SFTP;
  • em host, coloque o IP ou hostname do seu servidor (o meu eu configurei o DNS no tutorial passado para app.luiztools.com.br, lembra?);
  • em Tipo de Login, selecione “Arquivo chave”;
  • em Usuário, se você não mudou, é bitnami;
  • em “Arquivo com chave”, selecione o certificado PEM que você baixou durante a criação da sua máquina. Caso não tenha feito da primeira vez, pode baixar de novo na área de configurações da sua conta;

Agora basta clicar em conectar e você verá a estrutura de diretórios do seu servidor, assim como faz quando se conecta via SSH.

SFTP
SFTP

Logo na raiz você deve encontrar a pasta do Apache (webserver) e um atalho para a pasta htdocs, onde está o site que você visualiza quando acessa o IP ou domínio no navegador. Altere o texto da index e você verá as alterações na página raiz.

Este NÃO é o seu site. Não adianta subir sua aplicação aqui.

Navegue pela estrutura de pastas até chegar onde deve ficar a sua aplicação. Se você seguiu as minhas instruções à risca, você vai ter de navegar alguns diretórios acima da raiz onde o Filezilla vai te deixar depois de conectado. A minha aplicação está configurada para /opt/bitnami/apps/app.luiztools.com.br/htdocs. Você pode digitar o caminho diretamente no Filezilla, na barra de endereço acima da estrutura de pastas do servidor.

Suba seus arquivos para esta pasta, sem a node_modules e sem os arquivos ENV se estiver usando dotenv. O arquivo ENV deve ser criado diretamente no servidor, mais tarde, com as configurações de produção.

Atenção: se você não estiver conseguindo subir via SFTP por falta de permissão (permission denied ou algo assim), conecte-se no servidor via SSH e rode o comando abaixo (altere o caminho da pasta conforme a sua), para dar permissão ao usuário bitnami:

Na sequência, vamos ver como executar esta aplicação de fato.

Executando sua aplicação Node.js no servidor

Volte ao SSH. Sim se você não gostava dele antes, agora ele será seu melhor amigo, hehehe.

Acesse a pasta da sua aplicação, a minha eu acesso com o comando abaixo. Tomei a liberdade de incluir o comando para instalar as dependências da sua aplicação (lembra que eu disse para você não subir a node_modules?) e o comando para iniciá-la, do jeito mais básico possível:

Agora, se tudo deu certo, você pode acessar novamente a sua aplicação no navegador, quer pelo IP, quer pelo nome, como mostra a minha aplicação funcionando abaixo (sim, eu subi a aplicação padrão do Express-Generator).

Node funcionando
Node funcionando

Note que subir sua aplicação com “npm start” não é muito recomendado pois, se ela cair, ficará fora até que você note e entre no servidor novamente para reiniciá-la. Sendo assim, o ideal é usar algum gerenciador de processo, como forever ou PM2, sendo que recomendo e ensino a usar este último neste tutorial e no vídeo abaixo.

Criando um snapshot como backup do servidor

Se você não deixou configurado para serem feitos snapshots diários do seu servidor, você terá de fazê-lo tão logo termine de configurar e subir a sua aplicação para o servidor. Afinal, imagine ter de fazer todos os passos que já fizemos até aqui de novo caso dê algum problema com a sua máquina?

Para Fazê-lo é muito simples, basta ir na área de administração (Manage) da sua instância e acessar a aba Snapshots.

Snapshots
Snapshots

Ali você pode tanto configurar os snapshots automáticos quanto criar um manualmente. Saliento que snapshots ocupam espaço em disco e consequentemente são cobrados pela Amazon, embora não sejam caros.

Na parte 3, que você pode ler aqui, falarei de como subir a sua base MongoDB para a AWS também!

Espero que tenha gostado do tutorial!

Curtiu o post? Então clica no banner abaixo e dá uma conferida no meu curso sobre programação com Node.js!

Curso Node.js e MongoDB

Publicando sua aplicação Node.js no Amazon LightSail (AWS)

Tem algum tempo que meus alunos me pedem um tutorial de como publicar suas aplicações Node.js. Embora eu já tenha mostrado no passado em texto e vídeo como publicar na Umbler, todo mundo sabe que recomendo a Amazon (AWS) quando o assunto são aplicações maiores e/ou mais complexas.

São muitas as razões, e não é nada pessoal com os outros provedores. Inclusive já trabalhei em dois e usei alguns outros.

A questão é que uso AWS desde 2013. Tenho aplicações que subi lá nessa época e desde então, 100% de uptime.

Sim, estamos em 2020 e tenho aplicações que nos últimos 7 ANOS INTEIROS nunca saíram do ar sequer um segundo. Isso não tem preço.

Além disso, já usei muitos recursos específicos deles em diversas aplicações além do tradicional EC2 (o servidor virtualizado clássico), como S3 para armazenamento de arquivos e conteúdo estático (imagens, CSS, etc), CloudFront para CDN (aumentar a velocidade de entrega dos arquivos estáticos), Route 53 para DNS, RDS para bancos de dados (já com espelhamento, backup, etc), SES para envio de emails e muito mais.

E considerando que Node.js roda em Linux e consome pouquíssimos recursos, mesmo a AWS sendo um player caro se comparado a provedores menores, têm seu custo minimizado ao se trabalhar com esta plataforma, principalmente optando pelos datacenters nos EUA, que são os mais baratos (esqueça o datacenter em SP, ele já ficou fora do ar algumas vezes).

Sendo assim, no tutorial de hoje ensinarei de maneira simples e prática, como publicar sua aplicação Node.js na Amazon.

Vamos ver neste tutorial:

Atenção: este é um tutorial intermediário. Se você não sabe programar Node.js ainda, não comece com ele pois vai mais te atrapalhar do que te ajudar. Para iniciantes, eu recomendo meus livros e meu curso (inclusive no curso você encontra este conteúdo em videoaula). Infraestrutura/servidores para quem está começando agora com desenvolvimento web eu recomendo a Umbler.

Preparativos

Parto do pressuposto que você já tem uma conta na Amazon AWS. Ela exige que você vincule um cartão de crédito internacional, mas apesar disso, fornece um ano gratuito das versões mais básicas dos seus principais serviços e mesmo que já esteja fora desse período, o Amazon Lightsail, serviço que vamos usar, oferece um mês de graça. Ou seja, para fazer este tutorial, você tem de colocar seu cartão na Amazon mas não precisa pagar nada!

Para quem estiver trabalhando no Windows, você provavelmente precisará de um cliente SSH (como Putty) para fazer este tutorial. Se você trabalha com Linux ou Mac, provavelmente o seu terminal já fornece suporte a SSH.

Mesmo que você não tenha um cliente SSH, o Lightsail ainda te fornece um terminal web, limitado, mas funcional, para fazer os scripts necessários nesta série de tutoriais. Vou mostrar como acessá-lo mais a frente.

Criando o servidor

O primeiro passo é você criar o seu servidor virtual na Amazon AWS. Para isso, minha recomendação é usar o serviço Amazon Lightsail que torna muito mais simples esta tarefa através de dezenas de templates prontos.

Com a sua conta na Amazon criada e autenticado, acesse o painel do Amazon Lightsail.

Amazon Lightsail
Amazon Lightsail

Em Instance location, eu deixarei como “Virginia, Zone A”, nos EUA. É um excelente datacenter e a única razão para que eu lhe recomende algum outro é se seus outros serviços em nuvem que a sua aplicação Node.js vai se conectar estejam em outra região do país (MongoDB por exemplo). Falarei mais sobre isso no futuro e, se for seu primeiro contato com AWS, use Virginia sem pensar duas vezes.

Escolha a plataforma Linux/Unix, como na imagem.

Selecione o blueprint (template) Node.js, na categoria “App + OS”.

Este template de Node.js é fornecido pela empresa Bitnami. Já usei outros templates deles e todos funcionam perfeitamente. Esse template inclui a mais recente versão do Node.js, Apache, Python e Redis. A imagem suporta múltiplas aplicações Node.js, cada uma com seu virtual host e diretório de projeto. Ela é configurada para uso em produção e é segura, uma vez que todas portas exceto HTTP, HTTPS e SSH estão fechadas. Certificados SSL da Let’s Encrypt são suportados através de script de auto-configuração (veremos isso mais pra frente também).

Atenção: a Bitnami oferece também  um template de MEAN (Mongo + Express + Angular + Node) que, caso queira economizar com a parte do banco de dados, pode te atender também. Neste tutorial, vamos tratar a aplicação Node.js separada do banco de dados, e mais pra frente vamos usar outro serviço para o mesmo, que é a recomendação mais profissional.

Opcionalmente você pode deixar um script em shell que executará quando a máquina for iniciada e logo abaixo você pode criar chaves SSH próprias ou usar uma gerada pela AWS para você.

SSH
SSH

Na imagem acima você deve notar também que pode habilitar a opção de snapshots automáticos, para que seja feito backups do seu disco inteiro do servidor diariamente. Obviamente isso ocupa espaço e portanto irá lhe gerar custos, mas vale a pena caso tenha que fazer alguma restauração posterior. Falarei disso mais tarde também.

Na sequência, você vai escolher o tamanho da sua instância e descobrirá quanto irá pagar por ela. Na época que escrevo este artigo, os preços iniciam em U$3.50/mês por uma máquina com 1 CPU, 512MB RAM, 20GB SSD e até 1TB de tráfego no mês. É mais do que suficiente para um servidor Linux pelado só rodando um Node.js com uma aplicação pequena.

Caso futuramente você precise de mais recursos, é possível mudar de plano para um upgrade geral e, em alguns casos, aumentar apenas um ou outro recurso (como disco, que pode ser expandido).

A título de curiosidade, o servidor mais caro disponível no Lightsail hoje (2020) é um com 8 CPUs, 32GB RAM, 640GB SSD e 7TB de transferência mensal por U$160/mês.

Os últimos passos são de identificação da sua máquina: o nome dela e as suas tags, sendo estas últimas opcionais. A minha instância vai ficar com o nome sugerido Node-js-1.

Clique em “Create instance”.

Em poucos minutos seu servidor estará pronto e executando com sucesso!

Running
Running

Configurando o servidor

Você vai precisar da senha de administração gerada para o seu servidor em algum momento. Eu prefiro usar o certificado PEM que baixamos anteriormente, mas é importante você ter a senha consigo.

No card da sua instância, clique nos “3 pontinhos” à direita e escolha a opção Manage. Isso irá abrir a área de administração do seu servidor.

Manage instance
Manage instance

Clique no botão laranja enorme escrito “Connect using SSH”, o que vai abrir um terminal web conectado na sua instância, como abaixo. Se preferir, conecte-se ao IP do servidor carregando o certificado PEM em um cliente SSH desktop.

Conexão SSH
Conexão SSH

Use o comando abaixo para extrair a sua senha administrativa:

A resposta a esse comando será a senha administrativa. Guarde-a consigo.

O próximo passo é fixar um IP público estático. Por padrão a AWS associa um IP aleatório na sua máquina, que troca cada vez que você reinicia a mesma. Obviamente isso não é legal em ambiente produtivo, então vamos deixar um fixo na sua máquina.

Na mesma área de administração da instância, acesse a aba Networking.

Networking
Networking

Aqui você pode criar um IP estático (Create static IP) e futuramente, mexer nas regras de firewall, que hoje são apenas 3 portas liberadas (o resto está bloqueado por padrão). A Amazon não cobra até 5 IPs estáticos por máquina, mas só vamos precisar de um mesmo.

As configurações do IP são bem simples, apenas selecione a instância e dê um nome ao mesmo (todos os recursos da Amazon permite que você dê nomes a eles, para gestão ficar mais fácil depois).

Anote o seu IP estático e aproveite para testar a aplicação de boas vindas que já está funcionando, digitando o IP diretamente na barra de endereços do navegador. Essa é apenas uma página HTML estática do Apache, não se empolgue muito, ainda não é Node.js, hehehe.

Olá mundo
Olá mundo

Configurando o domínio da aplicação

Se você tiver um domínio de Internet (qualquer extensão: .com, .com.br, etc) e quiser apontar para este servidor é muito simples de fazê-lo também.

Se você já tiver uma zona de DNS em algum outro provedor, pode criar um registro A com um subdomínio apontando para o IP deste servidor nesta zona já existente. app.luiztools.com.br ou algo assim, que pode apontar para um servidor completamente diferente do site luiztools.com.br.

É o meu caso.

Mas se acabou de comprar um domínio e/ou não possui zona de DNS ainda, volte à home do Lightsail (onde aparecem os cards de todas suas instâncias) e selecione a aba Networking. Aqui você administra as suas zonas de DNS e seus IPs estáticos.

DNS e IP
DNS e IP

Clique no botão “Create DNS zone”. Na tela seguinte, digite o domínio que você registrou e mande criar a zona.

A Amazon vai te fornecer quatro endereços de name servers (popularmente chamados de NS). Esses endereços devem ser colocados na empresa onde registrou o seu domínio (Registro.br, por exemplo).

E nesta zona, você deve adicionar o registro do tipo “A” (de Address), com o subdomain “@” e apontando para o seu IP do servidor (a Amazon lista os seus IPs para que não precise digitar o IP).

Registro de DNS
Registro de DNS

Com isso, em poucos segundos, o seu domínio já estará apontando para o servidor e poderá acessá-lo pelo nome no navegador. Repare no endereço do navegador na imagem abaixo (criei um subdomínio).

Domínio funcionando
Domínio funcionando

Seu servidor já está minimamente funcionando e possui Node.js instalado, mas por padrão o Apache está exibindo esse site de teste. Na parte dois deste tutorial vou seguir configurando o mesmo e vou lhe ensinar como publicar sua aplicação Node.js.

Clique aqui para acessar a parte 2!

Espero que tenha gostado do tutorial!

Curtiu o post? Então clica no banner abaixo e dá uma conferida no meu curso sobre programação com Node.js!

Curso Node.js e MongoDB