Criação e gerenciamento de perfis de uso - AWS Glue

Criação e gerenciamento de perfis de uso

Criação de um perfil de uso do AWS Glue

Os administradores devem criar perfis de uso e depois atribuí-los aos diversos usuários. Ao criar um perfil de uso, você especifica valores padrão, bem como um intervalo de valores permitidos para vários parâmetros de tarefa e sessão. Você deve configurar ao menos um parâmetro para tarefas ou sessões interativas. É possível personalizar o valor padrão a ser usado quando um valor de parâmetro não for fornecido para a tarefa e/ou configurar um limite de intervalo ou um conjunto de valores permitidos para validação se um usuário fornecer um valor de parâmetro ao usar esse perfil.

Os padrões são uma prática recomendada definida pelo administrador para auxiliar os autores da tarefa. Quando um usuário cria uma nova tarefa e não define um valor de tempo limite, o sistema aplicará o tempo limite padrão do perfil de uso. Se o autor não tiver um perfil, o sistema vai aplicar os padrões de serviço do AWS Glue e salvá-los na definição de tarefa. No runtime, o AWS Glue aplica os limites definidos no perfil (mínimo, máximo, operadores permitidos).

Após a configuração de um parâmetro, todos os outros parâmetros serão opcionais. Os parâmetros passíveis de personalização para tarefas ou sessões interativas são:

  • Número de operadores: restrinja o número de operadores para evitar o uso excessivo dos recursos computacionais. É possível definir um valor padrão, mínimo e máximo. O mínimo é 1.

  • Tipo de operador: restrinja os tipos de operadores relevantes para suas workloads. Você pode definir um tipo padrão e permitir tipos de operador para um perfil de usuário.

  • Tempo limite: defina o tempo máximo durante o qual uma tarefa ou sessão interativa pode ser executada e consumir recursos antes de ser encerrada. Configure valores de tempo limite para evitar tarefas de longa duração.

    É possível definir um valor padrão, mínimo e máximo em minutos. O mínimo é de 1 (minuto). Embora o tempo limite padrão do AWS Glue seja de 2.880 minutos, você pode definir qualquer valor padrão no perfil de uso.

    Uma prática recomendada é a definição de um valor para “padrão”. Esse valor será usado para a criação da tarefa ou da sessão se o usuário não tiver definido nenhum valor.

  • Tempo limite de inatividade: defina o número de minutos em que uma sessão interativa fica inativa antes de expirar após a execução de uma célula. Defina o tempo limite de inatividade para que as sessões interativas sejam encerradas após a conclusão da tarefa. O intervalo de tempo limite de inatividade deverá estar dentro do limite do tempo limite.

    É possível definir um valor padrão, mínimo e máximo em minutos. O mínimo é de 1 (minuto). Embora o tempo limite padrão do AWS Glue seja de 2.880 minutos, você pode definir qualquer valor padrão no perfil de uso.

    Uma prática recomendada é a definição de um valor para “padrão”. Esse valor será usado para a criação da sessão se o usuário não tiver definido nenhum valor.

Para criar um perfil de uso do AWS Glue como administrador (console)
  1. No menu de navegação à esquerda, escolha Gerenciamento de custos.

  2. Escolha Criar perfil de uso.

  3. Insira o Nome do perfil de uso para o perfil de uso.

  4. Insira uma descrição opcional que ajudará outras pessoas a reconhecer a finalidade do perfil de uso.

  5. Defina pelo menos um parâmetro no perfil. Qualquer campo no formulário é um parâmetro. Por exemplo, o tempo limite mínimo de inatividade da sessão.

  6. Defina qualquer tag opcional que seja aplicável ao perfil de uso.

  7. Escolha Salvar.

    Um exemplo de um administrador criando um perfil de uso no AWS Glue.
Para criar um novo perfil de uso (AWS CLI)
  1. Insira o comando da a seguir.

    aws glue create-usage-profile --name profile-name --configuration file://config.json --tags list-of-tags

    no qual config.json pode definir valores de parâmetros para sessões interativas (SessionConfiguration) e tarefas (JobConfiguration):

    //config.json (There is a separate blob for session/job configuration { "SessionConfiguration": { "timeout": { "DefaultValue": "2880", "MinValue": "100", "MaxValue": "4000" }, "idleTimeout": { "DefaultValue": "30", "MinValue": "10", "MaxValue": "4000" }, "workerType": { "DefaultValue": "G.2X", "AllowedValues": [ "G.2X", "G.4X", "G.8X" ] }, "numberOfWorkers": { "DefaultValue": "10", "MinValue": "1", "MaxValue": "10" } }, "JobConfiguration": { "timeout": { "DefaultValue": "2880", "MinValue": "100", "MaxValue": "4000" }, "workerType": { "DefaultValue": "G.2X", "AllowedValues": [ "G.2X", "G.4X", "G.8X" ] }, "numberOfWorkers": { "DefaultValue": "10", "MinValue": "1", "MaxValue": "10" } } }
  2. Insira o comando a seguir para visualizar o perfil de uso criado:

    aws glue get-usage-profile --name profile-name

    A resposta:

    { "ProfileName": "foo", "Configuration": { "SessionConfiguration": { "numberOfWorkers": { "DefaultValue": "10", "MinValue": "1", "MaxValue": "10" }, "workerType": { "DefaultValue": "G.2X", "AllowedValues": [ "G.2X", "G.4X", "G.8X" ] }, "timeout": { "DefaultValue": "2880", "MinValue": "100", "MaxValue": "4000" }, "idleTimeout": { "DefaultValue": "30", "MinValue": "10", "MaxValue": "4000" } }, "JobConfiguration": { "numberOfWorkers": { "DefaultValue": "10", "MinValue": "1", "MaxValue": "10" }, "workerType": { "DefaultValue": "G.2X", "AllowedValues": [ "G.2X", "G.4X", "G.8X" ] }, "timeout": { "DefaultValue": "2880", "MinValue": "100", "MaxValue": "4000" } } }, "CreatedOn": "2024-01-19T23:15:24.542000+00:00" }

