Intervalos de IP de alias

Com os intervalos de IP de alias do Google Cloud, é possível atribuir intervalos de endereços IP internos como alias para interfaces de rede de uma máquina virtual (VM). Isso é útil quando há vários serviços em execução em uma VM e você quer atribuir a cada serviço um endereço IP diferente. Os intervalos de IP do alias também funcionam com pods do GKE.

Se você tiver apenas um serviço em execução em uma VM, faça referência a ele usando o endereço IP principal da interface. Se tiver vários, atribua um endereço IP diferente a cada um. Faça isso com Intervalos de IP do alias.

Intervalos principais e secundários de CIDR de sub-rede

Todas as sub-redes têm um intervalo principal de CIDR, que é o intervalo de endereços IP internos que definem a sub-rede. Cada instância de VM recebe o endereço IP interno principal desse intervalo. Você também pode alocar intervalos de IP de alias a partir desse intervalo principal ou adicionar um intervalo secundário à sub-rede e alocar intervalos de IP de alias a partir do intervalo secundário. O uso de intervalos de IP de alias não requer intervalos de sub-rede secundários. Esses intervalos de sub-rede secundários fornecem apenas uma ferramenta organizacional.

Intervalos IP de alias definidos em uma interface de rede de VM

Com o alias de IP, é possível configurar vários endereços IP internos que representam contêineres ou aplicativos hospedados em uma VM, sem a necessidade de definir uma interface de rede separada. É possível atribuir intervalos de IP de alias de VM a partir dos intervalos principal ou secundário da sub-rede.

A seção Configurar intervalos de IP de alias descreve comandos para configurar uma sub-rede com intervalos secundários e atribuir endereços IP de alias às VMs.

O diagrama a seguir é uma ilustração básica dos intervalos principais e secundários de CIDR e intervalos de IP do alias da VM na interface principal da VM:

Intervalos principais e secundários de CIDR e intervalos de IP do alias da VM (clique para ampliar)
Intervalos principais e secundários de CIDR e intervalos de IP do alias da VM (clique para ampliar)
  • Um intervalo principal de CIDR 10.1.0.0/16 está configurado como parte de uma sub-rede.
  • Um intervalo secundário de CIDR 10.2.0.0/20 está configurado como parte de uma sub-rede.
  • O IP principal da VM 10.1.0.2 está alocado no intervalo principal de CIDR, 10.1.0.0/16, e um intervalo de IP de alias, 10.2.1.0/24, está alocado na VM, no intervalo secundário de CIDR, 10.2.0.0/20.
  • Os endereços no intervalo de IP do alias são usados como os endereços IP dos contêineres hospedados na VM.

Principais benefícios dos intervalos de IP do alias

Quando os intervalos de IP do alias são configurados, o Google Cloud instala automaticamente as rotas de rede da nuvem privada virtual (VPC) para os intervalos de IP primário e de alias da sub-rede da interface de rede principal. O orquestrador de contêiner não precisa especificar a conectividade de rede da VPC para essas rotas. Isso simplifica o roteamento do tráfego e o gerenciamento dos contêineres. Mas é necessário executar uma configuração no convidado, conforme descrito nas Propriedades principais dos intervalos de IP de alias.

Quando os endereços IP do contêiner são alocados pelo Google Cloud, os processos de validação do Cloud garantem que os endereços IP do pod do contêiner não entrem em conflito com os endereços IP da VM.

Quando os endereços IP do alias estão configurados, as verificações antispoofing são realizadas em relação ao tráfego, garantindo que o tráfego de saída das VMs use os endereços IP da VM e os endereços IP do pod como endereços de origem. As verificações antispoofing conferem se as VMs não enviam tráfego com endereços IP de origem arbitrários. O uso de rotas estáticas para rede de contêiner seria uma abordagem menos segura em comparação com o alias de IP por exigir a desativação das verificações antispoofing nas VMs do host de contêiner (as verificações antispoofing são desativadas quando o encaminhamento de IP está ativado).

