¿Cómo puedo solucionar los problemas con los trabajos de cuaderno programados en SageMaker Studio?

4 minutos de lectura
0

Cuando ejecuto un trabajo de cuaderno programado en Amazon SageMaker Studio, aparece un error.

Breve descripción

Hay dos errores comunes que pueden impedir un trabajo de cuaderno programado en SageMaker Studio:

  • Errores de AccessDenied
  • Errores de interfaz de usuario al intentar actualizar un trabajo

Resolución

Errores de AccessDenied

Los errores de AccessDenied suelen implicar los siguientes problemas:

  • Políticas de AWS Identity and Access Management (IAM)
  • Políticas de punto de conexión de nube virtual privada (VPC)
  • Excepciones de las etiquetas de recursos

Problemas relacionados con la política de IAM

Los errores de AccessDenied se producen con mayor frecuencia a partir de errores basados en permisos. Por lo tanto, siga las prácticas recomendadas para el rol de IAM que necesita para el trabajo de cuaderno. Necesita el siguiente rol de IAM para la relación de confianza base:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    },
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "events.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Además, compruebe que su rol de IAM tenga los siguientes permisos:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::*:role/*",
      "Condition": {
        "StringLike": {
          "iam:PassedToService": [
            "sagemaker.amazonaws.com",
            "events.amazonaws.com"
          ]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "events:TagResource",
        "events:DeleteRule",
        "events:PutTargets",
        "events:DescribeRule",
        "events:PutRule",
        "events:RemoveTargets",
        "events:DisableRule",
        "events:EnableRule"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:PutBucketVersioning",
        "s3:PutEncryptionConfiguration"
      ],
      "Resource": "arn:aws:s3:::sagemaker-automated-execution-*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListTags"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:user-profile/*",
        "arn:aws:sagemaker:*:*:space/*",
        "arn:aws:sagemaker:*:*:training-job/*",
        "arn:aws:sagemaker:*:*:pipeline/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:training-job/*",
        "arn:aws:sagemaker:*:*:pipeline/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:CreateVpcEndpoint",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeRouteTables",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets",
        "ec2:DescribeVpcEndpoints",
        "ec2:DescribeVpcs",
        "ecr:BatchCheckLayerAvailability",
        "ecr:BatchGetImage",
        "ecr:GetDownloadUrlForLayer",
        "ecr:GetAuthorizationToken",
        "s3:ListBucket",
        "s3:GetBucketLocation",
        "s3:GetEncryptionConfiguration",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:GetObject",
        "sagemaker:DescribeDomain",
        "sagemaker:DescribeUserProfile",
        "sagemaker:DescribeSpace",
        "sagemaker:DescribeStudioLifecycleConfig",
        "sagemaker:DescribeImageVersion",
        "sagemaker:DescribeAppImageConfig",
        "sagemaker:CreateTrainingJob",
        "sagemaker:DescribeTrainingJob",
        "sagemaker:StopTrainingJob",
        "sagemaker:Search",
        "sagemaker:CreatePipeline",
        "sagemaker:DescribePipeline",
        "sagemaker:DeletePipeline",
        "sagemaker:StartPipelineExecution"
      ],
      "Resource": "*"
    }
  ]
}

Para obtener más información, consulte AWS managed policies for SageMaker notebooks.

Problemas relacionados con los puntos de conexión de VPC

Si inicia el trabajo de cuaderno a través de un punto de conexión de VPC, compruebe la configuración y la política del punto de conexión. Asegúrese de seguir los pasos y las prácticas recomendadas para el punto de conexión del servicio correspondiente:

En el caso de los puntos de conexión de VPC de Amazon S3, el error más común hace referencia a un punto de conexión restringido a una sola cuenta. Por ejemplo, la siguiente política restringe el acceso a una cuenta con el ID 111122223333:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowSpecificAccountsPermission",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "s3:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "s3:ResourceAccount": "111122223333"
        }
      }
    }
  ]
}

En este caso, también debe permitir el siguiente acceso al bucket para las acciones del usuario:

{
  "Action": [
    "s3:*"
  ],
  "Resource": [
    "arn:aws:s3:::sagemakerheadlessexecution-prod-*",
    "arn:aws:s3:::sagemakerheadlessexecution-prod-*/*"
  ],
  "Effect": "Allow",
  "Sid": "SCTASK14554266"
}

Excepciones de las etiquetas de recursos

Asegúrese de que su política de IAM tenga los permisos siguientes:

{
  "Effect": "Allow",
  "Action": [
    "events:TagResource",
    "events:DeleteRule",
    "events:PutTargets",
    "events:DescribeRule",
    "events:PutRule",
    "events:RemoveTargets",
    "events:DisableRule",
    "events:EnableRule"
  ],
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true"
    }
  }
}

Errores de interfaz de usuario al intentar actualizar un trabajo

Es posible que aparezca un error en la interfaz de usuario al intentar crear, describir, actualizar, detener o eliminar un trabajo de cuaderno. También puede encontrarse con este problema en las definiciones de trabajos (trabajos programados). Para solucionarlo, primero observe el mensaje de error que aparece en la interfaz de usuario. Este mensaje suele contener instrucciones o sugerencias de acciones para resolver el problema.

Si no puede resolver el error, siga estos pasos:

  1. Haga una captura de pantalla del error y, a continuación, guárdela como archivo de imagen.
  2. Cree un archivo HTTP Archive (HAR) que capture el tráfico de red cuando se produzca el error de la interfaz de usuario.
  3. Vaya a la terminal del servidor de Jupyter de SageMaker Studio. Elija Archivo, Nuevo, Terminal.
  4. Compruebe los registros de /var/log/apps/app_container.log para ver si hay excepciones, errores o advertencias en el momento del error de la interfaz de usuario.
  5. Póngase en contacto con AWS Support a través de AWS Support Center. En su solicitud, adjunte la captura de pantalla del error, el app_container.log y el archivo HAR.
OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 6 meses