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, 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:

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 de rotação dos certificados por segundo.
  • NEW_WORKLOADS_PER_SECOND: a taxa em que novas cargas de trabalho são criadas.

Os valores de ACTIVE_WORKLOADS e NEW_WORKLOADS_PER_second 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 correspondente. O padrão de ROTATION_FREQUENCY para o Anthos 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 nova 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 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 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_second 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 uma capacidade consistentemente alta, recomendamos criar o pool de CAs 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 CAs, e há uma capacidade efetiva máxima alcançável em 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, você precisará criar quatro CAs no pool de CAs para alcançar 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 de CAs para alcançar o QPS necessário. O número necessário de CAs é 4 para pools de CAs nos níveis de DevOps e 15 para pools de CAs no nível Enterprise. O seguinte conjunto de instruções é destinado a um pool de ACs na camada DevOps:

    1. Para criar uma CA raiz com o nome root-1 no pool de CAs, use o comando gcloud a seguir.

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

      O total de QPS efetivo do pool de ACs nesta fase é de 25 QPS. Para aumentar o QPS efetivo total do pool de ACs para 100 QPS, é necessário criar mais 3 CAs no seu pool de ACs.

    2. Para criar uma CA 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 CA 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 CA 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 fase, o total de QPS efetivo do pool de ACs é de 100 QPS.

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

  3. Verifique a integridade do pool de ACs gerando relatórios de auditoria sobre o balanceamento de carga entre as CAs. O ideal é que haja 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 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