Conceda aos usuários permissões para usar grandes volumes de dados em todo o ciclo de vida do ML - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conceda aos usuários permissões para usar grandes volumes de dados em todo o ciclo de vida do ML

Os usuários do Amazon SageMaker Canvas que trabalham com conjuntos de dados maiores que 10 GB no CSV formato ou 2,5 GB no formato Parquet exigem permissões específicas para o processamento de grandes dados. Essas permissões são essenciais para gerenciar dados em grande escala em todo o ciclo de vida do aprendizado de máquina. Quando os conjuntos de dados excedem os limites estabelecidos ou a capacidade de memória local do aplicativo, o SageMaker Canvas usa o Amazon EMR Serverless para um processamento eficiente. Isso se aplica a:

  • Importação de dados: importação de grandes conjuntos de dados com amostragem aleatória ou estratificada.

  • Preparação de dados: exportação de dados processados do Data Wrangler no Canvas para o Amazon S3, para um novo conjunto de dados do Canvas ou para um modelo do Canvas.

  • Construção de modelos: modelos de treinamento em grandes conjuntos de dados.

  • Inferência: fazer previsões em grandes conjuntos de dados.

Por padrão, o SageMaker Canvas usa o EMR Serverless para executar esses trabalhos remotos com as seguintes configurações do aplicativo:

  • Capacidade pré-inicializada: não configurada

  • Limites de aplicativos: capacidade máxima de 400vCPUs, máximo simultâneo de 16 vCPUs por conta, 3000 GB de memória, 20000 GB de disco

  • Configuração do Metastore: AWS Glue Data Catalog

  • Registros do aplicativo: armazenamento AWS gerenciado (ativado), usando uma AWS chave de criptografia própria

  • Comportamento do aplicativo: inicia automaticamente no envio do trabalho e para automaticamente após o aplicativo ficar inativo por 15 minutos

Para habilitar esses grandes recursos de processamento de dados, os usuários precisam das permissões necessárias, que podem ser concedidas por meio das configurações de SageMaker domínio da Amazon. O método para conceder essas permissões depende de como seu SageMaker domínio da Amazon foi configurado inicialmente. Abordaremos três cenários principais:

  • Configuração rápida de domínio

  • Configuração de domínio personalizada (com acesso público à Internet ou sem) VPC

  • Configuração de domínio personalizada (com VPC e sem acesso público à Internet)

Cada cenário requer etapas específicas para garantir que os usuários tenham as permissões necessárias para aproveitar o EMR Serverless para processamento de grandes dados em todo o ciclo de vida do aprendizado de máquina no Canvas. SageMaker

Cenário 1: configuração rápida do domínio