Os intervalos de IP de alias são roteáveis na rede virtual do Google Cloud sem a necessidade de outras rotas. Não é necessário adicionar uma rota a cada alias de IP e não é obrigatório levar em conta as cotas de rota.

Os endereços IP do alias podem ser anunciados pelo Cloud Router para uma rede local conectada via VPN ou Interconnect.

Há vantagens na alocação de intervalos de IP de alias a partir de um intervalo secundário de CIDR. Ao alocar de um intervalo separado do intervalo usado para endereços IP principais, você pode separar a infraestrutura (VMs) dos serviços (contêineres). Ao configurar espaços de endereço separados para infraestrutura e serviços, você pode configurar controles de firewall para endereços IP de alias de VM separadamente dos controles para endereços IP principais de uma VM. Por exemplo, é possível permitir algum tráfego de pods de contêiner e bloquear um tráfego semelhante para o endereço IP principal da VM.

Arquitetura de contêiner no Google Cloud

Imagine que você queira configurar serviços em contêineres no Google Cloud. É necessário criar as VMs que vão hospedar os serviços e, além disso, os contêineres.

Nessa situação, você quer rotear o tráfego de entrada e saída de contêineres e locais conectados por meio de uma VPN. No entanto, você não quer que os endereços IP da VM principal sejam acessados pela VPN. Para criar essa configuração, o intervalo de IP do contêiner precisa ser roteável pela VPN, mas o intervalo de IP da VM principal, não. Ao criar a VM, você também quer atribuir automaticamente um pool de endereços IP usados para o contêiner.

Para criar essa configuração, faça o seguinte:

  • Ao criar a sub-rede, configure estes itens:
    • Um intervalo principal de CIDR, por exemplo, 10.128.0.0/16
    • Um intervalo secundário de CIDR, por exemplo, 172.16.0.0/16
  • Use um modelo de instância para criar VMs e atribua automaticamente cada um dos seguintes itens:
    • Um IP principal do intervalo 10.128.0.0/16
    • Um intervalo de alias /24 do espaço secundário de CIDR 172.16.0.0/16, para possibilitar a atribuição de um IP do intervalo secundário de CIDR /24 a cada contêiner de uma VM
  • Crie duas regras de firewall:
    • Uma regra para negar que o tráfego da VPN no local alcance o intervalo principal de CIDR da sub-rede.
    • Uma regra para permitir que o tráfego da VPN no local alcance o intervalo secundário de CIDR da sub-rede.

Exemplo: como configurar contêineres com intervalos de IP do alias

Com o uso dos intervalos de IP do alias, os endereços IP do contêiner podem ser alocados no intervalo secundário de CIDR e configurados como endereços IP do alias na VM que hospeda o contêiner.

Como configurar contêineres com endereços IP de alias (clique para ampliar)
Como configurar contêineres com endereços IP de alias (clique para ampliar)

Para criar a configuração ilustrada acima:

  1. Crie uma sub-rede com um intervalo de CIDR 10.128.0.0/16, a partir do qual os endereços IP da VM são alocados, e um intervalo secundário de CIDR 172.16.0.0/20 para o uso exclusivo dos contêineres, que será configurado como intervalos de IP do alias na VM que os hospeda:

    gcloud compute networks subnets create subnet-a \
        --network network-a \
        --range 10.128.0.0/16 \
        --secondary-range container-range=172.16.0.0/20
    
  2. Crie VMs com um IP principal no intervalo 10.128.0.0/16 e um intervalo de IP do alias 172.16.0.0/24 no intervalo secundário de CIDR 172.16.0.0/20 para que os contêineres dessa VM usem:

    gcloud compute instances create vm1 [...] \
        --network-interface subnet=subnet-a,aliases=container-range:172.16.0.0/24
    gcloud compute instances create vm2 [...] \
        --network-interface subnet=subnet-a,aliases=container-range:172.16.1.0/24
    
  3. Os endereços IP do contêiner são configurados no Google Cloud como endereços IP de alias. Nessa configuração, os IPs principais e de alias podem ser acessados por meio do túnel da VPN. Se o Cloud Router estiver configurado, ele divulgará automaticamente o intervalo secundário da sub-rede 172.16.0.0/20. Para mais informações sobre o uso de VPN com o Cloud Router, consulte Como criar um túnel da VPN usando o roteamento dinâmico.

