Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Manajemen cluster dengan kustom AMIs
Setelah AMI kustom dibuat, Anda dapat menggunakannya untuk membuat atau memperbarui SageMaker HyperPod cluster Amazon. Anda juga dapat meningkatkan atau menambahkan grup instans yang menggunakan AMI baru.
Izin diperlukan untuk operasi klaster
Tambahkan izin berikut ke pengguna admin cluster yang mengoperasikan dan mengkonfigurasi SageMaker HyperPod cluster. Contoh kebijakan berikut mencakup kumpulan izin minimum bagi administrator klaster untuk menjalankan SageMaker HyperPod inti APIs dan mengelola SageMaker HyperPod klaster dengan AMI kustom.
Perhatikan bahwa izin berbagi snapshot AMI dan AMI EBS disertakan melalui ModifyImageAttribute dan izin ModifySnapshotAttribute API sebagai bagian dari kebijakan berikut. Untuk mencatat izin berbagi, Anda dapat mengambil langkah-langkah berikut:
-
Tambahkan tag untuk mengontrol izin berbagi AMI ke snapshot AMI dan AMI. Misalnya, Anda dapat menandai AMI dengan AllowSharing astrue.
-
Tambahkan kunci konteks dalam kebijakan untuk hanya mengizinkan berbagi AMI AMIs agar diberi tag dengan tag tertentu.
Kebijakan berikut adalah kebijakan bawah cakupan untuk memastikan hanya AMIs ditandai dengan AllowSharing sebagaimana true diizinkan.
- JSON
-
-
{
"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:DescribeClusterNode",
"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"
}
}
}
]
}
Buat klaster
Anda dapat menentukan AMI kustom Anda di ImageId bidang untuk CreateCluster operasi.
Contoh berikut menunjukkan cara membuat klaster dengan AMI kustom, baik dengan maupun tanpa kunci yang dikelola AWS KMS pelanggan untuk mengenkripsi volume cluster.
- Standard example
-
Contoh berikut menunjukkan cara membuat cluster dengan AMI kustom.
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>"]
}'
- Customer managed key example
-
Contoh berikut menunjukkan cara membuat klaster dengan AMI kustom sambil menentukan kunci terkelola AWS KMS pelanggan Anda sendiri untuk mengenkripsi volume Amazon EBS cluster. Dimungkinkan untuk menentukan kunci terkelola pelanggan yang berbeda untuk volume root dan volume penyimpanan instance. Jika Anda tidak menggunakan kunci yang dikelola pelanggan di InstanceStorageConfigs bidang, maka kunci KMS yang AWS dimiliki digunakan untuk mengenkripsi volume. Jika Anda menggunakan kunci yang berbeda untuk volume root dan volume penyimpanan instance sekunder, tetapkan kebijakan kunci KMS yang diperlukan pada kedua kunci Anda.
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:us-east-1:444455556666:role/Admin>",
"ThreadsPerCore": 1,
"InstanceStorageConfigs": [
# Root volume configuration
{
"EbsVolumeConfig": {
"RootVolume": True,
"VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/key-id"
}
},
# Instance storage volume configuration
{
"EbsVolumeConfig": {
"VolumeSizeInGB": 100,
"VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/key-id"
}
}
]
}' --vpc-config '{
"SecurityGroupIds": ["<security_group>"],
"Subnets": ["<subnet>"]
}'
Perbarui perangkat lunak cluster
Jika ingin memperbarui grup instans yang ada di klaster dengan AMI kustom, Anda dapat menggunakan UpdateClusterSoftware operasi dan menentukan AMI kustom Anda di ImageId bidang. Perhatikan bahwa kecuali Anda menentukan nama grup instans tertentu dalam permintaan Anda, maka gambar baru diterapkan ke semua grup instans di klaster Anda.
Contoh berikut menunjukkan cara memperbarui perangkat lunak platform cluster dengan AMI kustom:
aws sagemaker update-cluster-software \
--cluster-name <exampleClusterName> \
--instance-groups <instanceGroupToUpdate> \
--image-id <customAmiId>
Skalakan grup instans
Contoh berikut menunjukkan cara meningkatkan grup instans untuk klaster menggunakan AMI kustom, baik dengan maupun tanpa menggunakan kunci terkelola AWS KMS pelanggan untuk enkripsi.
- Standard example
-
Contoh berikut menunjukkan cara meningkatkan grup instans dengan AMI kustom.
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>"
}]'
- Customer managed key example
-
Contoh berikut menunjukkan cara memperbarui dan meningkatkan skala klaster Anda dengan AMI kustom sambil menentukan kunci terkelola AWS KMS pelanggan Anda sendiri untuk mengenkripsi volume Amazon EBS cluster. Dimungkinkan untuk menentukan kunci terkelola pelanggan yang berbeda untuk volume root dan volume penyimpanan instance. Jika Anda tidak menggunakan kunci yang dikelola pelanggan di InstanceStorageConfigs bidang, maka kunci KMS yang AWS dimiliki digunakan untuk mengenkripsi volume. Jika Anda menggunakan kunci yang berbeda untuk volume root dan volume penyimpanan instance sekunder, tetapkan kebijakan kunci KMS yang diperlukan pada kedua kunci Anda.
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>",
"InstanceStorageConfigs": [
# Root volume configuration
{
"EbsVolumeConfig": {
"RootVolume": True,
"VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/key-id"
}
},
# Instance storage volume configuration
{
"EbsVolumeConfig": {
"VolumeSizeInGB": 100,
"VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/key-id"
}
}
]
}]'
Tambahkan grup instance
Contoh berikut menunjukkan cara menambahkan grup instance ke klaster menggunakan AMI kustom:
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>"
}'