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á.
Gerenciamento de clusters com personalização AMIs
Depois que a AMI personalizada for criada, você poderá usá-la para criar ou atualizar um SageMaker HyperPod cluster da Amazon. Você também pode ampliar ou adicionar grupos de instâncias que usam a nova AMI.
Permissões necessárias para operações de cluster
Adicione as seguintes permissões ao usuário administrador do cluster que opera e configura SageMaker HyperPod clusters. O exemplo de política a seguir inclui o conjunto mínimo de permissões para administradores de cluster executarem o SageMaker HyperPod núcleo APIs e gerenciarem SageMaker HyperPod clusters com AMI personalizada.
Observe que as permissões de compartilhamento de instantâneos da AMI e do AMI EBS estão incluídas por meio ModifyImageAttribute
de permissões de ModifySnapshotAttribute
API como parte da política a seguir. Para definir o escopo das permissões de compartilhamento, você pode seguir as seguintes etapas:
-
Adicione tags para controlar as permissões de compartilhamento da AMI na AMI e no snapshot da AMI. Por exemplo, você pode marcar a AMI com
AllowSharing
astrue
. -
Adicione a chave de contexto na política para permitir o compartilhamento de AMI somente para AMIs marcações com determinadas tags.
A política a seguir é uma política de escopo reduzido para garantir que somente AMIs marcados com AllowSharing
as true
sejam permitidos.
{ "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" } } } ] }
Criar um cluster
Você pode especificar sua AMI personalizada no ImageId
campo da CreateCluster
operação.
O exemplo a seguir mostra como criar um cluster com uma 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>
"] }'
Atualize o software do cluster
Se você quiser atualizar um grupo de instâncias existente em seu cluster com sua AMI personalizada, você pode usar a UpdateClusterSoftware
operação e especificar sua AMI personalizada no ImageId
campo. Observe que, a menos que você especifique o nome de um grupo de instâncias específico em sua solicitação, a nova imagem será aplicada a todos os grupos de instâncias em seu cluster.
O exemplo a seguir mostra como atualizar o software da plataforma de um cluster com uma AMI personalizada:
aws sagemaker update-cluster-software \ --cluster-name
<exampleClusterName>
\ --instance-groups<instanceGroupToUpdate>
\ --image-id<customAmiId>
Amplie um grupo de instâncias
O exemplo a seguir mostra como escalar um grupo de instâncias para um cluster usando uma 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>
" }]'
Adicionar um grupo de instâncias
O exemplo a seguir mostra como adicionar um grupo de instâncias a um cluster usando uma 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>
" }'