Guia de conceitos

Redes em nuvem

Quando você sobe um servidor na nuvem, ele fica dentro de uma rede virtual que a nuvem monta para você. Escolher os endereços dessa rede, traçar os caminhos, vigiar as portas, distribuir o tráfego entre os servidores e ligar tudo a outras redes — no fundo, rede em nuvem é só isso. Cada provedor de nuvem usa nomes e detalhes diferentes, mas o esqueleto é o mesmo. Primeiro vamos ver o esqueleto e, depois, capítulo por capítulo, o que muda em cada provedor.

Você está vendo o guia para NAVER Cloud. Cada capítulo também mostra os nomes de serviço de NAVER Cloud e no que ele difere dos outros provedores.

01

Sua própria rede na nuvem: redes virtuais e intervalos de IP

Um data center de nuvem roda, lado a lado, os servidores de um número enorme de clientes. Mesmo assim, os seus servidores devem conversar só entre si e ficar separados dos servidores dos outros. Por isso a nuvem dá a cada cliente uma rede isolada logicamente, chamada rede virtual. Os cabos e switches físicos são compartilhados, mas os endereços, as rotas e as regras são só seus.

A primeira coisa que você decide ao criar uma rede virtual é a faixa de endereços IP que ela vai usar (o intervalo de endereços). Normalmente você escolhe dentro dos intervalos privados, que são reservados para nunca serem usados na internet pública. Qualquer empresa ou casa pode reutilizar esses endereços privados — e é justamente por isso que eles não conseguem sair sozinhos para a internet (o capítulo 3 mostra como eles saem).

Intervalo privado (RFC 1918)Quantidade de endereçosUso comum
10.0.0.0/8Cerca de 16,77 milhõesRedes virtuais na nuvem, redes corporativas grandes
172.16.0.0/12Cerca de 1,05 milhãoRedes corporativas, rede padrão de contêineres
192.168.0.0/1665.536Roteadores domésticos, escritórios pequenos

CIDR: como ler o número depois da barra

Um endereço IPv4 tem 32 bits. 10.0.0.0/16 quer dizer “os primeiros 16 bits (10.0) são fixos, e esta rede pode usar os 16 bits restantes”. Isso dá 2^16 = 65.536 endereços. Quanto maior o número depois da /, mais bits ficam fixos e menor fica o intervalo. Essa notação se chama CIDR, e o intervalo que ela descreve é um bloco CIDR. Experimente mudar o tamanho da sub-rede na cena abaixo.

Tamanho da sub-rede
/24 · 256 endereços
Quantas cabem
256
Utilizáveis pelos servidores
249 (7 reservados)

Dividir o intervalo 10.0.0.0/16 (o terreno) em sub-redes iguais (os lotes) · lote verde-limão = primeira sub-rede

/24 quer dizer que os primeiros 24 bits são a rede e os outros 8 bits ficam para os endereços. Uma sub-rede tem 2^8 = 256 endereços. Cada sub-rede reserva 7, então sobram 249 endereços para os servidores. Cada vez que o número depois da / sobe 1, os lotes ficam com a metade do tamanho e passam a ser o dobro.

PrefixoQuantidade de endereçosQuantos cabem em um /16
/1665.5361
/204.09616
/24256256
/28164.096

Depois você divide o intervalo da rede virtual em sub-redes. Uma sub-rede é uma área onde você agrupa servidores com o mesmo papel — por exemplo, uma camada web voltada para a internet e uma camada de banco de dados que você mantém escondida. Cada sub-rede pode ter as próprias rotas (capítulo 2) e regras de firewall (capítulo 4).

Não dá para usar todos os endereços de uma sub-rede

Em toda sub-rede, a nuvem reserva alguns endereços para ela mesma: o primeiro endereço (o endereço de rede), o gateway que leva para fora da sub-rede, o DNS e assim por diante. Quantos ela reserva depende do provedor de nuvem. Então, mesmo em uma sub-rede /24, sobram para os seus servidores um pouco menos de 256 endereços.

Um cálculo clássico de prova: “Quantos servidores cabem nesta sub-rede?” é 2^(32 − prefixo) − endereços reservados. A quantidade de endereços reservados muda de provedor para provedor, então use a do provedor da questão.

Comece grande e não se sobreponha

Intervalos de endereços são difíceis de mudar depois de criados. Pense nos servidores e serviços que vão chegar mais adiante, escolha um intervalo folgado e confira se ele não se sobrepõe à sua rede corporativa nem às suas outras redes virtuais. Esta é a parte que costuma confundir: se a rede do escritório usa 192.168.0.0/16 e a rede na nuvem usa o mesmo intervalo, quando você tentar conectar as duas mais tarde, nada vai saber de qual lado é o 192.168.1.10 — e a conexão simplesmente não funciona (capítulo 7).

