Configurar o acesso a serviços privados

O acesso a serviços particulares é uma conexão segura e privada entre sua rede de nuvem privada virtual (VPC) do Google Cloud e serviços gerenciados pelo Google ou de terceiros. Ele permite que as instâncias de VM na sua rede VPC se comuniquem com esses serviços usando endereços IP internos, sem expor o tráfego à Internet pública.

Antes de começar

Para estabelecer uma conexão particular, atenda aos seguintes pré-requisitos:

  • Você precisa ter uma rede VPC existente para se conectar à rede do produtor de serviços. As instâncias de VM precisam usar essa rede VPC para se conectar a serviços por meio de uma conexão particular.
  • Siga as etapas na página Antes de começar da API Live Stream para criar um projeto do Google Cloud configurado corretamente ou escolha um projeto existente.

Ativar o acesso a serviços particulares para a API Live Stream

O processo geral para configurar o acesso a serviços particulares está disponível na documentação da nuvem privada virtual. Esta página adapta o processo à API Live Stream.

  1. Instale e configure a Google Cloud CLI.

  2. Ative a API Service Networking.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud services enable servicenetworking.googleapis.com

    Windows (PowerShell)

    gcloud services enable servicenetworking.googleapis.com

    Windows (cmd.exe)

    gcloud services enable servicenetworking.googleapis.com

  3. Para receber as permissões necessárias para configurar uma conexão privada, peça ao administrador para conceder a você o papel do IAM de Administrador de rede do Compute Engine (roles/compute.networkAdmin) no projeto do Google Cloud em que a rede VPC está. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

    As permissões necessárias também estão disponíveis com papéis personalizados ou outros papéis predefinidos.

  4. Na rede VPC, aloque um intervalo de IP com nome usando o comando addresses create, conforme mostrado nos exemplos a seguir.

    Para especificar um intervalo de endereços e um tamanho de prefixo, que também é a máscara de sub-rede, use as flags addresses e prefix-length. Por exemplo, para alocar o bloco CIDR 192.168.0.0/13, especifique 192.168.0.0 como endereço e 13 como comprimento do prefixo.

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • RESERVED_RANGE_NAME: é um nome para o intervalo alocado, como my-allocated-range.
    • DESCRIPTION: uma descrição para o intervalo, como allocated for my-service
    • VPC_NETWORK: o nome da rede VPC, como my-vpc-network

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud compute addresses create RESERVED_RANGE_NAME \
        --global \
        --purpose=VPC_PEERING \
        --addresses=192.168.0.0 \
        --prefix-length=13 \
        --description="DESCRIPTION" \
        --network=VPC_NETWORK

    Windows (PowerShell)

    gcloud compute addresses create RESERVED_RANGE_NAME `
        --global `
        --purpose=VPC_PEERING `
        --addresses=192.168.0.0 `
        --prefix-length=13 `
        --description="DESCRIPTION" `
        --network=VPC_NETWORK

    Windows (cmd.exe)

    gcloud compute addresses create RESERVED_RANGE_NAME ^
        --global ^
        --purpose=VPC_PEERING ^
        --addresses=192.168.0.0 ^
        --prefix-length=13 ^
        --description="DESCRIPTION" ^
        --network=VPC_NETWORK

    Você receberá uma resposta semelhante a esta:

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].

    Para especificar apenas um tamanho de prefixo, use a flag prefix-length. Quando você omitir o intervalo de endereços, o Google Cloud selecionará automaticamente um intervalo de endereços não utilizado na sua rede VPC. O exemplo a seguir seleciona um intervalo de endereços IP não utilizado com um comprimento de prefixo de 13 bits.

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • RESERVED_RANGE_NAME: é um nome para o intervalo alocado, como my-allocated-range.
    • DESCRIPTION: uma descrição para o intervalo, como allocated for my-service
    • VPC_NETWORK: o nome da rede VPC, como my-vpc-network

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud compute addresses create RESERVED_RANGE_NAME \
        --global \
        --purpose=VPC_PEERING \
        --prefix-length=13 \
        --description="DESCRIPTION" \
        --network=VPC_NETWORK

    Windows (PowerShell)

    gcloud compute addresses create RESERVED_RANGE_NAME `
        --global `
        --purpose=VPC_PEERING `
        --prefix-length=13 `
        --description="DESCRIPTION" `
        --network=VPC_NETWORK

    Windows (cmd.exe)

    gcloud compute addresses create RESERVED_RANGE_NAME ^
        --global ^
        --purpose=VPC_PEERING ^
        --prefix-length=13 ^
        --description="DESCRIPTION" ^
        --network=VPC_NETWORK

    Você receberá uma resposta semelhante a esta:

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].

    O exemplo anterior cria uma conexão particular com o Google para que as instâncias de VM na rede VPC fornecida (por exemplo, my-vpc-network) possam usar o acesso a serviços particulares para acessar os serviços do Google compatíveis.

    A API Live Stream exige a alocação de um bloco CIDR/13 por região. Se você planeja usar a API Live Stream em várias regiões, aloque um bloco maior. A tabela a seguir descreve o tamanho de bloco recomendado para alocar de acordo com o número de regiões:

    Número de regiõesvalor para a flag prefix-length
    113
    212
    3-411
    5-810
    7-169
  5. Crie uma conexão particular entre a rede do produtor de serviço e a rede VPC:

    1. Crie uma conexão particular.

      Antes de usar os dados do comando abaixo, faça estas substituições:

      • RESERVED_RANGE_NAME: o nome do intervalo alocado que você criou na etapa anterior.
      • VPC_NETWORK: o nome da rede VPC.
      • PROJECT_ID: o ID do projeto do Google Cloud que contém a rede VPC.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud services vpc-peerings connect \
          --service=servicenetworking.googleapis.com \
          --ranges=RESERVED_RANGE_NAME \
          --network=VPC_NETWORK \
          --project=PROJECT_ID

      Windows (PowerShell)

      gcloud services vpc-peerings connect `
          --service=servicenetworking.googleapis.com `
          --ranges=RESERVED_RANGE_NAME `
          --network=VPC_NETWORK `
          --project=PROJECT_ID

      Windows (cmd.exe)

      gcloud services vpc-peerings connect ^
          --service=servicenetworking.googleapis.com ^
          --ranges=RESERVED_RANGE_NAME ^
          --network=VPC_NETWORK ^
          --project=PROJECT_ID

      Você receberá uma resposta semelhante a esta:

      Operation "operations/OPERATION_ID" finished successfully.

      Esse comando cria uma operação de longa duração (LRO).

    2. Se o comando for bem-sucedido, pule para a próxima etapa. Caso contrário, verifique o status da operação.

      Antes de usar os dados do comando abaixo, faça estas substituições:

      • OPERATION_ID: o ID da operação retornada na etapa anterior.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud services vpc-peerings operations describe \
        --name=operations/OPERATION_ID

      Windows (PowerShell)

      gcloud services vpc-peerings operations describe `
        --name=operations/OPERATION_ID

      Windows (cmd.exe)

      gcloud services vpc-peerings operations describe ^
        --name=operations/OPERATION_ID

      Você receberá uma resposta semelhante a esta:

      Operation "operations/OPERATION_ID" finished successfully.

  6. (Opcional) Se você estiver usando o VPC Service Controls, será necessário ativar o VPC-SC para a conexão particular que acabou de criar.

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • VPC_NETWORK: o nome da rede VPC.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud services vpc-peerings enable-vpc-service-controls \
        --service=servicenetworking.googleapis.com \
        --network=VPC_NETWORK

    Windows (PowerShell)

    gcloud services vpc-peerings enable-vpc-service-controls `
        --service=servicenetworking.googleapis.com `
        --network=VPC_NETWORK

    Windows (cmd.exe)

    gcloud services vpc-peerings enable-vpc-service-controls ^
        --service=servicenetworking.googleapis.com ^
        --network=VPC_NETWORK

    Você receberá uma resposta semelhante a esta:

    Operation "operations/OPERATION_ID" finished successfully.

  7. (Opcional) Se você tiver uma rede local conectada à sua VPC, será possível configurar a conexão de peering para que os hosts locais possam se comunicar com a rede do produtor de serviços. Para mais informações, consulte Solução de problemas do host local.