Se você usou a opção Configuração rápida ao criar seu SageMaker domínio, siga estas etapas:

  1. Navegue até as configurações de SageMaker domínio da Amazon:

    1. Abra o SageMaker console da Amazon em https://console.aws.amazon.com/sagemaker/.

    2. No painel de navegação à esquerda, escolha Domínios.

    3. Selecione o seu domínio.

    4. Escolha a guia Configurações do aplicativo.

    5. Role até a seção Canvas e escolha Editar.

  2. Habilite o processamento de grandes dados:

    1. Na seção Configuração de processamento de dados grandes, ative Ativar EMR sem servidor para processamento de dados grandes.

    2. Crie ou selecione uma função EMR sem servidor:

      1. Escolha Criar e use uma nova função de execução para criar uma nova IAM função que tenha uma relação de confiança com o EMR Serverless e a AWS política gerenciada: AmazonSageMakerCanvas EMRServerlessExecutionRolePolicy política anexada. Essa IAM função é assumida pelo Canvas para criar EMR trabalhos sem servidor.

      2. Como alternativa, se você já tiver uma função de execução com uma relação de confiança para EMR Serverless, selecione Usar uma função de execução existente e escolha sua função no menu suspenso.

        • A função existente deve ter um nome que comece com o prefixoAmazonSageMakerCanvasEMRSExecutionAccess-.

        • A função selecionada também deve ter pelo menos as permissões descritas na AWS política gerenciada: AmazonSageMakerCanvas EMRServerlessExecutionRolePolicy política.

        • A função deve ter uma política de confiança EMR sem servidor, conforme mostrado abaixo:

          { "Version": "2012-10-17", "Statement": [ { "Sid": "EMRServerlessTrustPolicy", "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "<your-account-id>" } } } ] }
  3. (Opcional) Adicione permissões do Amazon S3 para buckets personalizados do Amazon S3:

    1. A política gerenciada do Canvas concede automaticamente permissões de leitura e gravação para buckets do Amazon S3 com sagemaker ou SageMaker em seus nomes. Ele também concede permissões de leitura para objetos em buckets personalizados do Amazon S3 com a tag. "SageMaker": "true"

    2. Para buckets personalizados do Amazon S3 sem a tag necessária, adicione a seguinte política à sua EMR função Serverless:

    3. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::*" ] } ] }
    4. Recomendamos que você defina o escopo das permissões para buckets específicos do Amazon S3 que você deseja que o Canvas acesse.

  4. Salve suas alterações e reinicie seu aplicativo SageMaker Canvas.

Cenário 2: configuração de domínio personalizado (com acesso público à Internet ou sem) VPC

Se você criou ou usa um domínio personalizado, siga as etapas 1 a 3 do Cenário 1 e, em seguida, execute estas etapas adicionais:

  1. Adicione permissões para a ECR DescribeImages operação da Amazon à sua função de SageMaker execução da Amazon, pois o Canvas utiliza imagens públicas do Amazon ECR Docker para preparação de dados e treinamento de modelos:

    1. Faça login no AWS console e abra o IAM console em https://console.aws.amazon.com/iam/.

    2. Escolha Perfis.

    3. Na caixa de pesquisa, pesquise sua função de SageMaker execução pelo nome e selecione-a.

    4. Adicione a política a seguir à sua função SageMaker de execução. Isso pode ser feito adicionando-a como uma nova política embutida ou anexando a declaração de política a uma existente. Observe que uma IAM função pode ter no máximo 10 políticas anexadas.

      { "Version": "2012-10-17", "Statement": [{ "Sid": "ECRDescribeImagesOperation", "Effect": "Allow", "Action": "ecr:DescribeImages", "Resource": [ "arn:aws:ecr:*:*:repository/sagemaker-data-wrangler-emr-container", "arn:aws:ecr:*:*:repository/ap-dataprep-emr" ] }] }
  2. Salve suas alterações e reinicie seu aplicativo SageMaker Canvas.

Cenário 3: configuração de domínio personalizado (com VPC e sem acesso público à Internet)

Se você criou ou usa um domínio personalizado, siga todas as etapas do Cenário 2 e, em seguida, siga estas etapas adicionais:

  1. Certifique-se de que suas VPC sub-redes sejam privadas:

    1. Verifique se a tabela de rotas de suas sub-redes não tem um mapeamento de entrada 0.0.0.0/0 para um Gateway da Internet.

  2. Adicione permissões para criar interfaces de rede:

    1. Ao usar o SageMaker Canvas com o EMR Serverless para processamento de dados em grande escala, o EMR Serverless exige a capacidade de criar a Amazon EC2 ENIs para permitir a comunicação de rede entre aplicativos sem EMR servidor e seus recursos. VPC

    2. Adicione a seguinte política à sua função de SageMaker execução da Amazon. Isso pode ser feito adicionando-a como uma nova política embutida ou anexando a declaração de política a uma existente. Observe que uma IAM função pode ter no máximo 10 políticas anexadas.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowEC2ENICreation", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ], "Condition": { "StringEquals": { "aws:CalledViaLast": "ops.emr-serverless.amazonaws.com" } } } ] }
  3. (Opcional) Restrinja a ENI criação a sub-redes específicas:

    1. Para proteger ainda mais sua configuração, restringindo a criação de ENIs algumas sub-redes dentro da suaVPC, você pode marcar cada sub-rede com condições específicas.

    2. Use a IAM política a seguir para garantir que os aplicativos EMR sem servidor possam criar a Amazon somente EC2 ENIs dentro das sub-redes e grupos de segurança permitidos:

      { "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/KEY": "VALUE" } } }
  4. Siga as etapas na página Configure o Amazon SageMaker Canvas em um VPC ambiente sem acesso à internet para definir o VPC endpoint para o Amazon S3, que é exigido EMR pelo Serverless e por AWS outros serviços usados pelo Canvas. SageMaker

  5. Salve suas alterações e reinicie seu aplicativo SageMaker Canvas.

Seguindo essas etapas, você pode habilitar o processamento de grandes dados no SageMaker Canvas para várias configurações de domínio, incluindo aquelas com VPC configurações personalizadas. Lembre-se de reiniciar seu aplicativo SageMaker Canvas depois de fazer essas alterações para aplicar as novas permissões.