Se a questão disser… → escolha isto

  • “Quantas sub-redes /24 cabem em uma rede 10.0.0.0/16”256
  • “Endereços utilizáveis por servidores em uma sub-rede /28”16 menos os endereços reservados daquele provedor
  • “Você planeja conectar a rede corporativa mais tarde”Projete um intervalo que não se sobreponha a ela
  • “Intervalos de endereços que não são usados na internet”Intervalos privados (10/8, 172.16/12, 192.168/16)
  • “Você quer regras de acesso diferentes para cada sub-rede”Divida as sub-redes por papel (camada)

Você já dividiu o seu intervalo em sub-redes. Mas, quando um servidor de uma sub-rede envia um pacote, como esse pacote sabe para onde ir?

02

Sub-redes e roteamento: o que torna uma sub-rede pública ou privada

Quando um servidor envia um pacote, quem decide para onde ele vai é a tabela de rotas associada à sub-rede dele. Uma tabela de rotas é uma lista de linhas que dizem “pacotes que vão para este intervalo saem por aquela porta”. Toda rede virtual já começa com uma rota padrão que diz “endereços de dentro da rede são entregues dentro da rede”, então as sub-redes conversam entre si sem nenhuma configuração extra.

Destino           Próximo salto (para onde enviar)
10.0.0.0/16       Dentro da rede (local)
172.16.0.0/12     Conexão VPN → rede corporativa
0.0.0.0/0         Gateway da internet

A tabela de rotas procura a linha que corresponde ao endereço de destino do pacote e o envia para o próximo salto dessa linha. Digamos que um servidor web envie um pacote para um servidor de banco de dados na mesma rede (10.0.2.15). 10.0.2.15 está dentro de 10.0.0.0/16, então corresponde à primeira linha. Só que 0.0.0.0/0 quer dizer “qualquer endereço”, então ele corresponde também à última.

Quando várias linhas correspondem, vence a mais específica — a que tem o maior número depois da /. Isso se chama correspondência de prefixo mais longo (longest prefix match). Um /16 é mais específico que um /0, então esse pacote é entregue dentro da rede. Já um site na internet (203.0.113.10) não corresponde às duas primeiras linhas. Ele só corresponde a 0.0.0.0/0, então vai para o gateway da internet. É por isso que 0.0.0.0/0 se chama rota padrão: é para lá que vai qualquer endereço que não corresponde a mais nada. Experimente mudar o destino e o tipo de sub-rede na cena abaixo.

Destino
Servidor de origem
Origem
Servidor em uma Public Subnet
Destino
Site na internet (203.0.113.10)
Resultado
IGW

Um pacote do servidor escolhe o caminho na placa de sinalização (Route Table) · linha verde-limão = rota vencedora, texto azul = correspondeu, mas perdeu

Só 0.0.0.0/0 corresponde a 203.0.113.10, então o pacote sai pelo próximo salto dessa rota (IGW). No caminho, o endereço de origem aparece como o IP público 198.51.100.20, e não como o IP privado 10.0.1.20 do servidor — IPs privados não podem ser usados na internet.

Sub-redes públicas e sub-redes privadas

Uma sub-rede com rota para a internet (0.0.0.0/0 → internet) é chamada de sub-rede pública, e uma sem essa rota é uma sub-rede privada. Esta é a parte que costuma confundir: quem decide é a rota, e não o nome que você deu à sub-rede. E, mesmo em uma sub-rede pública, um servidor precisa de um IP público para falar diretamente com a internet. Um servidor só com IP privado não pode ser alcançado pela internet, mesmo estando em uma sub-rede pública.

Um serviço web típico fica organizado assim.

CamadaOnde ficaPor quê
Balanceador de cargaSub-rede públicaPrecisa receber as requisições da internet
Servidores web / de appSub-rede privadaSó recebem requisições pelo balanceador de carga
Banco de dadosSub-rede privadaNinguém além dos servidores de app tem motivo para chegar até ele
A resposta para “Esta sub-rede é pública?” está na tabela de rotas, não no nome da sub-rede. Quando uma questão diz que um servidor não consegue chegar à internet, desconfie da rota, do IP público e do firewall (capítulo 4), nessa ordem.

Se a questão disser… → escolha isto

  • “Impedir que os servidores de uma sub-rede sejam acessados direto pela internet”Sub-rede privada (sem rota para a internet)
  • “Duas rotas correspondem ao mesmo destino”Vence a rota mais específica (prefixo mais longo)
  • “Sub-redes da mesma rede conversando entre si”A rota local padrão — não há nada para configurar
  • “Deixar o banco de dados inalcançável pela internet”Coloque-o em uma sub-rede privada
  • “É uma sub-rede pública, mas o servidor não é alcançado pela internet”Confira se o servidor tem um IP público