Comandos adicionais de CLI usados para gerenciar perfis de uso:

  • aws glue list-usage-profiles

  • aws glue update-usage-profile --name profile-name --configuration file://config.json

  • aws glue delete-usage-profile --name profile-name

Editar um perfil de uso

Para alterar os valores do parâmetro do perfil para tarefas e sessões interativas, os administradores podem editar os perfis de uso que eles criaram.

Para editar um perfil de uso:

Para editar um perfil de uso do AWS Glue como administrador (console)
  1. No menu de navegação à esquerda, escolha Gerenciamento de custos.

  2. Escolha um perfil de uso para o qual você tenha permissões para editar e escolha Editar.

  3. Faça as alterações necessárias no perfil. Por padrão, os parâmetros que já têm valores serão expandidos.

  4. Escolha Salvar edições.

    Um exemplo de um usuário editando um perfil de uso no AWS Glue.
Para editar um perfil de uso (AWS CLI)
  • Insira o comando da a seguir. A mesma sintaxe de arquivo --configuration é usada conforme apresentado acima no comando criar.

    aws glue update-usage-profile --name profile-name --configuration file://config.json

    no qual config.json define valores de parâmetros para sessões interativas (SessionConfiguration) e tarefas (JobConfiguration):

Atribuição de um perfil de uso

A coluna Status de utilização na página Perfis de uso mostra se um perfil de uso está ou não atribuído a usuários. Passar o mouse sobre o status mostra as entidades atribuídas do IAM.

O administrador pode atribuir um perfil de uso do AWS Glue aos usuários/perfis que criarem recursos do AWS Glue. A atribuição de um perfil é uma combinação de duas ações:

  • Atualizar a tag de usuário/perfil do IAM com a chave glue:UsageProfile e, em seguida

  • Atualizar a política do IAM do usuário/perfil.

Para usuários que usam o AWS Glue Studio para criar tarefas/sessões interativas, o administrador marca com tags os seguintes perfis:

  • Para restrições em tarefas, o administrador marca o perfil de console conectado.

  • Para restrições em sessões interativas, o administrador marca com tag o perfil que o usuário fornece ao criar o notebook.

Veja a seguir um exemplo de política que o administrador precisa atualizar nos usuários/perfis do IAM que criam recursos do AWS Glue:

{ "Effect": "Allow", "Action": [ "glue:GetUsageProfile" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:usageProfile/foo" ] }

O AWS Glue valida solicitações de tarefa, execução de tarefa e sessões com base nos valores especificados no perfil de uso do AWS Glue e gera uma exceção se a solicitação não for permitida. Para APIs síncronas, haverá o lançamento de um erro para o usuário. Para caminhos assíncronos, o sistema criará uma execução de tarefa com falha com a mensagem de erro de que o parâmetro de entrada está fora do intervalo permitido para o perfil atribuído do usuário/perfil.

Para atribuir um perfil de uso a um usuário/perfil:

  1. Abra o console do Identity and Access Management (IAM).

  2. No painel de navegação à esquerda, escolha Usuários ou Perfis.

  3. Escolha um usuário ou um perfil.

  4. Escolha a guia Tags.

  5. Selecione Adicionar nova tag

  6. Adicione uma tag com a Chave de glue:UsageProfile e o Valor do nome do seu perfil de uso.

  7. Selecione Save changes (Salvar alterações)

    Um exemplo de adição de uma tag a um perfil do IAM.

Visualizar seu perfil de uso atribuído

Os usuários podem visualizar seus perfis de uso atribuídos e usá-los ao fazer chamadas de API para criar recursos de tarefa e sessão do AWS Glue ou ao iniciar uma tarefa.

As permissões de perfil são fornecidas nas políticas do IAM. O usuário poderá visualizar o perfil desde que a política de chamadas tenha a permissão glue:UsageProfile. Caso contrário, você receberá um erro de acesso negado.

Para visualizar um perfil de uso atribuído:

  1. No menu de navegação à esquerda, escolha Gerenciamento de custos.

  2. Escolha um perfil de uso para o qual você tenha permissões de visualizar.

Um exemplo de um usuário visualizando seu perfil de uso atribuído no AWS Glue.