Administración de clústeres personalizada AMIs - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Administración de clústeres personalizada AMIs

Una vez creada la AMI personalizada, puede usarla para crear o actualizar un SageMaker HyperPod clúster de Amazon. También puedes ampliar o añadir grupos de instancias que usen la nueva AMI.

Se requieren permisos para las operaciones de clúster

Agregue los siguientes permisos al usuario administrador del clúster que opera y configura SageMaker HyperPod los clústeres. El siguiente ejemplo de política incluye el conjunto mínimo de permisos para que los administradores de clústeres ejecuten el SageMaker HyperPod núcleo APIs y administren SageMaker HyperPod los clústeres con una AMI personalizada.

Tenga en cuenta que los permisos para compartir instantáneas de AMI ModifyImageAttribute y AMI EBS se incluyen mediante ModifySnapshotAttribute API como parte de la siguiente política. Para reducir el alcance de los permisos de uso compartido, puede seguir los siguientes pasos:

  • Agregue etiquetas para controlar los permisos de uso compartido de la AMI para la AMI y la instantánea de la AMI. Por ejemplo, puede etiquetar la AMI AllowSharing comotrue.

  • Agregue la clave de contexto a la política para permitir que solo se compartan AMI para AMIs etiquetas con determinadas etiquetas.

La siguiente política es una política restringida para garantizar que solo true se permitan las AMIs etiquetas con «AllowSharingcomo».

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::111122223333:role/your-execution-role-name" }, { "Effect": "Allow", "Action": [ "sagemaker:CreateCluster", "sagemaker:DeleteCluster", "sagemaker:DescribeCluster", "sagemaker:DescribeCluterNode", "sagemaker:ListClusterNodes", "sagemaker:ListClusters", "sagemaker:UpdateCluster", "sagemaker:UpdateClusterSoftware", "sagemaker:BatchDeleteClusterNodes", "eks:DescribeCluster", "eks:CreateAccessEntry", "eks:DescribeAccessEntry", "eks:DeleteAccessEntry", "eks:AssociateAccessPolicy", "iam:CreateServiceLinkedRole", "ec2:DescribeImages", "ec2:DescribeSnapshots" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:ModifyImageAttribute", "ec2:ModifySnapshotAttribute" ], "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/AllowSharing": "true" } } } ] }

Creación de un clúster

Puede especificar su AMI personalizada en el ImageId campo de la CreateCluster operación.

El siguiente ejemplo muestra cómo crear un clúster con una AMI personalizada:

aws sagemaker create-cluster \ --cluster-name <exampleClusterName> \ --orchestrator 'Eks={ClusterArn='<eks_cluster_arn>'}' \ --node-provisioning-mode Continuous \ --instance-groups '{ "InstanceGroupName": "<exampleGroupName>", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 2, "LifeCycleConfig": { "SourceS3Uri": "<s3://amzn-s3-demo-bucket>", "OnCreate": "on_create_noop.sh" }, "ImageId": "<your_custom_ami>", "ExecutionRole": "<arn:aws:iam::444455556666:role/Admin>", "ThreadsPerCore": 1, "InstanceStorageConfigs": [ { "EbsVolumeConfig": { "VolumeSizeInGB": 200 } } ] }' --vpc-config '{ "SecurityGroupIds": ["<security_group>"], "Subnets": ["<subnet>"] }'

Actualice el software del clúster

Si quieres actualizar un grupo de instancias existente en tu clúster con tu AMI personalizada, puedes usar la UpdateClusterSoftware operación y especificar tu AMI personalizada en el ImageId campo. Ten en cuenta que, a menos que especifiques el nombre de un grupo de instancias específico en tu solicitud, la nueva imagen se aplicará a todos los grupos de instancias del clúster.

El siguiente ejemplo muestra cómo actualizar el software de la plataforma de un clúster con una AMI personalizada:

aws sagemaker update-cluster-software \ --cluster-name <exampleClusterName> \ --instance-groups <instanceGroupToUpdate> \ --image-id <customAmiId>

Amplíe un grupo de instancias

En el siguiente ejemplo, se muestra cómo escalar un grupo de instancias para un clúster mediante una AMI personalizada:

aws sagemaker update-cluster \ --cluster-name <exampleClusterName> --instance-groups '[{ "InstanceGroupName": "<exampleGroupName>", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 2, "LifeCycleConfig": { "SourceS3Uri": "<s3://amzn-s3-demo-bucket>", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "<arn:aws:iam::444455556666:role/Admin>", "ThreadsPerCore": 1, "ImageId": "<your_custom_ami>" }]'

Agrega un grupo de instancias

En el siguiente ejemplo, se muestra cómo añadir un grupo de instancias a un clúster mediante una AMI personalizada:

aws sagemaker update-cluster \ --cluster-name "<exampleClusterName>" \ --instance-groups '{ "InstanceGroupName": "<exampleGroupName>", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 2, "LifeCycleConfig": { "SourceS3Uri": "<s3://amzn-s3-demo-bucket>", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "<arn:aws:iam::444455556666:role/Admin>", "ThreadsPerCore": 1, "ImageId": "<your_custom_ami>" }' '{ "InstanceGroupName": "<exampleGroupName2>", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 1, "LifeCycleConfig": { "SourceS3Uri": "<s3://amzn-s3-demo-bucket>", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "<arn:aws:iam::444455556666:role/Admin>", "ThreadsPerCore": 1, "ImageId": "<your_custom_ami>" }'