Você escondeu o banco de dados e os servidores de app em sub-redes privadas. Mas eles ainda precisam de atualizações de segurança e precisam chegar ao serviço de armazenamento da nuvem. Sem rota para a internet, como eles saem?

Publicidade

03

Como sair de uma sub-rede privada: NAT e endpoints privados

O NAT (tradução de endereços de rede) age em nome dos seus servidores privados. Quando um servidor envia um pacote para a internet, o NAT troca o endereço de origem do pacote pelo próprio IP público e o envia. Quando a resposta volta, o NAT lembra quem fez a requisição e entrega a resposta ao servidor certo.

Situação
Situação
Servidor → internet (baixar atualizações)

Como o servidor de app da sub-rede privada fala com o mundo lá fora · verde-limão = pacotes saindo, azul = pacotes voltando

Um servidor em uma sub-rede privada não tem IP público, então não consegue chegar à internet sozinho. O NAT troca o endereço de origem pelo próprio IP público, envia o pacote, lembra quem pediu e entrega a resposta de volta a esse servidor. Na NAVER Cloud, o NAT Gateway fica em uma Subnet com o purpose NAT Gateway, e você mesmo adiciona a rota 0.0.0.0/0 → NATGW na Route Table da Private Subnet.

O segredo está na direção. O NAT só cuida de conexões que começam do lado de dentro. Uma conexão que começa do lado de fora é descartada, porque o NAT não faz ideia de para qual servidor ela é. Então, quando uma questão diz “os servidores precisam receber atualizações, mas não podem ser acessados pela internet”, a resposta é NAT. Se você precisar mesmo aceitar requisições da internet, vai precisar de um balanceador de carga (capítulo 5) ou de um IP público no servidor.

Normalmente você usa o NAT como um serviço que a nuvem gerencia para você. Também dá para transformar um servidor seu em uma instância NAT, mas, se ele cair, a sub-rede privada inteira perde a saída — então a alta disponibilidade e a manutenção ficam por sua conta. Onde um NAT gerenciado fica (em uma única zona ou na região inteira) depende do provedor.

Como chegar aos serviços da nuvem sem a internet: endpoints privados

Serviços gerenciados da nuvem, como armazenamento, filas e gerenciamento de chaves, costumam ter endereços públicos, voltados para a internet. Se um servidor privado simplesmente chama esses serviços, o tráfego sai pelo NAT para a internet e volta. Com um endpoint privado, esse trajeto fica dentro da sua rede. Existem dois tipos.

TipoComo funcionaO que saber
Baseado em rotaVocê adiciona à tabela de rotas uma rota “intervalo daquele serviço → endpoint”Você continua usando o endereço público do serviço. Poucos serviços têm suporte, e muitas vezes é gratuito
Baseado em interfaceUm IP privado daquele serviço é colocado na sua sub-redeVocê chama pelo IP privado. Funciona também a partir de uma rede corporativa conectada por VPN ou conexão dedicada. Cobrado por hora e por dados
O NAT serve para “ir a qualquer lugar da internet”; o endpoint privado serve para “chegar a um serviço específico da nuvem sem a internet”. Se você está mandando muitos dados para um armazenamento na mesma região e a conta do NAT está alta, a resposta certa é um endpoint privado que tire esse tráfego do NAT.

Se a questão disser… → escolha isto

  • “Servidores privados recebem patches, mas continuam inalcançáveis pela internet”NAT
  • “Acessar o serviço de armazenamento sem passar pela internet”Endpoint privado
  • “Grandes transferências para o armazenamento da mesma nuvem deixam o NAT caro”Endpoint privado para o armazenamento
  • “Chamar um serviço da nuvem por IP privado a partir da rede corporativa”Endpoint de interface
  • “Servidores privados precisam aceitar requisições da internet”Um balanceador de carga, não NAT

Agora os pacotes sabem para onde ir. Mas ter uma estrada não quer dizer deixar qualquer um passar por ela. Você precisa de um guardião que decida quais pacotes entram e quais são barrados.

Exclusivo Pro

Até aqui vai a parte gratuita

Os outros 5 capítulos estão disponíveis para assinantes Pro. Cada um continua com visuais em 3D e dicas de “se a questão disser…”, e no último capítulo você testa o que aprendeu.

  1. 04Duas camadas de firewall (com estado e sem estado)
  2. 05Balanceadores de carga e verificações de integridade
  3. 06DNS e a borda (CDN e WAF)
  4. 07Como conectar redes (emparelhamento, VPN e conexões dedicadas)
  5. 08Quando não conecta