Visão geral dos 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 de alias também funcionam com pods do GKE.

Visão geral

Se você tiver apenas um serviço em execução em uma VM, você pode fazer referência a ele usando o endereço IP principal da interface. Se tiver vários serviços em execução, atribua um endereço IP diferente para cada um. Faça isso com Intervalos de IP de 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. Também é possível 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 de IP de alias definidos em uma interface de rede da 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 principais ou secundários da sub-rede.

Em Como configurar intervalos de IP de alias, você encontra comandos para configurar uma sub-rede com intervalos secundários e para atribuir endereços IP do alias às VMs.

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

Intervalos principais e secundários de CIDR e intervalos de IP de alias da VM (clique para ampliar)
Intervalos principais e secundários de CIDR e intervalos de IP de 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 de alias são usados como os endereços IP dos contêineres hospedados na VM.

Principais benefícios dos intervalos de IP de alias

Quando os intervalos de IP de alias são configurados, o Google Cloud instala automaticamente as rotas de rede da nuvem privada virtual (VPC) para os intervalos de IP principais e de alias para a 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. É 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 Google 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 no 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 considerar as cotas de rota.

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

Há vantagens na alocação de intervalos de IP de alias a partir de um intervalo CIDR secundário. 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, é possível configurar controles de firewall para endereços IP de alias de VM separados dos controles de firewall 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 hospedarão os serviços e também os contêineres.

Nesse cenário, 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 itens a seguir:
    • Um IP principal no 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 de alias

Com o uso dos intervalos de IP de 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 serã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 de 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 de 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 anunciará 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.

Consulte Como configurar endereços e intervalos de IP de alias para mais informações sobre os comandos usados para criar essa configuração.

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 possam 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 a seguir:

    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 têm 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.

Consulte Como adicionar intervalos CIDR secundários a uma sub-rede existente se quiser incluir intervalos secundários na sua sub-rede.

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 propriedades a seguir se aplicam aos intervalos de IP de 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 de alias da interface precisam ser alocados com base nos intervalos CIDR configurados como parte da mesma sub-rede. Observe os seguintes requisitos:
    • O endereço IP principal precisa ser alocado no intervalo principal de CIDR.
    • O intervalo de IP de 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 principal ou secundário de CIDR de outro recurso de sub-rede.
    • O endereço IP principal pode ser configurado pelo usuário com um endereço IP particular estático ou alocado automaticamente pelo sistema com um endereço IP estático temporário.
    • Os intervalos de IP de 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) 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.
    • Como todas as sub-redes em uma rede VPC compartilham um único gateway padrão, todos os endereços IP do alias dentro de uma interface compartilham o mesmo gateway padrão que o endereço IP principal.
IPs de alias dentro de uma interface compartilham o mesmo gateway padrão do
        endereço IP principal (clique para ampliar)
IPs de alias dentro de uma interface compartilham o mesmo gateway padrão do endereço IP principal (clique para ampliar)

DNS com endereços IP do 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 do alias na interface principal ao nome de host, nem endereços IP de interfaces secundárias.

Você pode configurar o DNS manualmente para associar outros endereços IP.

Firewalls

As tags de origem do firewall não são compatíveis com endereços IP do alias. Quando você configura as tags de origem nas regras do firewall, elas correspondem ao endereço IP principal da VM, mas não aos endereços IP do alias. Use intervalos de origem para permitir ou negar o tráfego de entrada de endereços IP de alias.

Rotas estáticas

Em uma rota estática, o endereço IP do próximo salto (hop) precisa ser o endereço IP principal da instância da máquina virtual. Um endereço IP de alias não é compatível como o endereço IP do próximo salto.

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 com peering.

As verificações de sobreposição de sub-rede em redes com 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