Para mais informações sobre os comandos usados para criar essa configuração, consulte Configurar intervalos e endereços IP de alias.

Exemplo: vários intervalos de IP de alias configurados em uma única instância de VM

Os intervalos de IP de alias permitem gerenciar a alocação de IP para aplicativos executados em VMs, inclusive em contêineres.

É possível ter uma implantação na qual alguns contêineres podem ser migrados entre VMs e outros não. Os contêineres migráveis podem ser configurados usando intervalos /32, o que facilita a migração individual de cada um. Os contêineres não migráveis podem ser configurados usando um intervalo maior, já que permanecerão juntos.

Nesse tipo de implantação, pode ser preciso mais de um intervalo de IP de alias por instância de VM, como um /27 para contêineres que não podem ser migrados e vários /32s para contêineres que podem ser migrados.

Como configurar VMs com vários intervalos de IP de alias (clique para ampliar)
Como configurar VMs com vários intervalos de IP de alias (clique para ampliar)

Para configurar este exemplo, use os comandos gcloud abaixo:

gcloud compute networks create vpc1 --subnet-mode custom
gcloud compute networks subnets create subnet1 --region us-central1 --network vpc1 --range 10.128.0.0/16 --secondary-range secondaryrange1=172.16.0.0/20
gcloud compute instances create vm1 --zone us-central1-a --network-interface "subnet=subnet1,aliases=secondaryrange1:172.16.0.0/27;secondaryrange1:172.16.1.0/32"
gcloud compute instances create vm2 --zone us-central1-a --network-interface "subnet=subnet1,aliases=secondaryrange1:172.16.0.32/27;secondaryrange1:172.16.1.1/32"

Endereços IP de alias em redes e sub-redes VPC de modo automático

Nas redes VPC de modo automático, existe uma sub-rede em cada região. Cada uma dessas sub-redes criadas automaticamente tem um intervalo principal de CIDR, mas nenhum intervalo secundário. Para usar o IP de alias com uma rede VPC de modo automático, é possível alocar intervalos de IP de alias do intervalo principal de CIDR da sub-rede criada automaticamente ou adicionar um intervalo secundário à sub-rede criada automaticamente e alocar intervalos de IP de alias do novo intervalo secundário.

Como alternativa, é possível criar uma nova sub-rede com intervalos secundários na rede VPC de modo automático, desde que nenhum dos intervalos se sobreponha a 10.128.0.0/9. Também é possível criar instâncias de VM na nova sub-rede e alocar intervalos de IP de alias de qualquer intervalo nessa sub-rede.

Se você quiser adicionar intervalos secundários à sua sub-rede, consulte Adicionar intervalos CIDR secundários a uma sub-rede atual.

Endereços IP de alias em redes e sub-redes no modo personalizado

Em redes no modo personalizado:

  • todas as sub-redes são criadas manualmente;
  • É obrigatório um intervalo principal de CIDR.
  • Opcionalmente, é possível criar intervalos secundários de CIDR.

Propriedades principais dos intervalos de IP de alias

