Use o Workload Manager para criar e executar avaliações automatizadas que verificam suas cargas de trabalho de acordo com os padrões do setor e as práticas recomendadas do Google Cloud . Ao executar avaliações regularmente, você detecta desvios de configuração e riscos de arquitetura com antecedência em todos os seus projetos, o que ajuda a melhorar a confiabilidade, a segurança e o desempenho das cargas de trabalho.
É possível criar e executar avaliações de carga de trabalho usando o console do Google Cloud ou a API Workload Manager. Para informações conceituais sobre como as avaliações funcionam, consulte Sobre as avaliações do Workload Manager.
Limitações
O Workload Manager permite executar até 25 avaliações simultaneamente a cada hora por projeto. Se um projeto tiver mais de 25 avaliações, limite as avaliações por hora a 25 ou defina a programação de avaliação para ser executada a cada 6 horas ou com menos frequência.
Antes de começar
Antes de criar e executar uma avaliação de carga de trabalho, conclua os seguintes pré-requisitos:
Verifique se os recursos do Google Cloud que você quer avaliar já foram criados no projeto de destino. Para ver uma lista de recursos e regras compatíveis, consulte a Referência de práticas recomendadas doGoogle Cloud .
Ative as APIs necessárias no projeto de consumidor do Google Cloud em que você cria e executa avaliações:
Se você avaliar as cargas de trabalho em relação a regras personalizadas ou práticas recomendadas, ative a API Cloud Asset e a API Cloud Monitoring.
Se você avaliar uma carga de trabalho de aplicativo ou banco de dados, verifique se configurou o agente ou operador necessário em todas as instâncias de computação ou clusters que executam sua carga de trabalho:
Opcional: se você quiser incluir regras personalizadas além das práticas recomendadas integradas do Google Cloud , faça upload de uma regra de amostra do repositório do GitHub
GoogleCloudPlatform/workload-managerpara um bucket do Cloud Storage que tenha as pastas/libe/rulesno nível superior. Para mais informações sobre como fazer upload de regras personalizadas, consulte Escrever regras personalizadas usando o Rego.Para criar e executar avaliações, verifique se você tem os papéis e as permissões necessários.
Se você usar a API Workload Manager para criar avaliações, crie manualmente o agente de serviço do Workload Manager no projeto do consumidor e conceda a ele os seguintes papéis:
Agente de serviço do Workload Manager (
roles/workloadmanager.serviceAgent) nos projetos de destino.Se você definir uma programação de avaliação, o worker do Workload Manager (
roles/workloadmanager.worker) no projeto do consumidor.
Quando você usa o console do Google Cloud , o Workload Manager cria o agente de serviço automaticamente. Para mais informações sobre como configurar agentes de serviço, consulte Agentes de serviço do Workload Manager.
Funções exigidas
Para receber as permissões necessárias para criar e executar uma avaliação de carga de trabalho, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Criar e executar uma avaliação:
Administrador de avaliação do Workload Manager (
roles/workloadmanager.evaluationAdmin) no projeto do consumidor -
Criar um agente de serviço (somente na primeira avaliação):
Administrador do IAM do projeto (
roles/resourcemanager.projectIamAdmin) nos projetos de consumidor e de destino -
Ler dados do Inventário de recursos do Cloud (regras personalizadas e práticas recomendadas):
Proprietário de recursos do Cloud (
roles/cloudasset.owner) no projeto do consumidor -
Ler regras personalizadas de um bucket do Cloud Storage (opcional):
Leitor de objetos do Storage (
roles/storage.objectViewer) no projeto do consumidor -
Criar notificações de alerta (opcional):
Gravador de métricas do Monitoring (
roles/monitoring.metricWriter) no projeto do consumidor -
Exportar resultados de avaliação para o BigQuery (opcional):
Administrador do BigQuery (
roles/bigquery.admin) no projeto do consumidor
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para criar e executar uma avaliação de carga de trabalho. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para criar e executar uma avaliação de carga de trabalho:
-
Criar e executar uma avaliação:
-
workloadmanager.evaluations.createno projeto de consumidor -
workloadmanager.evaluations.runno projeto de consumidor
-
-
Criar um agente de serviço (somente na primeira avaliação):
resourcemanager.projects.setIamPolicynos projetos de consumidor e de destino -
Ler dados do Inventário de recursos do Cloud (regras personalizadas e práticas recomendadas):
cloudasset.assets.searchAllResourcesno projeto do consumidor -
Ler regras personalizadas de um bucket do Cloud Storage (opcional):
-
storage.objects.getno projeto de consumidor -
storage.objects.listno projeto de consumidor
-
-
Criar notificações de alerta (opcional):
monitoring.timeSeries.createno projeto do consumidor -
Exportar resultados da avaliação para o BigQuery (opcional):
-
bigquery.datasets.getno projeto de consumidor -
bigquery.tables.createno projeto de consumidor -
bigquery.tables.updateDatano projeto de consumidor
-
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Para mais informações sobre papéis em projetos de consumidor e de destino, consulte Papéis do IAM em projetos de consumidor e de destino para avaliações e Papéis e permissões do IAM do Workload Manager.
Criar uma avaliação de carga de trabalho
É possível criar uma avaliação de carga de trabalho usando o console do Google Cloud ou a API Workload Manager. Para criar uma avaliação que use regras personalizadas, consulte Avaliar cargas de trabalho usando regras personalizadas.
Console
Para criar uma avaliação de carga de trabalho no console do Google Cloud , siga estas etapas:
No console do Google Cloud , acesse a página Workload Manager.
Selecione o projeto de consumidor do Google Cloud em que você quer armazenar e executar a avaliação.
Se solicitado, clique em Ativar para ativar a API necessária para o Workload Manager.
Clique em Nova avaliação.
No painel Nome e regras, configure os detalhes da avaliação e selecione as regras que serão avaliadas:
Em Nome da avaliação, insira um nome para a avaliação da carga de trabalho.
Opcional: em Descrição, insira uma descrição para a avaliação da carga de trabalho.
No campo Tipo de carga de trabalho, selecione um dos seguintes tipos de carga de trabalho compatíveis:
SAP
SQL Server
MySQL
Redis
OpenShift
Personalizado
Ao selecionar Personalizado, é possível avaliar as cargas de trabalho em relação às práticas recomendadas doGoogle Cloud ou às regras personalizadas armazenadas no Cloud Storage.
Na tabela de regras, selecione as regras de práticas recomendadas a serem incluídas na avaliação da carga de trabalho. Para mais informações sobre cada regra, consulte a Referência de práticas recomendadas doGoogle Cloud .
Clique em Continuar.
No painel Escopo e filtros, especifique os projetos de destino e os filtros de recursos para a avaliação:
Na seção Escopo da avaliação, para adicionar os projetos de destino que contêm os recursos que você quer avaliar, clique em Procurar projetos.
Opcional: para compartilhar as descobertas da regra entre os projetos de destino, marque a caixa de seleção Compartilhar descobertas. Para mais informações, consulte Compartilhar descobertas da avaliação.
Opcional: na seção Aplicar filtros aos recursos, para selecionar recursos específicos dos projetos de destino, clique em Adicionar filtro e use um dos seguintes tipos de filtro:
Conta de serviço: filtre as instâncias do Compute Engine pela conta de serviço anexada.
Rótulo: filtre recursos por pares de rótulos de chave-valor.
Nome: filtre recursos por padrão de ID de recurso.
Vários filtros no mesmo tipo de filtro usam a lógica
OR. Os filtros de diferentes tipos usam a lógicaAND.Se solicitado, selecione a região em que você quer que o Workload Manager armazene os dados de avaliação.
Clique em Continuar.
No painel Frequência e notificação, configure a programação de avaliação, o destino de exportação e as notificações de alerta:
Na seção Programação, selecione a frequência com que você quer que a avaliação seja executada.
Opcional: para exportar os resultados da avaliação para um conjunto de dados regional do BigQuery na mesma região da avaliação, selecione Salvar no conjunto de dados do BigQuery e especifique o conjunto de dados. Para criar uma tabela separada para a avaliação, selecione Criar uma nova tabela de resultados para esta avaliação.
Opcional: na seção Notificação, selecione os eventos para os quais você quer receber notificações de alerta e, em seguida, selecione seus canais de notificação.
Clique em Continuar.
No painel Revisar, revise as configurações de avaliação da carga de trabalho. Para modificar as configurações, clique no nome do painel na navegação à esquerda.
Clique em Criar.
REST
Para criar uma avaliação de carga de trabalho usando a API Workload Manager, siga estas etapas:
Opcional: para recuperar a lista de nomes de regras disponíveis para seu tipo de carga de trabalho, envie uma solicitação
GETao métodoprojects.locations.rules.list:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "X-Goog-User-Project: CONSUMER_PROJECT_ID" \ "https://workloadmanager.googleapis.com/v1/projects/CONSUMER_PROJECT_ID/locations/LOCATION_ID/rules?evaluationType=EVALUATION_TYPE"Substitua:
CONSUMER_PROJECT_ID: o ID do projeto do consumidor em que você executa as avaliações.LOCATION_ID: a região com disponibilidade para a avaliação, comous-central1EVALUATION_TYPE: o tipo de avaliação de carga de trabalho, comoSAP,SQL_SERVER,MYSQL,REDIS,OPENSHIFTouOTHER
Para criar a avaliação, envie uma solicitação
POSTao métodoprojects.locations.evaluations.create:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: CONSUMER_PROJECT_ID" \ -d '{ "description": "DESCRIPTION", "evaluationType": "EVALUATION_TYPE", "ruleNames": [ "RULE_NAMES" ], "resourceFilter": { "scopes": [ "projects/TARGET_PROJECT_ID" ], "resourceIdPatterns": [ "RESOURCE_ID_PATTERNS" ], "inclusionLabels": { "LABEL_KEY": "LABEL_VALUE" }, "gceInstanceFilter": { "serviceAccounts": [ "SERVICE_ACCOUNT_EMAIL" ] } }, "schedule": "SCHEDULE", "bigQueryDestination": { "destinationDataset": "projects/BQ_PROJECT_ID/datasets/BQ_DATASET_ID", "createNewResultsTable": true } }' \ "https://workloadmanager.googleapis.com/v1/projects/CONSUMER_PROJECT_ID/locations/LOCATION_ID/evaluations?evaluationId=EVALUATION_ID"Substitua:
CONSUMER_PROJECT_ID: o ID do projeto do consumidor em que você cria a avaliação.LOCATION_ID: a região com disponibilidade em que o Workload Manager armazena a avaliação, comous-central1.EVALUATION_ID: um ID exclusivo para a avaliaçãoDESCRIPTION: uma descrição da avaliação.EVALUATION_TYPE: o tipo de avaliação de carga de trabalho, comoSAP,SQL_SERVER,MYSQL,REDIS,OPENSHIFTouOTHERRULE_NAMES: uma lista separada por vírgulas de IDs de regras para incluir na avaliação.TARGET_PROJECT_ID: o ID do projeto ou o número do projeto de destino que contém os recursos a serem avaliados.RESOURCE_ID_PATTERNS: padrões de nome de recurso opcionais para filtrar recursos avaliados, como//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance*LABEL_KEYeLABEL_VALUE: pares de rótulos de chave-valor opcionais para filtrar recursos.SERVICE_ACCOUNT_EMAIL: endereço de e-mail opcional da conta de serviço para filtrar instâncias do Compute Engine.SCHEDULE: expressão cron opcional em UTC para execuções de avaliação recorrentes, como0 */6 * * *para executar a cada 6 horas.BQ_PROJECT_IDeBQ_DATASET_ID: ID do projeto opcional e ID do conjunto de dados regional do BigQuery para exportar os resultados da avaliação.
Para mais informações sobre os campos compatíveis, consulte a referência de recursos
Evaluation.
Executar uma avaliação da carga de trabalho
Além de executar avaliações em uma programação recorrente, é possível executar uma avaliação de carga de trabalho atual sob demanda a qualquer momento usando o console do Google Cloud ou a API Workload Manager.
Console
Para executar uma avaliação de carga de trabalho no console do Google Cloud , siga estas etapas:
No console do Google Cloud , acesse a página Workload Manager.
Clique no nome da avaliação que você quer executar.
Na página Informações de avaliação, clique em Executar.
A avaliação de uma carga de trabalho leva alguns minutos para ser concluída. Antes de conferir os resultados mais recentes, aguarde a conclusão da execução da avaliação.
REST
Para executar uma avaliação de carga de trabalho usando a API Workload Manager, envie uma solicitação POST ao método projects.locations.evaluations.executions.run:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "X-Goog-User-Project: CONSUMER_PROJECT_ID" \
-d '{
"executionId": "EXECUTION_ID"
}' \
"https://workloadmanager.googleapis.com/v1/projects/CONSUMER_PROJECT_ID/locations/LOCATION_ID/evaluations/EVALUATION_ID/executions:run"
Substitua:
CONSUMER_PROJECT_ID: o ID do projeto do consumidor que armazena a avaliação.LOCATION_ID: a região da avaliação, comous-central1.EVALUATION_ID: o ID da avaliação que você quer executar.EXECUTION_ID: um ID exclusivo opcional para essa execução. Para que o Workload Manager gere um ID automaticamente, omita esse campo.
A solicitação retorna um Operation de longa duração. Para verificar o status da execução ou listar os resultados, use os métodos projects.locations.evaluations.executions.get e projects.locations.evaluations.executions.results.list.
Compartilhar as descobertas da avaliação
Ao compartilhar as descobertas de avaliação, os proprietários de recursos nos projetos de destino podem ver as descobertas de configuração nos consoles de projetos locais e em páginas integradas, como o Compute Engine. Esse recurso não exige acesso direto do IAM ao projeto do consumidor.
Editar uma avaliação para compartilhar descobertas
Para ativar ou desativar o compartilhamento de descobertas de uma avaliação, siga estas etapas:
No console do Google Cloud , acesse a página Workload Manager.
Clique no nome da avaliação que você quer editar.
Clique em Editar.
Na seção Escopo e filtros, marque ou desmarque a caixa de seleção Compartilhar descobertas.
Clique em Salvar.
Visibilidade das descobertas compartilhadas
Quando você ativa a opção Compartilhar descobertas, o Workload Manager propaga as descobertas de regras para todos os projetos de destino especificados no escopo da avaliação. As descobertas ficam visíveis na guia Descobertas de regras e em páginas integradas, como a página Visão geral do Compute Engine.
Quando você desativa a opção Compartilhar descobertas, o Workload Manager para de propagar as descobertas de regras para os projetos de destino, e elas permanecem visíveis apenas no projeto do consumidor.
Definir notificações de alerta para avaliações
É possível configurar notificações de alerta para que o Workload Manager notifique os canais de notificação escolhidos quando ocorrerem eventos de avaliação específicos, como quando uma avaliação detectar novas descobertas ou não for executada. Se você não configurou as notificações de alerta ao criar a avaliação, é possível adicioná-las ou atualizá-las para uma avaliação atual no console do Google Cloud seguindo estas etapas:
No console do Google Cloud , acesse a página Workload Manager.
Clique no nome da avaliação para a qual você quer ativar as notificações de alerta.
Clique em Editar.
Selecione a seção Notificação.
Selecione os eventos para os quais você quer receber notificações de alerta e selecione seus canais de notificação.
Clique em Salvar.