Crie uma associação iniciada a partir de Google Cloud

Esta página descreve os passos para criar e aprovisionar com êxito uma ligação de interligação entre clouds de parceiros para os Amazon Web Services (AWS) iniciada a partir de Google Cloud.

Se não tiver uma chave de ativação da AWS, pode iniciar e aprovisionar uma interligação entre nuvens de parceiros para a ligação da AWS a partir de Google Cloud.

Antes de iniciar o processo de aprovisionamento do Partner Cross-Cloud Interconnect para a AWS, certifique-se de que são cumpridas as seguintes condições:

Para conseguir uma associação bem-sucedida, tem de criar o recurso transport. Siga estas instruções para criar o transporte.

Antes de começar

Antes de começar, reveja as secções seguintes.

Crie ou selecione um projeto

Para facilitar a configuração do Partner Cross-Cloud Interconnect para a AWS, comece por identificar um projeto válido.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.

  5. Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  6. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  8. Verify that billing is enabled for your Google Cloud project.

  9. Install the Google Cloud CLI.

  10. Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  11. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  12. Se estiver a usar a CLI do Google Cloud, defina o ID do projeto com o comando gcloud config set.

    gcloud config set project PROJECT_ID

    Substitua PROJECT_ID pelo seu ID do projeto exclusivo.

    As instruções da CLI gcloud nesta página pressupõem que definiu o ID do projeto.

  13. Para confirmar que definiu o ID do projeto corretamente, use o comando gcloud config list.

    gcloud config list --format='text(core.project)'
  14. Ative a API Network Connectivity

    Antes de poder realizar qualquer tarefa com o Cloud Interconnect, tem de ativar a Network Connectivity API.

    Consola

    Para ativar a API Network Connectivity, faça o seguinte:

    1. Na Google Cloud consola, aceda à página API Network Connectivity.

      Aceda à API Network Connectivity

    2. Clique em Ativar.

    Em alternativa, pode ativar a API através da Google Cloud biblioteca de APIs da consola, conforme descrito no artigo Ativar APIs.

    Inicie a associação a partir de Google Cloud se não tiver uma chave de ativação

    Liste os perfis disponíveis

    Para listar os perfis disponíveis num projeto específico na região onde quer aprovisionar a conetividade, siga estes passos.

    API

    Use o método networkconnectivity.remoteTransportProfiles.list com um corpo do pedido vazio.

    $ curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://networkconnectivity.googleapis.com/v1beta/projects/PROJECT/locations/LOCATION/remoteTransportProfiles"
    

    Substitua os seguintes valores:

    • PROJECT: o nome do projeto
    • LOCATION: o nome da Google Cloud região onde quer aprovisionar a conetividade, como us-west1

    Crie o recurso transport

    Durante o processo de criação do recurso transport, tem de especificar os campos de largura de banda, rede remoteProfile e remoteAccountId. advertisedRoutes é um campo opcional. No entanto, para garantir a conetividade a partir da AWS, tem de especificar este campo. Este campo pode ser uma lista de sub-redes IPv4 e IPv6. Se a sua rede usar a criação automática de sub-redes, use o 10.128.0.0/9valor de Google Cloud.

    Para criar um recurso de transporte, siga estes passos.

    API

    Use o networkconnectivity.transports.create método especificando o TRANSPORT_ID, semelhante ao seguinte exemplo:

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" "https://networkconnectivity.googleapis.com/v1beta/projects/PROJECT/locations/LOCATION/transports?="TRANSPORT_ID" --data '{
    "network": "NETWORK",
    "remoteProfile": "REMOTE_PROFILE",
    "bandwidth": "BANDWIDTH",
    "remoteAccountId": "AWS_ACCOUNT_ID",
    "advertisedRoutes": ["IP_RANGE_1","IP_RANGE_2"],
    "stackType": "STACK_TYPE
    }'
    

    Substitua os seguintes valores:

    • PROJECT: o nome do projeto no qual quer criar o transporte
    • LOCATION: o nome da Google Cloud região onde quer aprovisionar a conetividade, como us-west1
    • TRANSPORT_ID: um nome para o recurso de transporte
    • NETWORK: a rede na qual quer criar o transporte
    • REMOTE_PROFILE: o perfil onde quer aprovisionar a conetividade
    • BANDWIDTH: a largura de banda escolhida para a sua ligação, como BPS_1G
    • AWS_ACCOUNT_ID: o ID da sua conta da AWS
    • IP_RANGE: uma lista separada por vírgulas de intervalos de endereços IP
    • STACK_TYPE (opcional): tipo de pilha da versão do endereço IP. Tem de ser IPV4_ONLY ou IPV4_IPV6. A predefinição é IPV4_ONLY

    No resultado, encontre o valor do campo name. Tem o formato projects/PROJECT/locations/LOCATION/operations/OPERATION_ID, em que OPERATION_ID é o ID da sua operação.

    Para verificar o estado da operação, use o método networkconnectivity.operations.get.

    GET https://networkconnectivity.googleapis.com/v1/locations/LOCATION/operations/OPERATION_ID
    

    Substitua o seguinte:

    • LOCATION: o nome da Google Cloud região onde quer aprovisionar a conetividade, como us-west1
    • OPERATION_ID: o ID da operação

    Se o recurso transport tiver terminado a criação, o resultado tem a linha "done": true. Copie os seguintes valores do resultado para usar em passos posteriores:

    • O valor do campo generatedActivationKey
    • O valor do campo peeringNetwork

    Conclua os passos na API AWS

    Siga as instruções no documento de referência da API da AWS, usando a chave de ativação que gerou no passo anterior.

    Estabeleça o intercâmbio da rede da VPC

    Pode estabelecer proativamente o intercâmbio da rede da VPC no Google Cloud terminal. Para o fazer, use o peeringNetwork devolvido pelo recurso transport criado anteriormente e certifique-se de que cria uma interligação com o mesmo tipo de pilha. O tipo de hierarquia predefinido corresponde ao recurso transport que usa IPV4_ONLY.

    Para receber os trajetos da AWS, tem de ativar o campo Import custom routes.

    A MTU na rede da VPC de intercâmbio está explicitamente definida como o máximo para evitar problemas de MTU na conetividade. Se estiver a usar uma MTU inferior a 8896, pode receber um aviso WARNING: Some requests generated warnings: - Network MTU 1460B does not match the peer's MTU 8896B. Nesse caso, tem de garantir que está a usar configurações de MTU correspondentes entre a sua rede VPC e a rede VPC da AWS. Google Cloud Se não corresponderem, pode ter de substituir os valores de MTU pelo denominador comum mais baixo. Por exemplo, se usar 8896 no Google Cloud e 8800 no AWS, tudo no Google Cloud tem de ser configurado como 8800.

    gcloud

    Para estabelecer o peering de redes VPC, use o comando gcloud compute networks peerings create.

    gcloud compute networks peerings create "TRANSPORT_NAME" \
        --network="VPC_NETWORK"
        --peer-network="PEERING_NETWORK" \
        --import-custom-routes
        --export-custom-routes
    

    Substitua os seguintes valores:

    • TRANSPORT_NAME: o nome do transporte que criou
    • VPC_NETWORK: o nome da rede VPC para a qual quer listar os trajetos
    • PEERING_NETWORK: o nome da rede VPC fornecida pelo recurso Transport que copiou do campo peeringNetwork do recurso transport

    Se o comando for bem-sucedido, o campo state do resultado tem o valor ACTIVE.

    API

    Para estabelecer o intercâmbio da rede da VPC, use o método compute.networks.addPeering.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK/addPeering
    

    Substitua os seguintes valores:

    • PROJECT: o nome do projeto com o qual está a estabelecer peering
    • NETWORK: o nome do recurso de rede ao qual adicionar a interligação

    Valide a sua ligação

    Pode verificar se a conetividade foi estabelecida listando as redes VPC com peering e as tabelas de rotas. Após a conclusão da configuração da AWS, pode ver as suas rotas da AWS na lista.

    gcloud

    Para apresentar uma lista das redes VPC com peering, use o comando gcloud compute networks peerings list.

    gcloud compute networks peerings list
    

    O resultado é semelhante ao seguinte:

    DEST_RANGE   TYPE                   NEXT_HOP_REGION  PRIORITY  STATUS
    10.0.0.0/16  DYNAMIC_PEERING_ROUTE  us-east4         0         accepted
    10.0.0.0/16  DYNAMIC_PEERING_ROUTE  us-east4         0         accepted
    

    Para apresentar uma lista de rotas para um transporte específico, use o comando gcloud compute networks peerings list-routes.

    gcloud compute networks peerings list-routes TRANSPORT_ID\
        --direction=INCOMING \
        --network=NETWORK \
        --region=LOCATION
    

    Substitua os seguintes valores:

    • TRANSPORT_ID: o nome do recurso de transporte
    • NETWORK: o nome da rede VPC para a qual quer listar as tabelas de rotas
    • LOCATION: a localização do recurso de transporte

    API

    Para listar as redes em peering, use o método compute.networks.list.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT/global/networks
    

    Substitua PROJECT pelo nome do projeto para o qual quer apresentar as redes.

    Para listar trajetos, use o método compute.routes.listPeeringRoutes

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK/listPeeringRoutes
    

    Substitua os seguintes valores:

    • PROJECT com o nome do projeto para o qual quer listar as rotas
    • NETWORK: o nome da rede VPC para a qual quer listar as tabelas de rotas

    O que se segue?