Configurar o acesso a serviços privados

O acesso a serviços particulares é uma conexão segura e particular entre sua rede de nuvem privada virtual (VPC) do Google Cloud e serviços gerenciados pelo Google ou de terceiros. Ele permite que instâncias de VM em 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:

  • É preciso ter uma rede VPC atual que possa ser usada 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 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 escolher 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 é fornecido 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 comando a seguir:

    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 particular, peça ao administrador para conceder a você o papel do IAM Administrador de rede do Compute Engine (roles/compute.networkAdmin) no projeto do Google Cloud em que a rede VPC reside. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

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

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

    Para especificar um intervalo de endereços e um comprimento de prefixo, que também é a máscara de sub-rede, use as sinalizações 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 tamanho 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 sua rede VPC, como my-vpc-network

    Execute o comando a seguir:

    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 sinalização prefix-length. Quando você omite o intervalo de endereços, o Google Cloud seleciona automaticamente um intervalo que não está sendo usado 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 sua rede VPC, como my-vpc-network

    Execute o comando a seguir:

    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 requer 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 dependendo do número de regiões:

    Número de regiõesvalor da sinalização 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 sua rede VPC

      Execute o comando a seguir:

      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, na sigla em inglês).

    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 retornado na etapa anterior.

      Execute o comando a seguir:

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

    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 de host local.