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 autoridade de certificação (CA, na sigla em inglês). Para informações sobre pools de CAs, consulte Visão geral de pools de CA.

Visão geral

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

VIEWS = (ACTIVE_WORKLOADS × ROTATION_FREQUENCY) + NEW_WORKLOADS_PER_second

Substitua:

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

Os valores de ACTIVE_WORKLOADS e NEW_WORKLOADS_PER_SEC estão disponíveis nos painéis do Google Kubernetes Engine no console do Google Cloud. Para determinar o ROTATION_FREQUENCY de uma malha de serviço, consulte a documentação do produto da malha de serviço. O padrão da ROTATION_FREQUENCY do Cloud Service Mesh é uma vez a cada 12 horas, ou seja, 1/(12×60×60) ou 1/43.200 quando convertido 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 temporárias.

Nome da variável Valor Descrição
ACTIVE_WORKLOADS 10000 Espera-se que 10.000 cargas de trabalho sejam executadas a qualquer momento.
NEW_WORKLOADS_PER_SECOND 1 Uma carga de trabalho é criada a cada segundo.
ROTATION_FREQUENCY 1/43.200 Os certificados são alternados a cada 12 horas.

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

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

Um cluster diferente com cargas de trabalho mais efêmeras 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_SECONDS a variável mais importante na fórmula.

Antes de começar

Configure um pool de ACs no local necessário. Para ver a lista completa de locais, consulte Locais.

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

Procedimento

  1. Crie CAs suficientes no seu pool para alcançar o QPS necessário. O número necessário de CAs é quatro para pools de CAs nos níveis de DevOps e 15 para pools de CAs na camada Enterprise. O conjunto de instruções a seguir é destinado a 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"
      

      O QPS efetivo total do pool de ACs neste estágio é de 25 QPS. Para aumentar o QPS efetivo total do pool de ACs para 100 QPS, é preciso criar mais três ACs no seu pool de ACs.

    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"
      

      Nessa 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 saber mais sobre como testar CAs, consulte Testar uma CA.

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

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

A seguir