Recriar uma instância do Apigee com tempo de inatividade zero

Esta página aplica-se ao Apigee, mas não ao Apigee Hybrid.

Veja a documentação do Apigee Edge.

Este documento explica como recriar uma instância do Apigee sem incorrer em tempo de inatividade da gestão de APIs nem perda de dados.

Introdução

As instâncias do Apigee criadas antes de 25 de janeiro de 2022 não têm espaço de endereço do protocolo de Internet (IP) suficiente para permitir que as cargas de trabalho do Apigee sejam dimensionadas para processar o aumento do tráfego da API e/ou para permitir que adicione mais de 10 ambientes a uma instância.

A 24 de janeiro de 2022, o Apigee introduziu uma melhoria para resolver este problema. O melhoramento reduz o intervalo de IPs necessário para estabelecer uma relação de interligação entre a sua rede VPC e o Apigee, e usa IPs públicos usados de forma privada (PUPI) para permitir que as cargas de trabalho sejam dimensionadas para limites mais elevados.

O que tem de fazer

Se tiver uma instância do Apigee criada antes de 25 de janeiro de 2022, a Apigee recomenda que a substitua por uma nova instância, conforme explicado neste documento. Se não recriar a instância mais antiga, pode ter problemas de escalabilidade e o número de ambientes que pode adicionar a uma instância vai continuar a estar limitado a 10. Além disso, a sua instância pode deixar de receber atualizações regulares, o que afeta os serviços de API.

Determinar a data de criação de uma instância

Para determinar a data de criação de uma instância do Apigee:

  1. Liste os detalhes de todas as instâncias do Apigee na sua organização:
    AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
    
    curl -i -X GET -H "$AUTH" \
    "https://apigee.googleapis.com/v1/organizations/PROJECT_ID/instances"

    Onde:

    • AUTH é o cabeçalho de autenticação com um token de portador. Certifique-se de que o projeto predefinido para gcloud está definido como PROJECT_ID.
    • PROJECT_ID é o ID do projeto do Google Cloud que criou quando aprovisionou o Apigee.

    Exemplo de resultado:

    {
      "instances": [
        {
          "name": "us-west1",
          "location": "us-west1",
          "host": "10.117.200.2",
          "port": "443",
          "createdAt": "1642698826000",
          "lastModifiedAt": "1655745226000",
          "diskEncryptionKeyName": "projects/myproject/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key",
          "state": "ACTIVE",
          "peeringCidrRange": "SLASH_22",
          "runtimeVersion": "1-8-0-apigee-33",
          "ipRange": "10.117.200.0/22,10.81.174.192/28",
          "consumerAcceptList": [
            "myproject"
          ],
          "serviceAttachment": "projects/z11f28c6f3104980e-tp/regions/us-west1/serviceAttachments/apigee-us-west1-lbko"
        }
      ]
    }
  2. Para cada instância, verifique o valor do campo createdAt descodificando a indicação de tempo de época Unix para obter a data.
    • Se uma instância foi criada a 25 de janeiro de 2022 ou após essa data, não tem de fazer mais nada para essa instância.
    • Se uma instância foi criada antes de 25 de janeiro de 2022, recomendamos que substitua a instância, conforme abordado neste documento.

Acerca do procedimento de recriação

Para recriar uma instância sem tempo de inatividade e sem perda de dados, primeiro tem de criar uma nova instância numa nova região (expandida) e direcionar o tráfego da API para essa nova instância. Em seguida, pode esvaziar a instância existente, eliminá-la e recriá-la na mesma região que a instância eliminada.

A Apigee forneceu um conjunto de scripts que executam todos os passos necessários para recriar e configurar uma instância. Disponibilizamos um link para os scripts mais adiante neste documento.

Pré-requisitos

Antes de começar os passos de recriação da instância:

  • Tem de saber como a instância do Apigee foi criada. Os passos para recriar a instância dependem de saber detalhes sobre a forma como a instância original foi configurada.
  • Tem de ter o direito de aprovisionar o Apigee em, pelo menos, duas regiões. Se não tiver a certeza de que tem autorização suficiente, siga os passos para criar uma instância numa nova região. Se não tiver a autorização adequada, a tentativa falha com um erro de limite. Nesse caso, contacte o apoio técnico do Apigee para receber uma exceção temporária para aumentar o limite da sua região. Se já tiver direito a duas ou mais regiões, recomendamos que contacte-nos para receber a exceção temporária e evitar executar a carga de trabalho de produção com uma instância reduzida durante o processo de recriação.
  • Tem de ter espaço no seu projeto para intervalos de IP adicionais de /22 e blocos de /28 para criar a nova instância. Consulte também Dimensionamento da rede. Pode libertar estes intervalos quando a região adicional for eliminada após a recriação da instância estar concluída. Tenha em atenção que o bloco /22 é configurável por si. Pode escolher o bloco /28 que o Apigee vai usar ou, se não escolher, é atribuído automaticamente pelo Apigee a partir de qualquer bloco disponível.

Recriar a instância

O Apigee forneceu um conjunto de scripts que executam todos os passos necessários para recriar uma instância.

  1. Certifique-se de que cumpriu os pré-requisitos.
  2. Transfira os scripts do GitHub.
  3. Siga os passos no ficheiro README do repositório Git para criar a nova instância.
  4. Reconfigure as ligações a montante e a jusante para apontarem para a nova instância do Apigee. Consulte Acerca das alterações de saída e Acerca das alterações de entrada.

Acerca das alterações de saída

O tráfego de saída refere-se ao tráfego de API de clientes externos ou internos para o Apigee através de um equilibrador de carga. Quando uma instância é eliminada e recriada, o endereço IP de saída e o ID da associação do serviço Private Service Connect (PSC) da instância mudam para a nova instância.

Os scripts fornecidos reconfiguram o back-end do balanceador de carga por si. Se o encaminhamento de rede da instância tiver sido configurado com um grupo de instâncias geridas (MIG), um script fornecido recria o MIG que encaminha o tráfego para o ponto final do Apigee e anexa o MIG como um back-end ao serviço de back-end existente. Se o encaminhamento tiver sido configurado com o Private Service Connect (PSC), um script recria o grupo de pontos finais da rede (NEG) para a associação do ponto final do serviço do Apigee e associa o novo NEG como um back-end ao serviço de back-end existente.

Tenha em atenção que não tem de alterar os registos de nome do anfitrião em nenhum grupo de ambientes associado à instância antiga.

Alterações no sentido sul

Southbound refere-se ao tráfego de API do Apigee para os serviços de destino do proxy de API.

Quando uma instância é eliminada e recriada, todos os endereços IP NAT de saída dedicados são libertados. Por isso, tem de reservar e ativar novos endereços IP para o NAT e reconfigurar as firewalls/listas de autorizações nos seus pontos finais de destino. Um dos scripts fornecidos processa esta reconfiguração de NAT por si, se necessário.