Aumente a capacidade de criação de certificados usando pools de CAs

Nesta página, descrevemos como aumentar a taxa de criação de certificados usando um pool de autoridades de certificação (CA). Para informações sobre pools de CA, consulte Visão geral de pools de CA.

Visão geral

A capacidade de criação de certificados é medida em consultas por segundo (QPS, na sigla em inglês). Em uma malha de serviço, a capacidade de criação de certificados pode ser aproximada usando a seguinte fórmula:

THROUGHPUT = (ACTIVE_WORKLOADS × ROTATION_FREQUENCY) + NEW_WORKLOADS_PER_SECOND

Substitua:

  • ACTIVE_WORKLOADS: o número total de cargas de trabalho em execução em um determinado momento
  • ROTATION_FREQUENCY: a frequência em que os certificados são alternados por segundo
  • NEW_WORKLOADS_PER_SECOND: a taxa em que novas cargas de trabalho são criadas

Encontre os valores de ACTIVE_WORKLOADS e NEW_WORKLOADS_PER_SECOND nos painéis do Google Kubernetes Engine no console do Google Cloud. Para determinar a ROTATION_FREQUENCY de uma malha de serviço, consulte a documentação do produto correspondente. A ROTATION_FREQUENCY do Cloud Service Mesh é padronizada uma vez a cada 12 horas, que é 1/(12×60×60) ou 1/43200 quando convertida em frequência de rotação por segundo.

Exemplo

Considere o exemplo de um cluster relativamente estável com cargas de trabalho de longa duração e poucas cargas de trabalho efêmeras.

Nome da variável Valor Descrição
ACTIVE_WORKLOADS 10000 Espera-se que 10.000 cargas de trabalho estejam em execução ao mesmo tempo.
NEW_WORKLOADS_PER_SECOND 1 Uma nova carga de trabalho é criada por segundo.
ROTATION_FREQUENCY 1/43200 Os certificados são alternados a cada 12 horas.

Substituir esses valores na fórmula para calcular a taxa de criação de certificados resulta em um valor de QPS de 1,23.

Capacidade = (10.000 / 43.200) + 1 = 1,23 QPS

Um cluster diferente com cargas de trabalho mais temporárias e cargas de trabalho de curta duração pode ter um valor mais alto para NEW_WORKLOADS_PER_SECOND. Um valor alto de ROTATION_FREQUENCY torna o valor da fração (ACTIVE_WORKLOADS / ROTATION_FREQUENCY) muito pequeno, tornando NEW_WORKLOADS_PER_SECOND a variável mais importante na fórmula.

Antes de começar

Configure um pool de ACs no local que quiser. Para ver a lista completa de locais, consulte Locais.

Se você espera emitir certificados com uma capacidade de processamento consistentemente alta, recomendamos criar o pool de ACs no nível DevOps, o que permite um desempenho melhor e gera custos mais baixos. Há uma capacidade máxima para cada CA individual em um pool de CAs e há uma capacidade máxima efetiva alcançável para qualquer projeto. Por exemplo, se a capacidade máxima do nível DevOps for de 25 QPS para uma CA e 100 QPS para um projeto, será necessário criar quatro CAs no pool de ACs para alcançar uma capacidade efetiva total de 100 QPS. Para números de QPS específicos e mais informações sobre cotas, consulte Cotas e limites.

Procedimento

  1. Crie ACs suficientes no pool de ACs para atingir o QPS necessário. O número necessário de ACs é quatro para pools de CAs nos níveis de DevOps e 15 para os pools de CAs no nível Enterprise. O conjunto de instruções a seguir é para um pool de ACs no nível DevOps:

    1. Para criar uma AC raiz com o nome root-1 no seu pool de ACs, use o seguinte comando gcloud.

       gcloud privateca roots create root-1 --pool POOL_NAME --subject="CN=root-1,O=google"
      

      Neste estágio, o QPS efetivo total do pool de ACs é de 25 QPS. Para aumentar o QPS efetivo total do pool de CAs para 100 QPS, você precisa criar mais três CAs no pool de CAs.

    2. Para criar uma AC raiz com o nome root-2, use o seguinte comando gcloud.

        gcloud privateca roots create root-2 --pool POOL_NAME --subject="CN=root-2,O=google"
      
    3. Para criar uma AC raiz com o nome root-3, use o seguinte comando gcloud.

        gcloud privateca roots create root-3 --pool POOL_NAME --subject="CN=root-3,O=google"
      
    4. Para criar uma AC raiz com o nome root-4, use o seguinte comando gcloud.

        gcloud privateca roots create root-4 --pool POOL_NAME --subject="CN=root-4,O=google"
      

      Nesta etapa, o QPS efetivo total do pool de ACs é de 100 QPS.

  2. Enquanto as CAs estiverem no estado STAGED, crie e teste certificados. Depois disso, ative as ACs. Para informações sobre como ativar ACs, consulte Ativar uma AC. Para informações sobre como testar ACs, consulte Testar uma AC.

  3. Verifique a integridade do pool de ACs recebendo relatórios de auditoria sobre balanceamento de carga entre ACs. O ideal é que haja uma uniformidade no número de certificados emitidos por cada CA.

    É possível usar o Cloud Monitoring para monitorar as métricas de balanceamento de carga do pool de ACs, como o número de certificados emitidos por AC em um determinado período. Para mais informações, consulte Monitorar recursos usando o Cloud Monitoring.

A seguir