As seguintes propriedades se aplicam aos intervalos de IP do alias configurados em VMs:

  • Sob a perspectiva do SO da VM, o endereço IP principal e o gateway padrão geralmente são alocados com o DHCP. Os endereços IP do alias podem ser configurados manualmente ou com uso de scripts no SO da VM, que normalmente é o Linux ou o Windows.
  • O endereço IP principal e o intervalo de IP do alias da interface precisam ser alocados com base nos intervalos CIDR configurados como parte da mesma sub-rede. Observe os requisitos abaixo:
    • O endereço IP principal precisa ser alocado no intervalo principal de CIDR.
    • O intervalo de IP do alias pode ser alocado no intervalo principal de CIDR ou no intervalo secundário de CIDR da mesma sub-rede.
    • Em uma interface de rede de VM, o IP do alias precisa ser do mesmo recurso de sub-rede que fornece o endereço IP para a interface de rede principal. Não é possível selecionar um intervalo CIDR primário ou secundário de outro recurso de sub-rede.
    • O endereço IP primário pode ser estático ou temporário.
    • Os intervalos de IP do alias são opcionais e não são adicionados automaticamente. Um intervalo de IP de alias pode ser configurado durante a criação ou modificação da instância.
    • É possível configurar um intervalo de IP de alias como um intervalo de CIDR explícito (por exemplo, 10.128.1.0/24), um único endereço IP (por exemplo, 10.128.7.29/32) ou uma máscara de rede (/24). Esse tipo de intervalo pode ser totalmente especificado ou alocado automaticamente com a especificação da máscara de rede.
    • Para usar um único endereço IP em um intervalo de IP do alias, use a máscara de rede /32.
    • Como todas as sub-redes em uma rede VPC compartilham um único gateway padrão, todos os endereços IP de alias dentro de uma interface compartilham o mesmo gateway padrão que o endereço IP principal.
    • Não é possível usar endereços IP reservados em intervalos de IP do alias.
IPs de alias dentro de uma interface compartilham o mesmo gateway padrão que o endereço IP principal (clique para ampliar)
IPs de alias dentro de uma interface compartilham o mesmo gateway padrão que o endereço IP principal (clique para ampliar)

DNS com endereços IP de alias

O Google Cloud configura automaticamente o DNS interno para o IP principal da interface principal de cada instância de VM. Isso associa o nome de host da instância ao endereço IP principal da interface principal. No entanto, a busca DNS desse nome de host só funciona na rede que contém a interface principal.

O Google Cloud não associa automaticamente outros endereços IP ao nome de host. O Google Cloud não associa endereços IP de alias na interface principal ao nome de host, nem endereços IP de interfaces secundárias.

É possível configurar o DNS manualmente para associar outros endereços IP.

Firewalls

Todo o tráfego de entrada ou saída, incluindo o tráfego para intervalos de IP de alias, é avaliado por uma regra de firewall VPC de uma tag de destino ou conta de serviço de destino correspondente. Para detalhes sobre destinos e IPs de alias, consulte Destinos e endereços IP.

Os intervalos de IP de alias não são incluídos ao especificar fontes para uma regra de firewall de entrada usando tags ou contas de serviço de origem.

Rotas estáticas

Quando você cria uma rota estática que usa uma instância do próximo salto especificada por um endereço IPv4 interno, o Google Cloud verifica se o endereço IP da VM do próximo salto se encaixa em um intervalo IPv4 de sub-rede de uma sub-rede no bucket da rota rede VPC. No entanto, o Google Cloud vai programar a rota somente se o endereço do próximo salto for um endereço IPv4 interno principal atribuído à interface de rede (NIC) de uma VM na rede VPC da rota, e não a uma rede VPC com peering.

Embora seja possível criar uma rota em que o endereço do próximo salto seja um endereço IPv4 interno que se encaixe em um intervalo de IP do alias, o Google Cloud não programa essa rota, porque considera o próximo salto como inativo. Os pacotes enviados ao destino da rota podem ser descartados, dependendo da existência de outras rotas para o mesmo destino e se essas outras rotas têm próximos saltos em execução.

Veja mais informações em:

Peering de rede VPC

O peering de rede VPC permite fazer peering de duas redes VPC para que as VMs em ambas possam se comunicar por meio de endereços IP internos particulares.

Ambos os intervalos de IP principal e secundário de uma sub-rede são acessíveis por instâncias de VM em uma rede em peering.

As verificações de sobreposição de sub-rede em redes em peering garantem que os intervalos principal e secundário não se sobreponham em nenhum intervalo de peering.

Alias de IP com peering de rede (clique para ampliar)
Alias de IP com peering de rede (clique para ampliar)

A seguir