

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengelola SageMaker HyperPod cluster yang diatur oleh Amazon EKS
<a name="sagemaker-hyperpod-eks-operate"></a>

Bagian ini memberikan panduan tentang pengelolaan SageMaker HyperPod melalui UI konsol SageMaker AI atau AWS Command Line Interface (CLI). Ini menjelaskan bagaimana melakukan berbagai tugas yang terkait dengan SageMaker HyperPod, apakah Anda lebih suka antarmuka visual atau bekerja dengan perintah.

**Topics**
+ [

# Memulai dengan dukungan Amazon EKS di SageMaker HyperPod
](sagemaker-hyperpod-eks-prerequisites.md)
+ [

# Menginstal paket di cluster Amazon EKS menggunakan Helm
](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md)
+ [

# Menyiapkan kontrol akses berbasis peran Kubernetes
](sagemaker-hyperpod-eks-setup-rbac.md)
+ [

# Gambar Mesin Amazon Kustom (AMIs) untuk SageMaker HyperPod cluster
](hyperpod-custom-ami-support.md)
+ [

# Mengelola kluster SageMaker HyperPod EKS menggunakan konsol SageMaker
](sagemaker-hyperpod-eks-operate-console-ui.md)
+ [

# Membuat SageMaker HyperPod cluster menggunakan template CloudFormation
](smcluster-getting-started-eks-console-create-cluster-cfn.md)
+ [

# Mengelola kluster SageMaker HyperPod EKS menggunakan AWS CLI
](sagemaker-hyperpod-eks-operate-cli-command.md)
+ [

# HyperPod pos pemeriksaan berjenjang terkelola
](managed-tier-checkpointing.md)
+ [

# SageMaker HyperPod tata kelola tugas
](sagemaker-hyperpod-eks-operate-console-ui-governance.md)
+ [

# Pelaporan penggunaan untuk atribusi biaya di SageMaker HyperPod
](sagemaker-hyperpod-usage-reporting.md)
+ [

# Mengkonfigurasi penyimpanan untuk SageMaker HyperPod cluster yang diatur oleh Amazon EKS
](sagemaker-hyperpod-eks-setup-storage.md)
+ [

# Menggunakan driver Amazon EBS CSI di SageMaker HyperPod cluster EKS
](sagemaker-hyperpod-eks-ebs.md)
+ [

# Mengonfigurasi label dan taint Kubernetes kustom di Amazon SageMaker HyperPod
](sagemaker-hyperpod-eks-custom-labels-and-taints.md)

# Memulai dengan dukungan Amazon EKS di SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-prerequisites"></a>

Selain umum [Prasyarat untuk menggunakan SageMaker HyperPod](sagemaker-hyperpod-prerequisites.md) untuk SageMaker HyperPod, periksa persyaratan dan pertimbangan berikut untuk mengatur cluster SageMaker HyperPod menggunakan Amazon EKS.

**penting**  
Anda dapat mengatur konfigurasi sumber daya untuk membuat SageMaker HyperPod cluster menggunakan Konsol Manajemen AWS dan CloudFormation. Untuk informasi selengkapnya, lihat [Membuat SageMaker HyperPod cluster dengan orkestrasi Amazon EKS](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md) dan [Membuat SageMaker HyperPod cluster menggunakan template CloudFormation](smcluster-getting-started-eks-console-create-cluster-cfn.md).

**Persyaratan**

**catatan**  
Sebelum membuat HyperPod cluster, Anda memerlukan kluster Amazon EKS yang sedang berjalan yang dikonfigurasi dengan VPC dan diinstal menggunakan Helm.
+ Jika menggunakan konsol SageMaker AI, Anda dapat membuat cluster Amazon EKS di dalam halaman konsol HyperPod cluster. Untuk informasi selengkapnya, lihat [Membuat SageMaker HyperPod cluster dengan orkestrasi Amazon EKS](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md).
+ Jika menggunakan AWS CLI, Anda harus membuat klaster Amazon EKS sebelum membuat cluster untuk diasosiasikan. HyperPod Untuk informasi selengkapnya, lihat [Membuat klaster Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) di Panduan Pengguna Amazon EKS.

Saat menyediakan kluster Amazon EKS Anda, pertimbangkan hal berikut:

1. **Dukungan versi Kubernetes**
   + SageMaker HyperPod mendukung Kubernetes versi 1.28, 1.29, 1.30, 1.31, 1.32, 1.33, dan 1.34.

1. **Mode otentikasi klaster Amazon EKS**
   + Mode otentikasi kluster Amazon EKS yang didukung oleh SageMaker HyperPod adalah `API` dan`API_AND_CONFIG_MAP`.

1. **Jaringan**
   + SageMaker HyperPod memerlukan plug-in Amazon VPC Container Network Interface (CNI) versi 1.18.3 atau yang lebih baru.
**catatan**  
[AWS Plugin VPC CNI untuk Kubernetes](https://github.com/aws/amazon-vpc-cni-k8s) adalah satu-satunya CNI yang didukung oleh. SageMaker HyperPod
   + [Jenis subnet](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-types) di VPC Anda harus bersifat pribadi HyperPod untuk cluster.

1. **Peran IAM**
   + Pastikan peran IAM yang diperlukan untuk HyperPod diatur sebagaimana dipandu di [AWS Identity and Access Management untuk SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md) bagian.

1. **Pengaya klaster Amazon EKS**
   + Anda dapat terus menggunakan berbagai add-on yang disediakan oleh Amazon EKS seperti [Kube-proxy](https://docs.aws.amazon.com/eks/latest/userguide/add-ons-kube-proxy.html), [CoreDNS](https://docs.aws.amazon.com/eks/latest/userguide/add-ons-coredns.html), plugin [Amazon VPC Container Network Interface (CNI), identitas GuardDuty pod Amazon](https://docs.aws.amazon.com/eks/latest/userguide/add-ons-vpc-cni.html) EKS, agen, driver Amazon Container Storage Interface (CSI), FSx driver Mountpoint untuk Amazon S3 CSI, Distro for, dan agen Observability. AWS OpenTelemetry CloudWatch

**Pertimbangan untuk mengonfigurasi SageMaker HyperPod cluster dengan Amazon EKS**
+ Anda harus menggunakan peran IAM yang berbeda berdasarkan jenis node Anda. Untuk HyperPod node, gunakan peran berdasarkan[Peran IAM untuk SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod). Untuk node Amazon EKS, lihat [Peran IAM node Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html).
+ Anda dapat menyediakan dan memasang volume Amazon EBS tambahan pada SageMaker HyperPod node menggunakan dua pendekatan: gunakan [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html#sagemaker-Type-ClusterInstanceGroupSpecification-InstanceStorageConfigs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html#sagemaker-Type-ClusterInstanceGroupSpecification-InstanceStorageConfigs)untuk penyediaan volume tingkat cluster (tersedia saat membuat atau memperbarui grup instans), atau gunakan driver Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) untuk pengelolaan volume level pod dinamis. Dengan [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html#sagemaker-Type-ClusterInstanceGroupSpecification-InstanceStorageConfigs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html#sagemaker-Type-ClusterInstanceGroupSpecification-InstanceStorageConfigs), atur [jalur lokal](https://kubernetes.io/docs/concepts/storage/volumes/#local) `/opt/sagemaker` untuk memasang volume dengan benar ke pod Amazon EKS Anda. Untuk informasi tentang cara menerapkan pengontrol [Amazon EBS CSI](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) pada HyperPod node, lihat. [Menggunakan driver Amazon EBS CSI di SageMaker HyperPod cluster EKS](sagemaker-hyperpod-eks-ebs.md)
+ Jika Anda menggunakan label tipe instance untuk menentukan batasan penjadwalan, pastikan Anda menggunakan tipe instans AI ML yang diawali dengan awalan. SageMaker `ml.` Misalnya, untuk instance P5, gunakan `ml.p5.48xlarge` sebagai pengganti. `p5.48xlarge`

**Pertimbangan untuk mengonfigurasi jaringan untuk SageMaker HyperPod cluster dengan Amazon EKS**
+ Setiap instance HyperPod cluster mendukung satu Elastic Network Interface (ENI). Untuk jumlah maksimum Pod per jenis instans, lihat tabel berikut.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/sagemaker-hyperpod-eks-prerequisites.html)
+ Hanya Pod yang `hostNetwork = true` memiliki akses ke Amazon EC2 Instance Metadata Service (IMDS) secara default. Gunakan identitas Amazon EKS Pod atau [peran IAM untuk akun layanan (IRSA)](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) untuk mengelola akses ke AWS kredensyal Pod.
+  HyperPod Cluster yang diatur EKS mendukung mode pengalamatan IP ganda, memungkinkan konfigurasi dengan atau IPv4 untuk kluster IPv6 Amazon IPv6 EKS di lingkungan VPC dan subnet yang diaktifkan. IPv6 Untuk informasi selengkapnya, lihat [Menyiapkan SageMaker HyperPod dengan VPC Amazon khusus](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-optional-vpc).

**Pertimbangan untuk menggunakan fitur ketahanan HyperPod cluster**
+ Penggantian otomatis node tidak didukung untuk instance CPU.
+ Agen pemantauan HyperPod kesehatan perlu diinstal agar pemulihan otomatis node berfungsi. Agen dapat diinstal menggunakan Helm. Untuk informasi selengkapnya, lihat [Menginstal paket di cluster Amazon EKS menggunakan Helm](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md).
+ Agen pemeriksaan kesehatan dan pemantauan kesehatan yang HyperPod mendalam mendukung instans GPU dan Trn.
+ SageMaker AI menerapkan noda berikut ke node saat mereka menjalani pemeriksaan kesehatan mendalam:

  ```
  effect: NoSchedule
  key: sagemaker.amazonaws.com/node-health-status
  value: Unschedulable
  ```
**catatan**  
Anda tidak dapat menambahkan taint khusus ke node dalam grup instance dengan `DeepHealthChecks` dihidupkan.

 Setelah klaster Amazon EKS Anda berjalan, konfigurasikan klaster Anda menggunakan manajer paket Helm seperti yang diinstruksikan [Menginstal paket di cluster Amazon EKS menggunakan Helm](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md) sebelum membuat klaster Anda HyperPod .

# Menginstal paket di cluster Amazon EKS menggunakan Helm
<a name="sagemaker-hyperpod-eks-install-packages-using-helm-chart"></a>

Sebelum membuat SageMaker HyperPod cluster dan melampirkannya ke cluster Amazon EKS, Anda harus menginstal paket menggunakan [Helm](https://helm.sh/), manajer paket untuk Kubernetes. Helm adalah alat sumber terbuka untuk menyiapkan proses instalasi untuk klaster Kubernetes. Ini memungkinkan otomatisasi dan perampingan instalasi ketergantungan dan menyederhanakan berbagai pengaturan yang diperlukan untuk mempersiapkan kluster Amazon EKS sebagai orkestrator (bidang kontrol) untuk sebuah cluster. SageMaker HyperPod 

Tim SageMaker HyperPod layanan menyediakan paket bagan Helm, yang menggabungkan dependensi kunci seperti device/EFA plug-in, plug-in, Operator Pelatihan [Kubeflow](https://www.kubeflow.org/docs/components/training/), dan konfigurasi izin terkait.

**penting**  
Langkah instalasi Helm ini diperlukan. Jika Anda mengatur kluster Amazon EKS menggunakan [Konsol Manajemen AWS](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md)or [CloudFormation](smcluster-getting-started-eks-console-create-cluster-cfn.md), Anda dapat melewati langkah ini karena penginstalan ditangani secara otomatis selama proses penyiapan. Jika Anda menyiapkan cluster secara langsung menggunakan APIs, gunakan bagan Helm yang disediakan untuk mengonfigurasi klaster Amazon EKS Anda. Kegagalan mengonfigurasi kluster Amazon EKS Anda menggunakan bagan Helm yang disediakan dapat mengakibatkan SageMaker HyperPod klaster tidak berfungsi dengan benar atau proses pembuatan gagal sepenuhnya. Nama `aws-hyperpod` namespace tidak dapat diubah.

1. [Instal Helm](https://helm.sh/docs/intro/install/) di mesin lokal Anda.

1. Unduh bagan Helm yang disediakan oleh SageMaker HyperPod terletak di `helm_chart/HyperPodHelmChart` dalam repositori [SageMaker HyperPod CLI](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart).

   ```
   git clone https://github.com/aws/sagemaker-hyperpod-cli.git
   cd sagemaker-hyperpod-cli/helm_chart
   ```

1. Perbarui dependensi bagan Helm, pratinjau perubahan yang akan dilakukan pada klaster Kubernetes Anda, dan instal bagan Helm.

   ```
   helm dependencies update HyperPodHelmChart
   ```

   ```
   helm install hyperpod-dependencies HyperPodHelmChart --namespace kube-system --dry-run
   ```

   ```
   helm install hyperpod-dependencies HyperPodHelmChart --namespace kube-system
   ```

Singkatnya, instalasi Helm menyiapkan berbagai komponen untuk klaster Amazon EKS Anda, termasuk penjadwalan pekerjaan dan antrian (Kueue), manajemen penyimpanan, integrasi, dan Kubeflow. MLflow Selain itu, bagan menginstal komponen berikut untuk diintegrasikan dengan fitur ketahanan SageMaker HyperPod cluster, yang merupakan komponen yang diperlukan.
+ **Agen pemantauan kesehatan** — Ini menginstal agen pemantauan kesehatan yang disediakan oleh. SageMaker HyperPod Ini diperlukan jika Anda ingin agar HyperPod cluster Anda dipantau. Agen pemantauan kesehatan disediakan sebagai gambar Docker sebagai berikut. Dalam yang disediakan `values.yaml` dalam bagan Helm, gambar sudah diatur sebelumnya. Agen mendukung instance dan Trainium-accelerator-based instance berbasis GPU (`trn1`,,). `trn1n` `inf2` Itu diinstal ke `aws-hyperpod` namespace. Untuk menemukan URI yang didukung, lihat [Wilayah yang Didukung dan ECR mereka URIs di sagemaker-hyperpod-cli repositori aktif](https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/readme.md#6-notes). GitHub
+ **Pemeriksaan kesehatan mendalam** - Ini mengatur`ClusterRole`, a ServiceAccount (`deep-health-check-service-account`) di `aws-hyperpod` namespace, dan a `ClusterRoleBinding` untuk mengaktifkan fitur pemeriksaan kesehatan SageMaker HyperPod mendalam. Untuk informasi selengkapnya tentang file Kubernetes RBAC untuk pemeriksaan kesehatan mendalam, lihat file konfigurasi di [https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/HyperPodHelmChart/charts/deep-health-check/templates/deep-health-check-rbac.yaml](https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/HyperPodHelmChart/charts/deep-health-check/templates/deep-health-check-rbac.yaml)repositori CLI. SageMaker HyperPod GitHub 
+ **`job-auto-restart`**- Ini mengatur`ClusterRole`, a ServiceAccount (`job-auto-restart`) di `aws-hyperpod` namespace, dan a`ClusterRoleBinding`, untuk mengaktifkan fitur restart otomatis untuk pekerjaan PyTorch pelatihan di. SageMaker HyperPod Untuk informasi selengkapnya tentang file Kubernetes RBAC`job-auto-restart`, lihat file konfigurasi di [https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/HyperPodHelmChart/charts/job-auto-restart/templates/job-auto-restart-rbac.yaml](https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/HyperPodHelmChart/charts/job-auto-restart/templates/job-auto-restart-rbac.yaml)repositori CLI. SageMaker HyperPod GitHub 
+ Operator MPI **Kubeflow — Operator MPI adalah operator** [Kubernetes yang menyederhanakan menjalankan beban kerja Machine Learning (ML](https://github.com/kubeflow/mpi-operator)) dan High-Performance Computing (HPC) terdistribusi menggunakan Message Passing Interface (MPI) pada klaster Kubernetes. Ini menginstal MPI Operator v0.5. Itu diinstal ke `mpi-operator` namespace.
+ **`nvidia-device-plugin`**— Ini adalah plug-in perangkat Kubernetes yang memungkinkan Anda mengekspos NVIDIA secara otomatis GPUs untuk dikonsumsi oleh kontainer di cluster Amazon EKS Anda. Hal ini memungkinkan Kubernetes untuk mengalokasikan dan menyediakan akses ke yang diminta GPUs untuk kontainer itu. Diperlukan saat menggunakan tipe instance dengan GPU.
+ **`neuron-device-plugin`**— Ini adalah plug-in perangkat Kubernetes yang memungkinkan Anda mengekspos chip AWS Inferentia secara otomatis untuk dikonsumsi oleh kontainer di cluster Amazon EKS Anda. Hal ini memungkinkan Kubernetes untuk mengakses dan memanfaatkan chip AWS Inferentia pada node cluster. Diperlukan saat menggunakan tipe instance Neuron.
+ **`aws-efa-k8s-device-plugin`**- Ini adalah plug-in perangkat Kubernetes yang memungkinkan penggunaan AWS Elastic Fabric Adapter (EFA) di cluster Amazon EKS. EFA adalah perangkat jaringan yang menyediakan komunikasi latensi rendah dan throughput tinggi antar instance dalam sebuah cluster. Diperlukan saat menggunakan jenis instans yang didukung EFA.

Untuk informasi lebih lanjut tentang prosedur instalasi menggunakan bagan Helm yang disediakan, lihat [file README di repositori CLI SageMaker HyperPod ](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart).

# Menyiapkan kontrol akses berbasis peran Kubernetes
<a name="sagemaker-hyperpod-eks-setup-rbac"></a>

Pengguna admin klaster juga perlu menyiapkan [Kubernetes role-based access control (RBAC)](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) agar pengguna data scientist menggunakan [SageMaker HyperPod CLI](https://github.com/aws/sagemaker-hyperpod-cli) untuk menjalankan beban kerja pada cluster yang diatur dengan Amazon EKS. HyperPod 

## Opsi 1: Siapkan RBAC menggunakan bagan Helm
<a name="sagemaker-hyperpod-eks-setup-rbac-helm"></a>

Tim SageMaker HyperPod layanan menyediakan sub-bagan Helm untuk menyiapkan RBAC. Untuk mempelajari selengkapnya, lihat [Menginstal paket di cluster Amazon EKS menggunakan Helm](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md).

## Opsi 2: Siapkan RBAC secara manual
<a name="sagemaker-hyperpod-eks-setup-rbac-manual"></a>

Buat `ClusterRole` dan `ClusterRoleBinding` dengan hak istimewa minimum, dan buat `Role` dan `RoleBinding` dengan izin mutasi.

**Untuk membuat `ClusterRole` & `ClusterRoleBinding` untuk peran IAM ilmuwan data**

Buat file `cluster_level_config.yaml` konfigurasi tingkat cluster sebagai berikut.

```
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: hyperpod-scientist-user-cluster-role
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["list"]
- apiGroups: [""]
  resources: ["nodes"]
  verbs: ["list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: hyperpod-scientist-user-cluster-role-binding
subjects:
- kind: Group
  name: hyperpod-scientist-user-cluster-level
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: hyperpod-scientist-user-cluster-role # this must match the name of the Role or ClusterRole you wish to bind to
  apiGroup: rbac.authorization.k8s.io
```

Terapkan konfigurasi ke cluster EKS.

```
kubectl apply -f cluster_level_config.yaml
```

**Untuk membuat Peran dan RoleBinding di namespace**

Ini adalah operator pelatihan namespace yang menjalankan pekerjaan pelatihan dan Ketahanan akan memantau secara default. Job auto-resume hanya dapat mendukung di `kubeflow` namespace atau namespace awalan. `aws-hyperpod` 

Buat file konfigurasi peran `namespace_level_role.yaml` sebagai berikut. Contoh ini menciptakan peran dalam `kubeflow` namespace

```
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: kubeflow
  name: hyperpod-scientist-user-namespace-level-role
###
#  1) add/list/describe/delete pods
#  2) get/list/watch/create/patch/update/delete/describe kubeflow pytroch job
#  3) get pod log
###
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["create", "get"]
- apiGroups: [""]
  resources: ["nodes"]
  verbs: ["get", "list"]
- apiGroups: [""]
  resources: ["pods/log"]
  verbs: ["get", "list"]
- apiGroups: [""]
  resources: ["pods/exec"]
  verbs: ["get", "create"]
- apiGroups: ["kubeflow.org"]
  resources: ["pytorchjobs", "pytorchjobs/status"]
  verbs: ["get", "list", "create", "delete", "update", "describe"]
- apiGroups: [""]
  resources: ["configmaps"]
  verbs: ["create", "update", "get", "list", "delete"]
- apiGroups: [""]
  resources: ["secrets"]
  verbs: ["create", "get", "list", "delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  namespace: kubeflow
  name: hyperpod-scientist-user-namespace-level-role-binding
subjects:
- kind: Group
  name: hyperpod-scientist-user-namespace-level
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: hyperpod-scientist-user-namespace-level-role # this must match the name of the Role or ClusterRole you wish to bind to
  apiGroup: rbac.authorization.k8s.io
```

Terapkan konfigurasi ke cluster EKS.

```
kubectl apply -f namespace_level_role.yaml
```

## Membuat entri akses untuk grup Kubernetes
<a name="sagemaker-hyperpod-eks-setup-rbac-access-entry"></a>

Setelah Anda mengatur RBAC menggunakan salah satu dari dua opsi di atas, gunakan perintah contoh berikut untuk menggantikan informasi yang diperlukan.

```
aws eks create-access-entry \
    --cluster-name <eks-cluster-name> \
    --principal-arn arn:aws:iam::<AWS_ACCOUNT_ID_SCIENTIST_USER>:role/ScientistUserRole \
    --kubernetes-groups '["hyperpod-scientist-user-namespace-level","hyperpod-scientist-user-cluster-level"]'
```

Untuk `principal-arn` parameternya, Anda perlu menggunakan[Pengguna IAM untuk ilmuwan](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-user).

# Gambar Mesin Amazon Kustom (AMIs) untuk SageMaker HyperPod cluster
<a name="hyperpod-custom-ami-support"></a>

Menggunakan Amazon Machine Images (AMIs) dasar yang disediakan dan dipublikasikan oleh Amazon SageMaker HyperPod, Anda dapat membuat kustom AMIs. Dengan AMI khusus, Anda dapat membuat lingkungan khusus untuk beban kerja AI dengan tumpukan perangkat lunak yang telah dikonfigurasi sebelumnya, penyesuaian driver, dependensi kepemilikan, dan agen keamanan. Kemampuan ini menghilangkan kebutuhan untuk bootstrap pasca-peluncuran yang kompleks menggunakan skrip konfigurasi siklus hidup.

Dengan kustom AMIs, Anda dapat menstandarisasi lingkungan di berbagai tahap, mempercepat waktu startup, dan memiliki kontrol penuh atas lingkungan runtime Anda sambil memanfaatkan kemampuan infrastruktur dan keunggulan SageMaker HyperPod penskalaan. Ini membantu Anda mempertahankan kontrol atas infrastruktur AI Anda sambil tetap memanfaatkan runtime dasar yang SageMaker HyperPod dioptimalkan.

Anda dapat membangun gambar dasar yang SageMaker HyperPod disetel kinerja dengan menambahkan agen keamanan, alat kepatuhan, dan pustaka khusus sambil mempertahankan semua manfaat pelatihan terdistribusi. Kemampuan ini menghilangkan pilihan yang sebelumnya diperlukan antara optimasi infrastruktur dan kebijakan keamanan organisasi.

Pengalaman AMI khusus terintegrasi secara mulus dengan alur kerja keamanan perusahaan yang mapan. Tim keamanan membuat gambar yang diperkeras menggunakan SageMaker HyperPod publik AMIs sebagai basis, dan tim platform AI dapat menentukan kustom ini AMIs saat membuat atau memperbarui cluster melalui. SageMaker HyperPod APIs APIs Memvalidasi kompatibilitas gambar, menangani izin yang diperlukan, dan mempertahankan kompatibilitas mundur sehingga alur kerja yang ada terus berfungsi. Organizations dengan protokol keamanan yang ketat dapat menghilangkan alternatif rawan kesalahan menginstal agen keamanan saat runtime melalui skrip siklus hidup. Dengan menyelaraskan dengan praktik keamanan perusahaan daripada memaksa organisasi untuk menyesuaikan protokol mereka dengan keterbatasan, kustom AMIs menghilangkan hambatan umum untuk SageMaker HyperPod adopsi bagi organisasi yang sadar keamanan yang menjalankan beban kerja AI yang kritis.

Untuk catatan rilis tentang pembaruan untuk publik AMIs, lihat[Rilis AMI publik](sagemaker-hyperpod-release-public-ami.md). Untuk mempelajari cara memulai membuat AMI kustom dan menggunakannya di HyperPod cluster Anda, lihat topik berikut.

**Topics**
+ [

# Bangun AMI khusus
](hyperpod-custom-ami-how-to.md)
+ [

# Manajemen cluster dengan kustom AMIs
](hyperpod-custom-ami-cluster-management.md)

# Bangun AMI khusus
<a name="hyperpod-custom-ami-how-to"></a>

Halaman berikut menjelaskan cara membuat Amazon Machine Image (AMI) kustom menggunakan SageMaker HyperPod basis Amazon AMIs. Anda mulai dengan memilih AMI dasar, dan kemudian Anda membuat AMI khusus Anda sendiri menggunakan salah satu metode umum untuk membuat gambar baru, seperti AWS CLI.

## Pilih AMI SageMaker HyperPod dasar
<a name="hyperpod-custom-ami-select-base"></a>

Anda dapat memilih AMI SageMaker HyperPod dasar melalui salah satu metode berikut.

### AWS pemilihan konsol
<a name="hyperpod-custom-ami-console-selection"></a>

Anda dapat memilih publik SageMaker HyperPod AMIs melalui AWS konsol atau dengan menggunakan panggilan `DescribeImages` API. SageMaker HyperPod AMIs bersifat publik dan terlihat di setiap Akun AWS Anda dapat menemukannya di katalog Amazon EC2 AMI dengan menerapkan filter untuk mencari AMIs milik publik oleh Amazon.

Untuk menemukan SageMaker HyperPod AMIs di konsol:

1. Masuk ke konsol Amazon EC2.

1. Di panel navigasi kiri, pilih **AMIs**.

1. Untuk dropdown **Jenis gambar**, pilih Gambar **publik**.

1. Di filter bilah pencarian, atur filter **alias Pemilik** ke**amazon**.

1. Cari AMIs awalan sebagai **HyperPodEKS** dan pilih AMI (sebaiknya terbaru) yang berfungsi untuk kasus penggunaan Anda. Misalnya, Anda dapat memilih AMI antara Kubernetes 1,31 versus Kubernetes 1,30.

### Ambil ID AMI publik terbaru melalui AWS CLI
<a name="hyperpod-custom-ami-cli-fetch"></a>

Jika Anda ingin selalu menggunakan AMI publik rilis terbaru, akan lebih efisien untuk menggunakan parameter SageMaker HyperPod SSM publik yang berisi nilai ID AMI terbaru yang dirilis oleh SageMaker HyperPod.

Contoh berikut menunjukkan cara mengambil ID AMI terbaru menggunakan: AWS CLI

```
aws ssm get-parameter \
  --name "/aws/service/sagemaker-hyperpod/ami/x86_64/eks-1.31-amazon-linux-2/latest/ami-id" \
  --region us-east-1 \
  --query "Parameter.Value" \
  --output text
```

**catatan**  
Ganti nama parameter dengan versi Kubernetes yang sesuai sesuai kebutuhan. Misalnya, jika Anda ingin menggunakan Kubernetes 1.30, gunakan parameter berikut:. `/aws/service/hyperpod/ami/x86_64/eks-1.30-amazon-linux-2/latest/ami-id`

## Bangun AMI kustom Anda
<a name="hyperpod-custom-ami-build"></a>

Setelah Anda memilih AMI SageMaker HyperPod publik, gunakan itu sebagai AMI dasar untuk membuat AMI kustom Anda sendiri dengan salah satu metode berikut. Perhatikan bahwa ini bukan daftar lengkap untuk bangunan. AMIs Anda dapat menggunakan metode apa pun pilihan Anda untuk membangun AMIs. SageMaker HyperPod tidak memiliki rekomendasi khusus.
+ **AWS Konsol Manajemen**: Anda dapat meluncurkan instans Amazon EC2 menggunakan SageMaker HyperPod AMI, membuat penyesuaian yang diinginkan, dan kemudian membuat AMI dari instance tersebut.
+ **AWS CLI**: Anda juga dapat menggunakan `aws ec2 create-image` perintah untuk membuat AMI dari instans Amazon EC2 yang ada setelah melakukan penyesuaian.
+ **HashiCorp Packer**: Packer adalah alat sumber terbuka HashiCorp yang memungkinkan Anda membuat gambar mesin yang identik untuk beberapa platform dari satu konfigurasi sumber. Ini mendukung pembuatan AMIs untuk AWS, serta gambar untuk penyedia cloud dan platform virtualisasi lainnya.
+ **Image Builder**: EC2 Image Builder adalah layanan yang AWS dikelola sepenuhnya yang membuatnya lebih mudah untuk mengotomatiskan pembuatan, pemeliharaan, validasi, berbagi, dan penyebaran gambar Linux atau Windows Server. Untuk informasi selengkapnya, lihat [Panduan Pengguna EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/what-is-image-builder.html).

### Membangun AMI kustom dengan AWS KMS enkripsi terkelola pelanggan
<a name="hyperpod-custom-ami-build-kms"></a>

Bagian berikut menjelaskan cara membuat AMI kustom dengan AWS KMS kunci yang dikelola pelanggan untuk mengenkripsi volume HyperPod cluster Anda. Untuk informasi selengkapnya tentang kunci terkelola pelanggan HyperPod dan pemberian izin kebijakan kunci IAM dan KMS yang diperlukan, lihat. [AWS KMS key Enkripsi terkelola pelanggan untuk SageMaker HyperPod](smcluster-cmk.md) Jika Anda berencana untuk menggunakan AMI kustom yang dienkripsi dengan kunci yang dikelola pelanggan, pastikan Anda juga mengenkripsi volume root Amazon HyperPod EBS cluster Anda dengan kunci yang sama.

#### AWS CLI contoh: Buat AMI baru menggunakan EC2 Image Builder dan image HyperPod dasar
<a name="hyperpod-custom-ami-cli-example"></a>

Contoh berikut menunjukkan cara membuat AMI menggunakan Image Builder dengan AWS KMS enkripsi:

```
aws imagebuilder create-image-recipe \
    name "hyperpod-custom-recipe" \
    version "1.0.0" \
    parent-image "<hyperpod-base-image-id>" \
    block-device-mappings DeviceName="/dev/xvda",Ebs={VolumeSize=100,VolumeType=gp3,Encrypted=true,KmsKeyId=arn:aws:kms:us-east-1:111122223333:key/key-id,DeleteOnTermination=true}
```

#### Konsol Amazon EC2: Buat AMI baru dari Amazon EC2
<a name="hyperpod-custom-ami-console-example"></a>

Untuk membuat AMI dari instans Amazon EC2 menggunakan konsol Amazon EC2:

1. Klik kanan pada instans Amazon EC2 yang disesuaikan dan **pilih** Buat Gambar.

1. Di bagian **Enkripsi**, pilih **Enkripsi snapshot**.

1. Pilih tombol KMS Anda dari dropdown. Misalnya: `arn:aws:kms:us-east-2:111122223333:key/<your-kms-key-id>` atau gunakan alias kunci:`alias/<your-hyperpod-key>`.

#### AWS CLI contoh: Buat AMI baru dari instans Amazon EC2
<a name="hyperpod-custom-ami-cli-create-image"></a>

Gunakan `aws ec2 create-image` perintah dengan AWS KMS enkripsi:

```
aws ec2 create-image \
    instance-id "<instance-id>" \
    name "MyCustomHyperPodAMI" \
    description "Custom HyperPod AMI" \
    block-device-mappings '[
        {
            "DeviceName": "/dev/xvda",
            "Ebs": {
                "Encrypted": true,
                "KmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/key-id",
                "VolumeType": "gp2" 
            }
        }
    ]'
```

# Manajemen cluster dengan kustom AMIs
<a name="hyperpod-custom-ami-cluster-management"></a>

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
<a name="hyperpod-custom-ami-permissions"></a>

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` as`true`.
+ 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"
                }
            }
        }
    ]
}
```

------

**penting**  
Jika Anda berencana untuk menggunakan AMI kustom terenkripsi, maka pastikan bahwa kunci KMS Anda memenuhi izin yang dijelaskan dalam. [AWS KMS key Enkripsi terkelola pelanggan untuk SageMaker HyperPod](smcluster-cmk.md) Selain itu, pastikan kunci KMS AMI kustom Anda juga digunakan untuk mengenkripsi volume root Amazon EBS cluster Anda.

## Buat klaster
<a name="hyperpod-custom-ami-api-create"></a>

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
<a name="hyperpod-custom-ami-api-update"></a>

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
<a name="hyperpod-custom-ami-scale-up"></a>

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 khusus 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
<a name="hyperpod-custom-ami-add-instance-group"></a>

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>"
}'
```

# Mengelola kluster SageMaker HyperPod EKS menggunakan konsol SageMaker
<a name="sagemaker-hyperpod-eks-operate-console-ui"></a>

Topik berikut memberikan panduan tentang cara mengelola SageMaker HyperPod di konsol SageMaker AI.

**Topics**
+ [

# Membuat SageMaker HyperPod cluster dengan orkestrasi Amazon EKS
](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md)
+ [

# Menjelajahi, melihat, dan mengedit SageMaker HyperPod cluster
](sagemaker-hyperpod-eks-operate-console-ui-browse-view-edit.md)
+ [

# Menghapus cluster SageMaker HyperPod
](sagemaker-hyperpod-eks-operate-console-ui-delete-cluster.md)

# Membuat SageMaker HyperPod cluster dengan orkestrasi Amazon EKS
<a name="sagemaker-hyperpod-eks-operate-console-ui-create-cluster"></a>

Tutorial berikut menunjukkan cara membuat SageMaker HyperPod cluster baru dan mengaturnya dengan orkestrasi Amazon EKS melalui UI konsol AI. SageMaker 

**Topics**
+ [

## Membuat klaster
](#smcluster-getting-started-eks-console-create-cluster-page)
+ [

## Terapkan sumber daya
](#smcluster-getting-started-eks-console-create-cluster-deploy)

## Membuat klaster
<a name="smcluster-getting-started-eks-console-create-cluster-page"></a>

Untuk menavigasi ke halaman **SageMaker HyperPod Clusters** dan memilih orkestrasi Amazon EKS, ikuti langkah-langkah berikut.

1. Buka konsol Amazon SageMaker AI di [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Pilih **HyperPod Cluster** di panel navigasi kiri dan kemudian Manajemen **Cluster**.

1. Pada halaman **SageMaker HyperPod Clusters**, pilih **Create HyperPod cluster**. 

1. Pada drop-down **Create HyperPod cluster**, pilih **Orchestrated by** Amazon EKS.

1. Pada halaman pembuatan cluster EKS, Anda akan melihat dua opsi, pilih opsi yang paling sesuai dengan kebutuhan Anda.

   1. **Pengaturan cepat** - Untuk segera memulai dengan pengaturan default, pilih **Pengaturan cepat**. Dengan opsi ini, SageMaker AI akan membuat sumber daya baru seperti VPC, subnet, grup keamanan, bucket Amazon S3, peran IAM, dan FSx untuk Lustre dalam proses pembuatan cluster Anda.

   1. **Penyiapan khusus** - Untuk mengintegrasikan dengan AWS sumber daya yang ada atau memiliki persyaratan jaringan, keamanan, atau penyimpanan tertentu, pilih **Penyiapan khusus**. Dengan opsi ini, Anda dapat memilih untuk menggunakan sumber daya yang ada atau membuat yang baru, dan Anda dapat menyesuaikan konfigurasi yang paling sesuai dengan kebutuhan Anda.

## Pengaturan cepat
<a name="smcluster-getting-started-eks-console-create-cluster-default"></a>

Pada bagian **Quick setup**, ikuti langkah-langkah berikut untuk membuat HyperPod cluster Anda dengan orkestrasi Amazon EKS.

### Pengaturan umum
<a name="smcluster-getting-started-eks-console-create-cluster-default-general"></a>

Tentukan nama untuk cluster baru. Anda tidak dapat mengubah nama setelah cluster dibuat.

### Grup instans
<a name="smcluster-getting-started-eks-console-create-cluster-default-instance-groups"></a>

Untuk menambahkan grup instance, pilih **Tambah grup**. Setiap grup instans dapat dikonfigurasi secara berbeda, dan Anda dapat membuat klaster heterogen yang terdiri dari beberapa grup instans dengan berbagai jenis instance. Untuk menyebarkan cluster, Anda harus menambahkan setidaknya satu grup instance. Ikuti langkah-langkah ini untuk menambahkan grup instans.

1. Untuk **tipe grup Instance**, pilih **Standard** atau **Restricted Instance Group (RIG)**. Biasanya, Anda akan memilih **Standar**, yang menyediakan lingkungan komputasi tujuan umum tanpa batasan keamanan tambahan. **Restricted Instance Group (RIG)** adalah lingkungan khusus untuk kustomisasi model dasar seperti Amazon Nova. Untuk informasi selengkapnya tentang pengaturan RIG untuk kustomisasi model Amazon Nova, lihat kustomisasi Amazon Nova SageMaker HyperPod di [panduan pengguna Amazon Nova 1.0 atau panduan](https://docs.aws.amazon.com//nova/latest/userguide/nova-hp.html) [pengguna Amazon Nova 2.0](https://docs.aws.amazon.com//nova/latest/nova2-userguide/nova-hp.html).

1. Untuk **Nama**, tentukan nama untuk grup instance.

1.  Untuk **kapasitas Instans**, pilih kapasitas sesuai permintaan atau rencana pelatihan untuk memesan sumber daya komputasi Anda.

1. Untuk **jenis Instance**, pilih instance untuk grup instance.
**penting**  
Pastikan Anda memilih jenis instans dengan kuota yang cukup dan cukup alamat IP yang tidak ditetapkan untuk akun Anda. Untuk melihat atau meminta kuota tambahan, lihat[SageMaker HyperPod kuota](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-quotas).

1. Untuk **kuantitas Instance**, tentukan bilangan bulat yang tidak melebihi kuota instance untuk penggunaan klaster. Untuk tutorial ini, masukkan **1** untuk ketiga grup.

1. Untuk **Zona Ketersediaan Target**, pilih Availability Zone tempat instance Anda akan disediakan. Availability Zone harus sesuai dengan lokasi kapasitas komputasi Anda yang dipercepat.

1. Untuk **volume penyimpanan tambahan per instance (GB) - opsional**, tentukan bilangan bulat antara 1 dan 16384 untuk mengatur ukuran volume Elastic Block Store (EBS) tambahan dalam gigabyte (GB). Volume EBS dilampirkan ke setiap instance dari grup instance. Jalur pemasangan default untuk volume EBS tambahan adalah`/opt/sagemaker`. Setelah cluster berhasil dibuat, Anda dapat SSH ke instance cluster (node) dan memverifikasi apakah volume EBS dipasang dengan benar dengan menjalankan perintah. `df -h` Melampirkan volume EBS tambahan menyediakan penyimpanan yang stabil, off-instance, dan bertahan secara independen, seperti yang dijelaskan di [bagian volume Amazon EBS di Panduan Pengguna Amazon Elastic](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html) *Block Store*.

1. **Misalnya pemeriksaan kesehatan mendalam**, pilih opsi Anda. Pemeriksaan kesehatan mendalam memantau kesehatan instans selama pembuatan dan setelah pembaruan perangkat lunak, secara otomatis memulihkan instance yang salah melalui reboot atau penggantian saat diaktifkan.

1. Jika tipe instans mendukung partisi GPU dengan Multi-Instance GPU (MIG), Anda dapat mengaktifkan konfigurasi partisi GPU untuk grup instans. Partisi GPU memungkinkan Anda untuk membagi GPUs menjadi partisi yang lebih kecil dan terisolasi untuk meningkatkan pemanfaatan sumber daya. Untuk informasi selengkapnya, lihat [Menggunakan partisi GPU di Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md).

   1. Alihkan **Gunakan partisi GPU untuk mengaktifkan partisi** GPU untuk grup instance ini.

   1. Pilih **profil partisi GPU** dari opsi yang tersedia untuk jenis instans Anda. Setiap profil mendefinisikan konfigurasi irisan GPU dan alokasi memori.

1. Pilih **Tambahkan grup instans**.

### Default pengaturan cepat
<a name="smcluster-getting-started-eks-console-create-cluster-default-settings"></a>

Bagian ini mencantumkan semua pengaturan default untuk pembuatan klaster Anda, termasuk semua AWS sumber daya baru yang akan dibuat selama proses pembuatan klaster. Tinjau pengaturan default.

## Pengaturan kustom
<a name="smcluster-getting-started-eks-console-create-cluster-custom"></a>

Pada bagian **Penyiapan kustom**, ikuti langkah-langkah berikut untuk membuat HyperPod klaster pertama Anda dengan orkestrasi Amazon EKS.

### Pengaturan umum
<a name="smcluster-getting-started-eks-console-create-cluster-custom-general"></a>

Tentukan nama untuk cluster baru. Anda tidak dapat mengubah nama setelah cluster dibuat.

Untuk **pemulihan Instance**, pilih **Otomatis - *direkomendasikan*** atau **Tidak Ada**. 

### Jaringan
<a name="smcluster-getting-started-eks-console-create-cluster-custom-network"></a>

Konfigurasikan pengaturan jaringan di dalam cluster dan in-and-out cluster. Untuk orkestrasi cluster SageMaker HyperPod dengan Amazon EKS, VPC secara otomatis diatur ke yang dikonfigurasi dengan kluster EKS yang Anda pilih.

1. Untuk **VPC**, pilih VPC Anda sendiri jika Anda sudah memiliki VPC yang memberikan akses SageMaker AI ke VPC Anda. Untuk membuat VPC baru, ikuti petunjuk di [Buat VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) di Panduan Pengguna *Amazon Virtual Private Cloud*. Anda dapat membiarkannya sebagai **None** untuk menggunakan SageMaker AI VPC default.

1. Untuk **blok VPC IPv4 CIDR**, masukkan IP awal VPC Anda.

1. Untuk **Availability Zones**, pilih Availability Zones (AZ) di mana HyperPod akan membuat subnet untuk cluster Anda. Pilih AZs yang sesuai dengan lokasi kapasitas komputasi Anda yang dipercepat.

1. Untuk **grup Keamanan, pilih grup keamanan yang dilampirkan ke klaster Amazon EKS** atau yang lalu lintas masuknya diizinkan oleh grup keamanan yang terkait dengan kluster Amazon EKS. Untuk membuat grup keamanan baru, buka konsol VPC Amazon.

### Orkestrasi
<a name="smcluster-getting-started-eks-console-create-cluster-custom-orchestration"></a>

Ikuti langkah-langkah ini untuk membuat atau memilih klaster Amazon EKS untuk digunakan sebagai orkestrator. 

1. Untuk **kluster EKS**, pilih buat kluster Amazon EKS baru atau gunakan yang sudah ada. 

   Jika Anda perlu membuat cluster EKS baru, Anda dapat membuatnya dari bagian cluster EKS tanpa harus membuka konsol Amazon EKS.
**catatan**  
Subnet VPC yang Anda pilih HyperPod harus bersifat pribadi.   
Setelah mengirimkan permintaan pembuatan cluster EKS baru, tunggu hingga cluster EKS menjadi. `Active`

1. Untuk versi **Kubernetes, pilih versi** dari menu tarik-turun. *Untuk informasi selengkapnya tentang versi Kubernetes, lihat [Memahami siklus hidup versi Kubernetes di EKS dari Panduan Pengguna Amazon EKS](https://docs.aws.amazon.com//eks/latest/userguide/kubernetes-versions.html).*

1. Untuk **Operator**, pilih **Gunakan bagan dan add-on Helm default** atau **Jangan instal** operator. Opsi default **Gunakan bagan dan add-on Helm default**, yang akan digunakan untuk menginstal operator di cluster EKS. Untuk informasi selengkapnya tentang bagan dan add-on Helm default, lihat [https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart/HyperPodHelmChart](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart/HyperPodHelmChart)dari repositori. GitHub Untuk informasi selengkapnya, lihat [Menginstal paket di cluster Amazon EKS menggunakan Helm](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md).

1. Untuk **operator Diaktifkan**, lihat daftar operator yang diaktifkan. Untuk mengedit operator, hapus centang pada kotak di bagian atas dan pilih operator untuk mengaktifkan klaster EKS. 
**catatan**  
Untuk menggunakan HyperPod EKS, Anda harus menginstal bagan Helm dan add-on yang mengaktifkan operator di kluster EKS. Komponen-komponen ini mengkonfigurasi EKS sebagai bidang kontrol untuk HyperPod dan menyediakan pengaturan yang diperlukan untuk manajemen beban kerja dan orkestrasi.

### Grup instans
<a name="smcluster-getting-started-eks-console-create-cluster-custom-instance-groups"></a>

Untuk menambahkan grup instance, pilih **Tambah grup**. Setiap grup instans dapat dikonfigurasi secara berbeda, dan Anda dapat membuat klaster heterogen yang terdiri dari beberapa grup instans dengan berbagai jenis instance. Untuk menyebarkan kluster, Anda harus menambahkan setidaknya satu grup instans. Ikuti langkah-langkah ini untuk menambahkan grup instans.

1. Untuk **tipe grup Instance**, pilih **Standard** atau **Restricted Instance Group (RIG)**. Biasanya, Anda akan memilih **Standar**, yang menyediakan lingkungan komputasi tujuan umum tanpa batasan keamanan tambahan. **Restricted Instance Group (RIG)** adalah lingkungan khusus untuk kustomisasi model dasar seperti Amazon Nova. Untuk informasi selengkapnya tentang pengaturan RIG untuk kustomisasi model Amazon Nova, lihat kustomisasi Amazon Nova SageMaker HyperPod di [panduan pengguna Amazon Nova 1.0 atau panduan](https://docs.aws.amazon.com//nova/latest/userguide/nova-hp.html) [pengguna Amazon Nova 2.0](https://docs.aws.amazon.com//nova/latest/nova2-userguide/nova-hp.html).

1. Untuk **Nama**, tentukan nama untuk grup instance.

1.  Untuk **kapasitas Instans**, pilih kapasitas sesuai permintaan atau rencana pelatihan untuk memesan sumber daya komputasi Anda.

1. Untuk **jenis Instance**, pilih instance untuk grup instance.
**penting**  
Pastikan Anda memilih jenis instans dengan kuota yang cukup dan cukup alamat IP yang tidak ditetapkan untuk akun Anda. Untuk melihat atau meminta kuota tambahan, lihat[SageMaker HyperPod kuota](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-quotas).

1. Untuk **kuantitas Instance**, tentukan bilangan bulat yang tidak melebihi kuota instance untuk penggunaan klaster. Untuk tutorial ini, masukkan **1** untuk ketiga grup.

1. Untuk **Zona Ketersediaan Target**, pilih Availability Zone tempat instance Anda akan disediakan. Availability Zone harus sesuai dengan lokasi kapasitas komputasi Anda yang dipercepat.

1. Untuk **volume penyimpanan tambahan per instance (GB) - opsional**, tentukan bilangan bulat antara 1 dan 16384 untuk mengatur ukuran volume Elastic Block Store (EBS) tambahan dalam gigabyte (GB). Volume EBS dilampirkan ke setiap instance dari grup instance. Jalur pemasangan default untuk volume EBS tambahan adalah`/opt/sagemaker`. Setelah cluster berhasil dibuat, Anda dapat SSH ke instance cluster (node) dan memverifikasi apakah volume EBS dipasang dengan benar dengan menjalankan perintah. `df -h` Melampirkan volume EBS tambahan menyediakan penyimpanan yang stabil, off-instance, dan bertahan secara independen, seperti yang dijelaskan di [bagian volume Amazon EBS di Panduan Pengguna Amazon Elastic](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html) *Block Store*.

1. **Misalnya pemeriksaan kesehatan mendalam**, pilih opsi Anda. Pemeriksaan kesehatan mendalam memantau kesehatan instans selama pembuatan dan setelah pembaruan perangkat lunak, secara otomatis memulihkan instance yang salah melalui reboot atau penggantian saat diaktifkan. Untuk mempelajari selengkapnya, lihat [Pemeriksaan kesehatan yang mendalam](sagemaker-hyperpod-eks-resiliency-deep-health-checks.md)

1. Untuk **Gunakan partisi GPU - opsional**, jika jenis instans Anda mendukung partisi GPU dengan Multi-Instance GPU (MIG), Anda dapat mengaktifkan opsi ini untuk mengonfigurasi profil partisi GPU untuk grup instance. Partisi GPU memungkinkan Anda untuk membagi GPUs menjadi partisi yang lebih kecil dan terisolasi untuk meningkatkan pemanfaatan sumber daya. Untuk informasi selengkapnya, lihat [Menggunakan partisi GPU di Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md).

   1. Alihkan **Gunakan partisi GPU untuk mengaktifkan partisi** GPU untuk grup instance ini.

   1. Pilih **profil partisi GPU** dari opsi yang tersedia untuk jenis instans Anda. Setiap profil mendefinisikan konfigurasi irisan GPU dan alokasi memori.

1. Pilih **Tambahkan grup instans**.

### Skrip siklus hidup
<a name="smcluster-getting-started-eks-console-create-cluster-custom-lifecycle"></a>

Anda dapat memilih untuk menggunakan skrip siklus hidup default atau skrip siklus hidup kustom, yang akan disimpan di bucket Amazon S3 Anda. Anda dapat melihat skrip siklus hidup default di repositori Pelatihan [Terdistribusi Luar Biasa](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/7.sagemaker-hyperpod-eks/LifecycleScripts). GitHub Untuk mempelajari lebih lanjut tentang skrip siklus hidup, lihat. [Menyesuaikan SageMaker HyperPod cluster menggunakan skrip siklus hidup](sagemaker-hyperpod-lifecycle-best-practices-slurm.md)

1. Untuk **skrip Siklus Hidup, pilih untuk menggunakan skrip siklus hidup** default atau kustom.

1. Untuk **bucket S3 untuk skrip siklus hidup**, pilih untuk membuat bucket baru atau gunakan bucket yang ada untuk menyimpan skrip siklus hidup.

### Izin
<a name="smcluster-getting-started-eks-console-create-cluster-custom-permissions"></a>

Pilih atau buat peran IAM yang memungkinkan HyperPod untuk menjalankan dan mengakses AWS sumber daya yang diperlukan atas nama Anda. Untuk informasi selengkapnya, lihat [Peran IAM untuk SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod).

### Penyimpanan
<a name="smcluster-getting-started-eks-console-create-cluster-custom-storage"></a>

Konfigurasikan sistem file FSx for Lustre yang akan disediakan di cluster. HyperPod 

1. Untuk **sistem File**, pilih yang sudah ada FSx untuk sistem file Lustre, untuk membuat yang baru FSx untuk sistem file Lustre, atau tidak menyediakan FSx untuk sistem file Lustre.

1. Untuk **Throughput per unit penyimpanan**, pilih throughput yang akan tersedia per TiB penyimpanan yang disediakan.

1. Untuk **kapasitas penyimpanan**, masukkan nilai kapasitas dalam TB.

1. Untuk **tipe kompresi data**, pilih **LZ4**untuk mengaktifkan kompresi data.

1. Untuk **versi Lustre**, lihat nilai yang direkomendasikan untuk sistem file baru.

### Tag - opsional
<a name="smcluster-getting-started-eks-console-create-cluster-tags"></a>

Untuk **Tag - *opsional***, tambahkan pasangan kunci dan nilai ke cluster baru dan kelola cluster sebagai AWS sumber daya. Untuk mempelajari lebih lanjut, lihat [Menandai AWS sumber daya Anda](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html).

## Terapkan sumber daya
<a name="smcluster-getting-started-eks-console-create-cluster-deploy"></a>

Setelah Anda menyelesaikan konfigurasi klaster menggunakan **Penyiapan cepat atau Penyiapan** **khusus**, pilih opsi berikut untuk memulai penyediaan sumber daya dan pembuatan klaster.
+  **Kirim** - SageMaker AI akan mulai menyediakan sumber daya konfigurasi default dan membuat cluster. 
+ **Unduh parameter CloudFormation template** - Anda akan mengunduh parameter konfigurasi file JSON dan menjalankan AWS CLI perintah untuk menyebarkan CloudFormation tumpukan untuk menyediakan sumber daya konfigurasi dan membuat cluster. Anda dapat mengedit file JSON parameter yang diunduh jika diperlukan. Jika Anda memilih opsi ini, lihat petunjuk lainnya di[Membuat SageMaker HyperPod cluster menggunakan template CloudFormation](smcluster-getting-started-eks-console-create-cluster-cfn.md).

# Menjelajahi, melihat, dan mengedit SageMaker HyperPod cluster
<a name="sagemaker-hyperpod-eks-operate-console-ui-browse-view-edit"></a>

Gunakan petunjuk berikut untuk menelusuri, melihat, dan mengedit SageMaker HyperPod kluster yang diatur oleh Amazon EKS di SageMaker konsol AI.

**Topics**
+ [

## Untuk menelusuri SageMaker HyperPod klaster Anda
](#sagemaker-hyperpod-eks-operate-console-ui-browse-clusters)
+ [

## Untuk melihat detail setiap SageMaker HyperPod cluster
](#sagemaker-hyperpod-eks-operate-console-ui-view-details-of-clusters)
+ [

## Untuk mengedit SageMaker HyperPod cluster
](#sagemaker-hyperpod-eks-operate-console-ui-edit-clusters)

## Untuk menelusuri SageMaker HyperPod klaster Anda
<a name="sagemaker-hyperpod-eks-operate-console-ui-browse-clusters"></a>

Di bawah **Cluster** pada SageMaker HyperPod halaman di konsol SageMaker AI, semua cluster yang dibuat harus dicantumkan di bawah bagian **Cluster**, yang menyediakan tampilan ringkasan cluster, statusnya ARNs, dan waktu pembuatannya.

## Untuk melihat detail setiap SageMaker HyperPod cluster
<a name="sagemaker-hyperpod-eks-operate-console-ui-view-details-of-clusters"></a>

Di bawah **Cluster** pada SageMaker HyperPod halaman di konsol SageMaker AI, nama cluster diaktifkan sebagai tautan. Pilih tautan nama cluster untuk melihat detail setiap cluster.

## Untuk mengedit SageMaker HyperPod cluster
<a name="sagemaker-hyperpod-eks-operate-console-ui-edit-clusters"></a>

1. Di bawah **Cluster** di panel utama SageMaker HyperPod konsol, pilih cluster yang ingin Anda perbarui.

1. Pilih klaster Anda, dan pilih **Edit**.

1. Di <your-cluster>halaman **Edit**, Anda dapat mengedit konfigurasi grup instans yang ada, menambahkan lebih banyak grup instans, menghapus grup instance, dan mengubah tag untuk klaster. Setelah melakukan perubahan, pilih **Kirim**. 

   1. Di bagian **Konfigurasi grup instans**, Anda dapat menambahkan lebih banyak grup instans dengan memilih **Buat grup instans**.

   1. Di bagian **Konfigurasi grup instans**, Anda dapat memilih **Edit** untuk mengubah konfigurasinya atau **Hapus** untuk menghapus grup instans secara permanen.
**penting**  
Saat menghapus grup instance, pertimbangkan hal-hal berikut:  
 SageMaker HyperPod Cluster Anda harus selalu memelihara setidaknya satu grup instans.
Pastikan semua data penting dicadangkan sebelum dihapus.
Proses penghapusan tidak dapat dibatalkan.
**catatan**  
Menghapus grup instance akan menghentikan semua sumber daya komputasi yang terkait dengan grup tersebut.

   1. Di bagian **Tag**, Anda dapat memperbarui tag untuk cluster.

# Menghapus cluster SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-operate-console-ui-delete-cluster"></a>

Gunakan petunjuk berikut untuk menghapus SageMaker HyperPod cluster yang diatur oleh Amazon EKS di SageMaker konsol AI.

1. Di bawah **Cluster** di panel utama SageMaker HyperPod konsol, pilih cluster yang ingin Anda hapus.

1. Pilih klaster Anda, dan pilih **Hapus**.

1. Di jendela pop-up untuk penghapusan klaster, tinjau informasi klaster dengan hati-hati untuk mengonfirmasi bahwa Anda memilih klaster yang tepat untuk dihapus.

1. Setelah Anda meninjau informasi klaster, pilih **Ya, hapus klaster**.

1. Di bidang teks untuk mengonfirmasi penghapusan ini, ketik. **delete**

1. Pilih **Hapus** di sudut kanan bawah jendela pop-up untuk menyelesaikan pengiriman permintaan penghapusan cluster.

**catatan**  
Ketika penghapusan klaster gagal karena kebijakan tata kelola SageMaker HyperPod tugas terlampir, Anda harus melakukannya. [Hapus kebijakan](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete.md)

# Membuat SageMaker HyperPod cluster menggunakan template CloudFormation
<a name="smcluster-getting-started-eks-console-create-cluster-cfn"></a>

Anda dapat membuat SageMaker HyperPod cluster menggunakan CloudFormation template untuk HyperPod. Anda harus menginstal AWS CLI untuk melanjutkan.

**Topics**
+ [

## Konfigurasikan sumber daya di konsol dan terapkan menggunakan CloudFormation
](#smcluster-getting-started-eks-console-create-cluster-deploy-console)
+ [

## Konfigurasikan dan terapkan sumber daya menggunakan CloudFormation
](#smcluster-getting-started-eks-console-create-cluster-deploy-cfn)

## Konfigurasikan sumber daya di konsol dan terapkan menggunakan CloudFormation
<a name="smcluster-getting-started-eks-console-create-cluster-deploy-console"></a>

Anda dapat mengonfigurasi sumber daya menggunakan Konsol Manajemen AWS dan menyebarkan menggunakan CloudFormation templat.

Ikuti langkah-langkah ini.

1. *Alih-alih memilih **Kirim***, pilih **Unduh parameter CloudFormation template** di akhir tutorial di[Memulai dengan SageMaker HyperPod menggunakan konsol SageMaker AI](smcluster-getting-started-slurm-console.md). Tutorial ini berisi informasi konfigurasi penting yang Anda perlukan untuk membuat cluster Anda berhasil.
**penting**  
Jika Anda memilih **Kirim**, Anda tidak akan dapat menyebarkan klaster dengan nama yang sama sampai Anda menghapus klaster.

   Setelah Anda memilih **Unduh parameter CloudFormation template**, **Menggunakan file konfigurasi untuk membuat cluster menggunakan AWS CLI** jendela akan muncul di sisi kanan halaman.

1. Pada **Menggunakan file konfigurasi untuk membuat cluster menggunakan AWS CLI jendela**, pilih **Unduh file parameter konfigurasi**. File akan diunduh ke mesin Anda. Anda dapat mengedit file JSON konfigurasi berdasarkan kebutuhan Anda atau membiarkannya apa adanya, jika tidak ada perubahan yang diperlukan.

1. Di terminal, arahkan ke lokasi file parameter`file://params.json`.

1. Jalankan AWS CLI perintah [create-stack](https://docs.aws.amazon.com//cli/latest/reference/cloudformation/create-stack.html) untuk menyebarkan CloudFormation tumpukan yang akan menyediakan sumber daya yang dikonfigurasi dan membuat cluster. HyperPod

   ```
   aws cloudformation create-stack 
       --stack-name my-stack
       --template-url https://aws-sagemaker-hyperpod-cluster-setup.amazonaws.com/templates-slurm/main-stack-slurm-based-template.yaml
       --parameters file://params.json
       --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM
   ```

1. [Untuk melihat status penyediaan sumber daya, navigasikan ke konsol. CloudFormation ](https://console.aws.amazon.com/cloudformation)

   Setelah pembuatan klaster selesai, lihat cluster baru di bawah **Cluster** di panel utama konsol. SageMaker HyperPod Anda dapat memeriksa statusnya yang ditampilkan di bawah kolom **Status**.

1. Setelah status cluster berubah`InService`, Anda dapat mulai masuk ke node cluster. Untuk mengakses node cluster dan mulai menjalankan beban kerja ML, lihat[Pekerjaan di SageMaker HyperPod cluster](sagemaker-hyperpod-run-jobs-slurm.md).

## Konfigurasikan dan terapkan sumber daya menggunakan CloudFormation
<a name="smcluster-getting-started-eks-console-create-cluster-deploy-cfn"></a>

Anda dapat mengonfigurasi dan menyebarkan sumber daya menggunakan CloudFormation templat untuk SageMaker HyperPod.

Ikuti langkah-langkah ini.

1. Unduh CloudFormation template untuk SageMaker HyperPod dari [sagemaker-hyperpod-cluster-setup](https://github.com/aws/sagemaker-hyperpod-cluster-setup) GitHub repositori.

1. Jalankan AWS CLI perintah [create-stack](https://docs.aws.amazon.com//cli/latest/reference/cloudformation/create-stack.html) untuk menyebarkan CloudFormation tumpukan yang akan menyediakan sumber daya yang dikonfigurasi dan membuat cluster. HyperPod

   ```
   aws cloudformation create-stack 
       --stack-name my-stack
       --template-url URL_of_the_file_that_contains_the_template_body
       --parameters file://params.json
       --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM
   ```

1. Untuk melihat status penyediaan sumber daya, navigasikan ke konsol. CloudFormation 

   Setelah pembuatan klaster selesai, lihat cluster baru di bawah **Cluster** di panel utama konsol. SageMaker HyperPod Anda dapat memeriksa statusnya yang ditampilkan di bawah kolom **Status**.

1. Setelah status cluster berubah`InService`, Anda dapat mulai masuk ke node cluster.

# Mengelola kluster SageMaker HyperPod EKS menggunakan AWS CLI
<a name="sagemaker-hyperpod-eks-operate-cli-command"></a>

Topik berikut memberikan panduan tentang menulis file permintaan SageMaker HyperPod API dalam format JSON dan menjalankannya menggunakan AWS CLI perintah.

**Topics**
+ [

# Membuat SageMaker HyperPod cluster
](sagemaker-hyperpod-eks-operate-cli-command-create-cluster.md)
+ [

# Mengambil detail SageMaker HyperPod cluster
](sagemaker-hyperpod-eks-operate-cli-command-cluster-details.md)
+ [

# Memperbarui konfigurasi SageMaker HyperPod cluster
](sagemaker-hyperpod-eks-operate-cli-command-update-cluster.md)
+ [

# Memperbarui perangkat lunak SageMaker HyperPod platform
](sagemaker-hyperpod-eks-operate-cli-command-update-cluster-software.md)
+ [

# Mengakses node SageMaker HyperPod cluster
](sagemaker-hyperpod-eks-operate-access-through-terminal.md)
+ [

# Penskalaan cluster SageMaker HyperPod
](smcluster-scale-down.md)
+ [

# Menghapus cluster SageMaker HyperPod
](sagemaker-hyperpod-eks-operate-cli-command-delete-cluster.md)

# Membuat SageMaker HyperPod cluster
<a name="sagemaker-hyperpod-eks-operate-cli-command-create-cluster"></a>

Pelajari cara membuat SageMaker HyperPod cluster yang diatur oleh Amazon EKS menggunakan. AWS CLI

1. Sebelum membuat SageMaker HyperPod cluster:

   1. Pastikan Anda memiliki cluster Amazon EKS yang sudah ada dan berjalan. Untuk petunjuk mendetail tentang cara menyiapkan klaster Amazon EKS, lihat [Membuat klaster Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) di *Panduan Pengguna Amazon EKS*.

   1. Instal bagan Helm seperti yang diinstruksikan dalam. [Menginstal paket di cluster Amazon EKS menggunakan Helm](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md) Jika Anda membuat [ SageMaker HyperPod cluster Amazon Nova](https://docs.aws.amazon.com//nova/latest/nova2-userguide/nova-hp-cluster.html), Anda memerlukan bagan Helm terpisah.

1. Siapkan skrip konfigurasi siklus hidup dan unggah ke bucket Amazon S3, seperti. `s3://amzn-s3-demo-bucket/Lifecycle-scripts/base-config/`

   Untuk memulai dengan cepat, unduh skrip sampel [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/7.sagemaker-hyperpod-eks/LifecycleScripts/base-config/on_create.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/7.sagemaker-hyperpod-eks/LifecycleScripts/base-config/on_create.sh)dari GitHub repositori Pelatihan Terdistribusi AWS ome, dan unggah ke bucket S3. Anda juga dapat menyertakan instruksi penyiapan tambahan, serangkaian skrip penyiapan, atau perintah yang akan dijalankan selama tahap penyediaan HyperPod klaster.
**penting**  
Jika Anda membuat [Peran IAM untuk SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) lampiran hanya terkelola [https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html), klaster Anda memiliki akses ke bucket Amazon S3 dengan awalan tertentu. `sagemaker-`

   Jika Anda membuat grup instans terbatas, Anda tidak perlu mengunduh dan menjalankan skrip siklus hidup. Sebaliknya, Anda harus berlari`install_rig_dependencies.sh`. 

   Prasyarat untuk menjalankan skrip meliputi: `install_rig_dependencies.sh`
   + AWS Node (CNI) dan CoreDNS keduanya harus diaktifkan. Ini adalah add-on EKS standar yang tidak dikelola oleh SageMaker HyperPod Helm standar, tetapi dapat dengan mudah diaktifkan di konsol EKS di bawah Add-on.
   +  Bagan SageMaker HyperPod Helm standar harus diinstal sebelum menjalankan skrip ini.

   `install_rig_dependencies.sh`Skrip melakukan tindakan berikut. 
   + `aws-node`(CNI): `rig-aws-node` Daemonset baru dibuat; sudah `aws-node` ditambal untuk menghindari node RIG.
   + `coredns`: Dikonversi ke Daemonset RIGs untuk mendukung penggunaan Multi-rig dan mencegah kelebihan beban.
   + operator pelatihan: Diperbarui dengan toleransi noda Pekerja RIG dan NodeAffinity yang mendukung instans non-RIG.
   + Elastic Fabric Adapter (EFA): Diperbarui untuk mentolerir noda pekerja RIG dan menggunakan gambar wadah yang benar untuk setiap Wilayah.

1. Siapkan file permintaan [CreateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)API dalam format JSON. Untuk`ExecutionRole`, berikan ARN dari peran IAM yang Anda buat dengan yang dikelola `AmazonSageMakerClusterInstanceRolePolicy` dari bagian. [Peran IAM untuk SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod)
**catatan**  
Pastikan SageMaker HyperPod klaster Anda di-deploy dalam Virtual Private Cloud (VPC) yang sama dengan cluster Amazon EKS Anda. Subnet dan grup keamanan yang ditentukan dalam konfigurasi SageMaker HyperPod cluster harus memungkinkan konektivitas jaringan dan komunikasi dengan titik akhir server API klaster Amazon EKS.

   ```
   // create_cluster.json
   {
       "ClusterName": "string",
       "InstanceGroups": [{
           "InstanceGroupName": "string",
           "InstanceType": "string",
           "InstanceCount": number,
           "LifeCycleConfig": {
               "SourceS3Uri": "s3://amzn-s3-demo-bucket-sagemaker/lifecycle-script-directory/src/",
               "OnCreate": "on_create.sh"
           },
           "ExecutionRole": "string",
           "ThreadsPerCore": number,
           "OnStartDeepHealthChecks": [
               "InstanceStress", "InstanceConnectivity"
           ]
       }],
       "RestrictedInstanceGroups": [ 
         { 
            "EnvironmentConfig": { 
               "FSxLustreConfig": { 
                  "PerUnitStorageThroughput": number,
                  "SizeInGiB": number
               }
            },
            "ExecutionRole": "string",
            "InstanceCount": number,
            "InstanceGroupName": "string",
            "InstanceStorageConfigs": [ 
               { ... }
            ],
            "InstanceType": "string",
            "OnStartDeepHealthChecks": [ "string" ],
            "OverrideVpcConfig": { 
               "SecurityGroupIds": [ "string" ],
               "Subnets": [ "string" ]
            },
            "ScheduledUpdateConfig": { 
               "DeploymentConfig": { 
                  "AutoRollbackConfiguration": [ 
                     { 
                        "AlarmName": "string"
                     }
                  ],
                  "RollingUpdatePolicy": { 
                     "MaximumBatchSize": { 
                        "Type": "string",
                        "Value": number
                     },
                     "RollbackMaximumBatchSize": { 
                        "Type": "string",
                        "Value": number
                     }
                  },
                  "WaitIntervalInSeconds": number
               },
               "ScheduleExpression": "string"
            },
            "ThreadsPerCore": number,
            "TrainingPlanArn": "string"
         }
      ],
       "VpcConfig": {
           "SecurityGroupIds": ["string"],
           "Subnets": ["string"]
       },
       "Tags": [{
           "Key": "string",
           "Value": "string"
       }],
       "Orchestrator": {
           "Eks": {
               "ClusterArn": "string",
               "KubernetesConfig": {
                   "Labels": {
                       "nvidia.com/mig.config": "all-3g.40gb"
                   }
               }
           }
       },
       "NodeRecovery": "Automatic"
   }
   ```

   Perhatikan hal berikut saat mengonfigurasi untuk membuat SageMaker HyperPod cluster baru yang terkait dengan cluster EKS.
   + Anda dapat mengonfigurasi hingga 20 grup instans di bawah `InstanceGroups` parameter.
   + Untuk`Orchestator.Eks.ClusterArn`, tentukan ARN cluster EKS yang ingin Anda gunakan sebagai orkestrator.
   + Untuk`OnStartDeepHealthChecks`, tambahkan `InstanceStress` dan `InstanceConnectivity` aktifkan[Pemeriksaan kesehatan yang mendalam](sagemaker-hyperpod-eks-resiliency-deep-health-checks.md).
   + Untuk`NodeRecovery`, tentukan `Automatic` untuk mengaktifkan pemulihan simpul otomatis. SageMaker HyperPod menggantikan atau me-reboot instance (node) ketika masalah ditemukan oleh agen pemantauan kesehatan.
   + Untuk `Tags` parameter, Anda dapat menambahkan tag khusus untuk mengelola SageMaker HyperPod cluster sebagai AWS sumber daya. Anda dapat menambahkan tag ke klaster Anda dengan cara yang sama seperti Anda menambahkannya di AWS layanan lain yang mendukung penandaan. Untuk mempelajari selengkapnya tentang menandai AWS sumber daya secara umum, lihat [Panduan Pengguna AWS Sumber Daya Tag](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html).
   + Untuk `VpcConfig` parameter, tentukan informasi VPC yang digunakan dalam cluster EKS. Subnet harus bersifat pribadi.
   + Untuk`Orchestrator.Eks.KubernetesConfig.Labels`, Anda dapat secara opsional menentukan label Kubernetes untuk diterapkan ke node. Untuk mengaktifkan partisi GPU dengan Multi-Instance GPU (MIG), tambahkan `nvidia.com/mig.config` label dengan profil MIG yang diinginkan. Misalnya, `"nvidia.com/mig.config": "all-3g.40gb"` mengkonfigurasi semua GPUs dengan profil partisi 3g.40gb. Untuk informasi selengkapnya tentang partisi GPU dan profil yang tersedia, lihat. [Menggunakan partisi GPU di Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md)

1. Jalankan perintah [create-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html) sebagai berikut.
**penting**  
Saat menjalankan `create-cluster` perintah dengan `--cli-input-json` parameter, Anda harus menyertakan `file://` awalan sebelum jalur lengkap ke file JSON. Awalan ini diperlukan untuk memastikan bahwa AWS CLI mengenali input sebagai jalur file. Menghilangkan `file://` awalan menghasilkan kesalahan parameter parsing.

   ```
   aws sagemaker create-cluster \
       --cli-input-json file://complete/path/to/create_cluster.json
   ```

   Ini harus mengembalikan ARN dari cluster baru.
**penting**  
Anda dapat menggunakan operasi [update-cluster](https://docs.aws.amazon.com//cli/latest/reference/ecs/update-cluster.html) untuk menghapus grup instans terbatas (RIG). Ketika RIG diperkecil menjadi 0, sistem file FSx for Lustre tidak akan dihapus. Untuk benar-benar menghapus sistem file FSx for Lustre, Anda harus menghapus RIG sepenuhnya.   
Menghapus RIG tidak akan menghapus artefak apa pun yang disimpan di bucket Amazon S3 yang dikelola layanan. Namun, Anda harus memastikan semua artefak dalam sistem file FSx for Lustre sepenuhnya disinkronkan ke Amazon S3 sebelum dihapus. Sebaiknya tunggu setidaknya 30 menit setelah pekerjaan selesai untuk memastikan sinkronisasi lengkap semua artefak dari sistem file FSx for Lustre ke bucket Amazon S3 yang dikelola layanan.
**penting**  
Saat menggunakan On-Demand Capacity Reservation (ODCR) onboard, Anda harus memetakan grup instans Anda ke ID Availability Zone (ID AZ) yang sama dengan ODCR `OverrideVpcConfig` dengan menyetelnya dengan subnet di ID AZ yang cocok.  
KRITIS: Verifikasi `OverrideVpcConfig` konfigurasi sebelum penerapan untuk menghindari biaya duplikat untuk ODCR dan Kapasitas Sesuai Permintaan.

# Mengambil detail SageMaker HyperPod cluster
<a name="sagemaker-hyperpod-eks-operate-cli-command-cluster-details"></a>

Pelajari cara mengambil detail SageMaker HyperPod klaster menggunakan. AWS CLI

## Jelaskan sebuah cluster
<a name="sagemaker-hyperpod-eks-operate-cli-command-describe-cluster"></a>

Jalankan [describe-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-cluster.html) untuk memeriksa status cluster. Anda dapat menentukan nama atau ARN cluster.

```
aws sagemaker describe-cluster --cluster-name your-hyperpod-cluster
```

Setelah status cluster berubah**InService**, lanjutkan ke langkah berikutnya. Dengan menggunakan API ini, Anda juga dapat mengambil pesan kegagalan dari menjalankan operasi HyperPod API lainnya.

## Rincian daftar node cluster
<a name="sagemaker-hyperpod-eks-operate-cli-command-list-cluster-nodes"></a>

Jalankan [list-cluster-nodes](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-cluster-nodes.html)untuk memeriksa informasi kunci dari node cluster.

```
aws sagemaker list-cluster-nodes --cluster-name your-hyperpod-cluster
```

Ini mengembalikan respons, dan `InstanceId` itulah yang perlu Anda gunakan untuk logging (using`aws ssm`) ke dalamnya.

## Jelaskan detail node cluster
<a name="sagemaker-hyperpod-eks-operate-cli-command-describe-cluster-node"></a>

Jalankan [describe-cluster-node](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-cluster-node.html)untuk mengambil rincian node cluster. Anda bisa mendapatkan ID node cluster dari list-cluster-nodes output. Anda dapat menentukan nama atau ARN cluster.

```
aws sagemaker describe-cluster-node \
    --cluster-name your-hyperpod-cluster \
    --node-id i-111222333444555aa
```

## Daftar kluster
<a name="sagemaker-hyperpod-eks-operate-cli-command-list-clusters"></a>

Jalankan [list-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-clusters.html) untuk mencantumkan semua cluster di akun Anda.

```
aws sagemaker list-clusters
```

Anda juga dapat menambahkan bendera tambahan untuk memfilter daftar cluster ke bawah. Untuk mempelajari selengkapnya tentang apa yang dijalankan perintah ini pada level rendah dan flag tambahan untuk pemfilteran, lihat referensi [ListClusters](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListClusters.html)API.

# Memperbarui konfigurasi SageMaker HyperPod cluster
<a name="sagemaker-hyperpod-eks-operate-cli-command-update-cluster"></a>

Jalankan [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) untuk memperbarui konfigurasi cluster.

**catatan**  
Pertimbangan penting:  
Anda tidak dapat mengubah informasi kluster EKS yang dikaitkan dengan HyperPod cluster Anda setelah cluster dibuat. 
Jika pemeriksaan kesehatan mendalam berjalan di cluster, API ini tidak akan berfungsi seperti yang diharapkan. Anda mungkin menemukan pesan kesalahan yang menyatakan bahwa pemeriksaan kesehatan mendalam sedang berlangsung. Untuk memperbarui cluster, Anda harus menunggu sampai pemeriksaan kesehatan mendalam selesai.

1. Buat file permintaan [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)API dalam format JSON. Pastikan Anda menentukan nama cluster dan nama grup instance yang tepat untuk diperbarui. Untuk setiap grup instans, Anda dapat mengubah jenis instance, jumlah instance, skrip titik masuk konfigurasi siklus hidup, dan jalur ke skrip.
**catatan**  
Anda dapat menggunakan `UpdateCluster` untuk memperkecil atau menghapus seluruh grup instans dari SageMaker HyperPod klaster Anda. Untuk petunjuk tambahan tentang cara mengurangi atau menghapus grup instans, lihat[Penskalaan cluster SageMaker HyperPod](smcluster-scale-down.md).

   1. Untuk`ClusterName`, tentukan nama cluster yang ingin Anda perbarui.

   1. Untuk `InstanceGroupName`

      1. Untuk memperbarui grup instans yang ada, tentukan nama grup instans yang ingin Anda perbarui.

      1. Untuk menambahkan grup instans baru, tentukan nama baru yang tidak ada di klaster Anda.

   1. Untuk `InstanceType`

      1. Untuk memperbarui grup instans yang ada, Anda harus mencocokkan jenis instans yang awalnya Anda tentukan ke grup.

      1. Untuk menambahkan grup instans baru, tentukan jenis instance yang ingin Anda konfigurasikan grup.

   1. Untuk `InstanceCount`

      1. Untuk memperbarui grup instans yang ada, tentukan bilangan bulat yang sesuai dengan jumlah instance yang Anda inginkan. Anda dapat memberikan nilai yang lebih tinggi atau lebih rendah (turun ke 0) untuk menskalakan grup instans naik atau turun.

      1. Untuk menambahkan grup instance baru, tentukan bilangan bulat yang lebih besar atau sama dengan 1. 

   1. Untuk`LifeCycleConfig`, Anda dapat mengubah nilai untuk keduanya `SourceS3Uri` dan `OnCreate` saat Anda ingin memperbarui grup instance.

   1. Untuk `ExecutionRole`

      1. Untuk memperbarui grup instans yang ada, tetap gunakan peran IAM yang sama yang Anda lampirkan selama pembuatan klaster.

      1. Untuk menambahkan grup instance baru, tentukan peran IAM yang ingin Anda lampirkan.

   1. Untuk `ThreadsPerCore`

      1. Untuk memperbarui grup instans yang ada, tetap gunakan nilai yang sama yang Anda tentukan selama pembuatan klaster.

      1. Untuk menambahkan grup instans baru, Anda dapat memilih nilai apa pun dari opsi yang diizinkan per jenis instans. Untuk informasi selengkapnya, cari jenis instans dan lihat kolom **Benang valid per inti** dalam tabel referensi di [inti CPU dan utas per inti CPU per jenis instans](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cpu-options-supported-instances-values.html) di *Panduan Pengguna Amazon EC2*.

   1. Untuk`OnStartDeepHealthChecks`, tambahkan `InstanceStress` dan `InstanceConnectivity` aktifkan[Pemeriksaan kesehatan yang mendalam](sagemaker-hyperpod-eks-resiliency-deep-health-checks.md).

   1. Untuk`NodeRecovery`, tentukan `Automatic` untuk mengaktifkan pemulihan simpul otomatis. SageMaker HyperPod menggantikan atau me-reboot instance (node) ketika masalah ditemukan oleh agen pemantauan kesehatan.

   Cuplikan kode berikut adalah template file permintaan JSON yang dapat Anda gunakan. Untuk informasi selengkapnya tentang sintaks permintaan dan parameter API ini, lihat referensi [UpdateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)API.

   ```
   // update_cluster.json
   {
       // Required
       "ClusterName": "name-of-cluster-to-update",
       // Required
       "InstanceGroups": [{
           "InstanceGroupName": "string",
           "InstanceType": "string",
           "InstanceCount": number,
           "LifeCycleConfig": {
               "SourceS3Uri": "string",
               "OnCreate": "string"
           },
           "ExecutionRole": "string",
           "ThreadsPerCore": number,
           "OnStartDeepHealthChecks": [
               "InstanceStress", "InstanceConnectivity"
           ]
       }],
       "NodeRecovery": "Automatic"
   }
   ```

1. Jalankan `update-cluster` perintah berikut untuk mengirimkan permintaan. 

   ```
   aws sagemaker update-cluster \
       --cli-input-json file://complete/path/to/update_cluster.json
   ```

# Memperbarui perangkat lunak SageMaker HyperPod platform
<a name="sagemaker-hyperpod-eks-operate-cli-command-update-cluster-software"></a>

Saat Anda membuat SageMaker HyperPod klaster, SageMaker HyperPod pilih Amazon Machine Image (AMI) yang sesuai dengan versi Kubernetes dari klaster Amazon EKS Anda.

Jalankan [update-cluster-software](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster-software.html)untuk memperbarui cluster yang ada dengan perangkat lunak dan patch keamanan yang disediakan oleh layanan. SageMaker HyperPod Untuk`--cluster-name`, tentukan nama atau ARN cluster yang akan diperbarui.

**penting**  
Ketika API ini dipanggil, SageMaker HyperPod tidak menguras atau mendistribusikan ulang jobs (Pod) yang berjalan pada node. Pastikan untuk memeriksa apakah ada pekerjaan yang berjalan di node sebelum memanggil API ini.
Proses patching menggantikan volume root dengan AMI yang diperbarui, yang berarti bahwa data Anda sebelumnya yang disimpan dalam volume root instance akan hilang. Pastikan Anda mencadangkan data dari volume root instans ke Amazon S3 atau Amazon FSx for Lustre.
Semua node cluster mengalami downtime (node muncul seperti `<NotReady>` pada output`kubectl get node`) saat patching sedang berlangsung. Kami menyarankan Anda menghentikan semua beban kerja sebelum menambal dan melanjutkannya setelah tambalan selesai.   
Jika patch keamanan gagal, Anda dapat mengambil pesan kegagalan dengan menjalankan [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeCluster.html)API seperti yang diinstruksikan. [Jelaskan sebuah cluster](sagemaker-hyperpod-eks-operate-cli-command-cluster-details.md#sagemaker-hyperpod-eks-operate-cli-command-describe-cluster)

```
aws sagemaker update-cluster-software --cluster-name your-hyperpod-cluster
```

 Saat memanggil `UpdateClusterSoftware` API, SageMaker HyperPod perbarui node versi Kubernetes dengan memilih yang terbaru [SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami) berdasarkan versi Kubernetes dari klaster Amazon EKS Anda. Kemudian menjalankan skrip siklus hidup di bucket Amazon S3 yang Anda tentukan selama pembuatan atau pembaruan klaster. 

Anda dapat memverifikasi versi kubelet dari sebuah node dengan menjalankan perintah. `kubectl describe node`

Node SageMaker HyperPod klaster versi Kubernetes tidak diperbarui secara otomatis saat Anda memperbarui versi klaster Amazon EKS Anda. Setelah memperbarui versi Kubernetes untuk klaster Amazon EKS Anda, Anda harus menggunakan `UpdateClusterSoftware` API untuk memperbarui node SageMaker HyperPod cluster Anda ke versi Kubernetes yang sama.

 Disarankan untuk memperbarui SageMaker HyperPod klaster Anda setelah memperbarui node Amazon EKS Anda, dan hindari perbedaan lebih dari satu versi antara versi cluster Amazon EKS dan versi node SageMaker HyperPod cluster.

Tim SageMaker HyperPod layanan secara teratur meluncurkan [SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami) s baru untuk meningkatkan keamanan dan meningkatkan pengalaman pengguna. Kami menyarankan Anda untuk selalu memperbarui ke SageMaker HyperPod DLAMI terbaru. Untuk pembaruan SageMaker HyperPod DLAMI future untuk patch keamanan, tindak lanjuti dengan. [Catatan SageMaker HyperPod rilis Amazon](sagemaker-hyperpod-release-notes.md)

**catatan**  
Anda hanya dapat menjalankan API ini secara terprogram. Fungsionalitas penambalan tidak diimplementasikan di UI SageMaker HyperPod konsol.

# Mengakses node SageMaker HyperPod cluster
<a name="sagemaker-hyperpod-eks-operate-access-through-terminal"></a>

Anda dapat langsung mengakses node SageMaker HyperPod cluster dalam layanan menggunakan AWS CLI perintah untuk AWS Systems Manager (SSM). Jalankan `aws ssm start-session` dengan nama host node dalam format`sagemaker-cluster:[cluster-id]_[instance-group-name]-[instance-id]`. Anda dapat mengambil ID cluster, ID instance, dan nama grup instance dari [SageMaker HyperPod konsol](sagemaker-hyperpod-operate-slurm-console-ui.md#sagemaker-hyperpod-operate-slurm-console-ui-view-details-of-clusters) atau dengan menjalankan `describe-cluster` dan `list-cluster-nodes` dari [AWS CLI perintah untuk SageMaker HyperPod](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-list-cluster-nodes). Misalnya, jika ID cluster Anda`aa11bbbbb222`, nama node cluster adalah`controller-group`, dan ID node cluster adalah`i-111222333444555aa`, `start-session` perintah SSM harus sebagai berikut.

**catatan**  
Jika Anda belum menyiapkan AWS Systems Manager, ikuti instruksi yang diberikan di[Menyiapkan AWS Systems Manager dan Jalankan Sebagai untuk kontrol akses pengguna cluster](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-ssm).

```
$ aws ssm start-session \
    --target sagemaker-cluster:aa11bbbbb222_controller-group-i-111222333444555aa \
    --region us-west-2
Starting session with SessionId: s0011223344aabbccdd
root@ip-111-22-333-444:/usr/bin#
```

# Penskalaan cluster SageMaker HyperPod
<a name="smcluster-scale-down"></a>

Anda dapat mengurangi jumlah instans yang berjalan di SageMaker HyperPod klaster Amazon Anda. Anda mungkin ingin menurunkan klaster karena berbagai alasan, seperti pengurangan pemanfaatan sumber daya atau pengoptimalan biaya.

Halaman berikut menguraikan dua pendekatan utama untuk menurunkan skala:
+ **Turunkan skala pada tingkat grup instans:** Pendekatan ini menggunakan `UpdateCluster` API, yang dengannya Anda dapat:
  + Turunkan jumlah instance untuk grup instance tertentu secara independen. SageMaker AI menangani penghentian node dengan cara yang mencapai jumlah instans target baru yang telah Anda tetapkan untuk setiap grup. Lihat [Turunkan skala grup instans](#smcluster-scale-down-updatecluster).
  + Hapus grup instans sepenuhnya dari cluster Anda. Lihat [Hapus grup instance](#smcluster-remove-instancegroup).
+ **Turunkan skala pada tingkat instans:** Pendekatan ini menggunakan `BatchDeleteClusterNodes` API, yang dengannya Anda dapat menentukan masing-masing node yang ingin Anda akhiri. Lihat [Turunkan skala pada tingkat instans](#smcluster-scale-down-batchdelete).

**catatan**  
Saat menurunkan skala pada tingkat instans dengan`BatchDeleteCusterNodes`, Anda hanya dapat menghentikan maksimum 99 instans sekaligus. `UpdateCluster`mendukung penghentian sejumlah instance.

## Pertimbangan penting
<a name="smcluster-scale-down-considerations"></a>
+ Saat memperkecil klaster, Anda harus memastikan bahwa sumber daya yang tersisa cukup untuk menangani beban kerja Anda dan bahwa setiap migrasi atau penyeimbangan data yang diperlukan ditangani dengan benar untuk menghindari gangguan. 
+ Pastikan untuk mencadangkan data Anda ke Amazon S3 atau sistem file FSx for Lustre sebelum menjalankan API pada grup node pekerja. Ini dapat membantu mencegah potensi kehilangan data dari volume root instance. Untuk informasi selengkapnya tentang pencadangan, lihat[Gunakan skrip cadangan yang disediakan oleh SageMaker HyperPod](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software-backup).
+ Untuk menjalankan API ini pada cluster yang ada, Anda harus terlebih dahulu menambal cluster dengan menjalankan [ UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)API. Untuk informasi selengkapnya tentang menambal cluster, lihat[Perbarui perangkat lunak SageMaker HyperPod platform cluster](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software).
+ Pengukuran/penagihan untuk instans sesuai permintaan akan secara otomatis dihentikan setelah penurunan skala. Untuk menghentikan pengukuran untuk instans cadangan yang diperkecil, Anda harus menghubungi tim AWS akun Anda untuk mendapatkan dukungan.
+ Anda dapat menggunakan kapasitas yang dirilis dari instans cadangan yang diperkecil untuk meningkatkan skala klaster lain. SageMaker HyperPod 

## Turunkan skala pada tingkat grup instans
<a name="smcluster-scale-down-or-delete"></a>

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)Operasi ini memungkinkan Anda untuk membuat perubahan pada konfigurasi SageMaker HyperPod klaster Anda, seperti mengurangi jumlah instance dari grup instans atau menghapus seluruh grup instans. Ini dapat berguna saat Anda ingin menyesuaikan sumber daya yang dialokasikan ke klaster berdasarkan perubahan beban kerja, mengoptimalkan biaya, atau mengubah jenis instans grup instans.

### Turunkan skala grup instans
<a name="smcluster-scale-down-updatecluster"></a>

Gunakan pendekatan ini ketika Anda memiliki grup instans yang menganggur dan aman untuk menghentikan salah satu instance untuk penskalaan. Saat Anda mengirimkan `UpdateCluster` permintaan untuk menurunkan skala, HyperPod secara acak memilih instance untuk penghentian dan menskalakan ke jumlah node yang ditentukan untuk grup instans.

**catatan**  
Saat Anda menskalakan jumlah instance dalam grup instans ke 0, semua instance dalam grup itu akan dihentikan. Namun, grup instance itu sendiri akan tetap ada sebagai bagian dari SageMaker HyperPod cluster. Anda dapat menskalakan cadangan grup instans di lain waktu, menggunakan konfigurasi grup instance yang sama.   
Atau, Anda dapat memilih untuk menghapus grup instance secara permanen. Untuk informasi selengkapnya, lihat [Hapus grup instance](#smcluster-remove-instancegroup).

**Untuk menurunkan skala dengan `UpdateCluster`**

1. Ikuti langkah-langkah yang diuraikan dalam[Memperbarui konfigurasi SageMaker HyperPod cluster](sagemaker-hyperpod-eks-operate-cli-command-update-cluster.md). Saat Anda mencapai langkah **1.d** di mana Anda menentukan **InstanceCount**bidang, masukkan angka yang lebih kecil dari jumlah instance saat ini untuk menurunkan skala cluster.

1. Jalankan AWS CLI perintah [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) untuk mengirimkan permintaan Anda.

Berikut ini adalah contoh dari objek `UpdateCluster` JSON. Pertimbangkan kasus di mana grup instans Anda saat ini memiliki 2 instance yang sedang berjalan. Jika Anda mengatur **InstanceCount**bidang ke 1, seperti yang ditunjukkan dalam contoh, maka HyperPod secara acak memilih salah satu contoh dan menghentikannya.

```
{
  "ClusterName": "name-of-cluster-to-update",
  "InstanceGroups": [
    {
      "InstanceGroupName": "training-instances",
      "InstanceType": "instance-type",
      "InstanceCount": 1,
      "LifeCycleConfig": {
        "SourceS3Uri": "s3://amzn-s3-demo-bucket/training-script.py",
        "OnCreate": "s3://amzn-s3-demo-bucket/setup-script.sh"
      },
      "ExecutionRole": "arn:aws:iam::123456789012:role/SageMakerRole",
      "ThreadsPerCore": number-of-threads,
      "OnStartDeepHealthChecks": [
        "InstanceStress",
        "InstanceConnectivity"
      ]
    }
  ],
  "NodeRecovery": "Automatic"
}
```

### Hapus grup instance
<a name="smcluster-remove-instancegroup"></a>

Anda dapat menggunakan [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)operasi untuk menghapus seluruh grup instans dari SageMaker HyperPod klaster Anda ketika mereka tidak lagi diperlukan. Ini melampaui penskalaan sederhana, memungkinkan Anda untuk sepenuhnya menghilangkan grup instance tertentu dari konfigurasi klaster Anda. 

**catatan**  
Saat menghapus grup instance:  
Semua instance dalam grup yang ditargetkan dihentikan.
Seluruh konfigurasi grup dihapus dari cluster.
Beban kerja apa pun yang berjalan pada grup instance tersebut dihentikan.

**Untuk menghapus grup instance dengan `UpdateCluster`**

1. Saat mengikuti langkah-langkah yang diuraikan dalam[Memperbarui konfigurasi SageMaker HyperPod cluster](sagemaker-hyperpod-eks-operate-cli-command-update-cluster.md):

   1. Tetapkan `InstanceGroupsToDelete` parameter opsional di `UpdateCluster` JSON Anda dan berikan daftar nama grup instance yang dipisahkan koma yang ingin Anda hapus.

   1.  Saat Anda menentukan `InstanceGroups` daftar, pastikan bahwa spesifikasi grup instans yang Anda hapus tidak lagi tercantum dalam `InstanceGroups` daftar.

1. Jalankan AWS CLI perintah [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) untuk mengirimkan permintaan Anda.

**penting**  
 SageMaker HyperPod Cluster Anda harus selalu memelihara setidaknya satu grup instans.
Pastikan semua data penting dicadangkan sebelum dihapus.
Proses penghapusan tidak dapat dibatalkan.

Berikut ini adalah contoh dari objek `UpdateCluster` JSON. *Pertimbangkan kasus di mana cluster saat ini memiliki 3 grup instans, *pelatihan, pelatihan* *prototipe, dan kelompok penyajian* inferensi.* Anda ingin menghapus grup pelatihan *prototipe*.

```
{
  "ClusterName": "name-of-cluster-to-update",
  "InstanceGroups": [
    {
      "InstanceGroupName": "training",
      "InstanceType": "instance-type",
      "InstanceCount": ,
      "LifeCycleConfig": {
        "SourceS3Uri": "s3://amzn-s3-demo-bucket/training-script.py",
        "OnCreate": "s3://amzn-s3-demo-bucket/setup-script.sh"
      },
      "ExecutionRole": "arn:aws:iam::123456789012:role/SageMakerRole",
      "ThreadsPerCore": number-of-threads,
      "OnStartDeepHealthChecks": [
        "InstanceStress",
        "InstanceConnectivity"
      ]
    },
    {
      "InstanceGroupName": "inference-serving",
      "InstanceType": "instance-type",
      "InstanceCount": 2,
      [...]
    },
  ],
  "InstanceGroupsToDelete": [ "prototype-training" ],
  "NodeRecovery": "Automatic"
}
```

## Turunkan skala pada tingkat instans
<a name="smcluster-scale-down-batchdelete"></a>

`BatchDeleteClusterNodes`Operasi ini memungkinkan Anda untuk menurunkan skala SageMaker HyperPod cluster dengan menentukan node individual yang ingin Anda akhiri. `BatchDeleteClusterNodes`menyediakan kontrol yang lebih granular untuk penghapusan node yang ditargetkan dan optimasi cluster. Misalnya, Anda dapat menggunakan `BatchDeleteClusterNodes` untuk menghapus node yang ditargetkan untuk pemeliharaan, peningkatan bergulir, atau menyeimbangkan kembali sumber daya secara geografis.

**Permintaan dan respons API**

Saat Anda mengirimkan `BatchDeleteClusterNodes` permintaan, SageMaker HyperPod menghapus node berdasarkan instancenya IDs. API menerima permintaan dengan nama cluster dan daftar node IDs yang akan dihapus. 

Tanggapan tersebut mencakup dua bagian: 
+  `Failed`: Daftar kesalahan tipe `[ BatchDeleteClusterNodesError ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BatchDeleteClusterNodesError.html)` - satu per contoh ID.
+  `Successful`: Daftar instance IDs berhasil dihentikan. 

**Validasi dan penanganan kesalahan**

API melakukan berbagai validasi, seperti:
+ Memverifikasi format ID node (awalan `i-` dan struktur ID instans Amazon EC2). 
+ Memeriksa panjang daftar node, dengan batas 99 atau lebih sedikit node IDs dalam satu `BatchDeleteClusterNodes` permintaan.
+ Memastikan klaster yang valid dengan nama SageMaker HyperPod cluster input hadir dan tidak ada operasi tingkat cluster (pembaruan, pembaruan sistem, penambalan, atau penghapusan) yang sedang berlangsung.
+ Menangani kasus di mana instance tidak ditemukan, memiliki status tidak valid, atau sedang digunakan.

**Kode Respons API**
+  API mengembalikan kode `200` status untuk berhasil (misalnya, semua node input berhasil validasi) atau sebagian permintaan berhasil (misalnya, beberapa node input gagal validasi). 
+  Jika semua validasi ini gagal (misalnya, semua node input gagal validasi), API akan mengembalikan respons Permintaan `400` Buruk dengan pesan kesalahan dan kode kesalahan yang sesuai. 

**Contoh**

Berikut ini adalah contoh **penskalaan cluster pada tingkat instance** menggunakan: AWS CLI

```
aws sagemaker batch-delete-cluster-nodes --cluster-name "cluster-name" --node-ids '["i-111112222233333", "i-111112222233333"]'
```

# Menghapus cluster SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-operate-cli-command-delete-cluster"></a>

Jalankan [delete-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/delete-cluster.html) untuk menghapus cluster. Anda dapat menentukan nama atau ARN cluster.

```
aws sagemaker delete-cluster --cluster-name your-hyperpod-cluster
```

API ini hanya membersihkan SageMaker HyperPod sumber daya dan tidak menghapus sumber daya apa pun dari cluster EKS terkait. Ini termasuk cluster Amazon EKS, identitas EKS Pod, FSx volume Amazon, dan add-on EKS. Ini juga termasuk konfigurasi awal yang Anda tambahkan ke cluster EKS Anda. Jika Anda ingin membersihkan semua sumber daya, pastikan Anda juga membersihkan sumber daya EKS secara terpisah. 

Pastikan Anda menghapus sumber daya terlebih dahulu, diikuti oleh SageMaker HyperPod sumber daya EKS. Melakukan penghapusan dalam urutan terbalik dapat mengakibatkan sumber daya yang tersisa.

**penting**  
Ketika API ini dipanggil, SageMaker HyperPod tidak menguras atau mendistribusikan ulang jobs (Pod) yang berjalan pada node. Pastikan untuk memeriksa apakah ada pekerjaan yang berjalan di node sebelum memanggil API ini.

# HyperPod pos pemeriksaan berjenjang terkelola
<a name="managed-tier-checkpointing"></a>

Bagian ini menjelaskan cara kerja pos pemeriksaan berjenjang yang dikelola dan manfaat yang diberikannya untuk pelatihan model skala besar.

Checkpointing berjenjang yang SageMaker HyperPod dikelola Amazon membantu Anda melatih model AI generatif skala besar dengan lebih efisien. Ini menggunakan beberapa tingkatan penyimpanan, termasuk memori CPU cluster Anda. Pendekatan ini mengurangi waktu Anda untuk pemulihan dan meminimalkan kerugian dalam kemajuan pelatihan. Ini juga menggunakan sumber daya memori yang kurang dimanfaatkan dalam infrastruktur pelatihan Anda.

Checkpointing berjenjang terkelola memungkinkan penyimpanan pos pemeriksaan pada frekuensi yang lebih tinggi ke memori. Ini secara berkala mempertahankan mereka untuk penyimpanan yang tahan lama. Ini menjaga kinerja dan keandalan selama proses pelatihan Anda.

Panduan ini mencakup cara menyiapkan, mengonfigurasi, dan menggunakan pos pemeriksaan berjenjang terkelola dengan kerangka PyTorch kerja di kluster Amazon EKS. HyperPod 

## Cara kerja checkpointing berjenjang terkelola
<a name="managed-tier-checkpointing-works"></a>

Checkpointing berjenjang terkelola menggunakan pendekatan penyimpanan multi-tier. Memori CPU berfungsi sebagai tingkat utama untuk menyimpan pos pemeriksaan model. Tingkat sekunder mencakup opsi penyimpanan persisten seperti Amazon S3.

Saat Anda menyimpan pos pemeriksaan, sistem menyimpannya di ruang memori yang dialokasikan di seluruh node cluster Anda. Ini secara otomatis mereplikasi data di seluruh node komputasi yang berdekatan untuk meningkatkan keandalan. Strategi replikasi ini melindungi terhadap kegagalan node tunggal atau ganda sambil menyediakan akses cepat untuk operasi pemulihan.

Sistem juga secara berkala menyimpan pos pemeriksaan ke penyimpanan persisten sesuai dengan konfigurasi Anda. Ini memastikan daya tahan jangka panjang dari kemajuan pelatihan Anda.

Komponen utama meliputi:
+ **Sistem manajemen memori**: Daemon manajemen memori yang menyediakan memori terpilah sebagai layanan untuk penyimpanan pos pemeriksaan
+ **HyperPod Pustaka Python**: Antarmuka dengan penyimpanan terpilah APIs dan menyediakan utilitas untuk menyimpan, memuat, dan mengelola pos pemeriksaan di seluruh tingkatan
+ **Replikasi pos pemeriksaan**: Secara otomatis mereplikasi pos pemeriksaan di beberapa node untuk toleransi kesalahan

Sistem terintegrasi secara mulus dengan loop PyTorch pelatihan melalui panggilan API sederhana. Ini membutuhkan sedikit perubahan pada kode Anda yang ada.

## Manfaat
<a name="managed-tier-checkpointing-benefits"></a>

Checkpointing berjenjang terkelola memberikan beberapa keuntungan untuk pelatihan model skala besar:
+ **Peningkatan kegunaan**: Mengelola penyimpanan pos pemeriksaan, replikasi, ketekunan, dan pemulihan
+ **Operasi pos pemeriksaan yang lebih cepat**: Penyimpanan berbasis memori memberikan waktu penghematan dan pemuatan yang lebih cepat dibandingkan dengan pos pemeriksaan berbasis disk, yang mengarah ke pemulihan yang lebih cepat
+ **Toleransi kesalahan**: Replikasi pos pemeriksaan otomatis di seluruh node melindungi terhadap kegagalan node perangkat keras
+ **Perubahan kode minimal**: Integrasi API sederhana hanya memerlukan sedikit modifikasi pada skrip pelatihan yang ada
+ **Peningkatan throughput pelatihan**: Pengurangan overhead pos pemeriksaan berarti lebih banyak waktu yang dihabiskan untuk pelatihan yang sebenarnya

**Topics**
+ [

## Cara kerja checkpointing berjenjang terkelola
](#managed-tier-checkpointing-works)
+ [

## Manfaat
](#managed-tier-checkpointing-benefits)
+ [

# Siapkan pos pemeriksaan berjenjang terkelola
](managed-tier-checkpointing-setup.md)
+ [

# Menghapus pos pemeriksaan berjenjang yang dikelola
](managed-tier-checkpointing-remove.md)
+ [

# Pertimbangan keamanan untuk pos pemeriksaan berjenjang terkelola
](managed-tier-security-considerations.md)

# Siapkan pos pemeriksaan berjenjang terkelola
<a name="managed-tier-checkpointing-setup"></a>

Bagian ini berisi proses penyiapan untuk pos pemeriksaan berjenjang terkelola untuk Amazon. SageMaker HyperPod Anda akan mempelajari cara mengaktifkan kemampuan pada cluster Anda dan menerapkan checkpointing dalam kode pelatihan Anda.

**Topics**
+ [

## Prasyarat
](#managed-tier-checkpointing-setup-prerequisites)
+ [

## Langkah 1: Aktifkan pos pemeriksaan berjenjang terkelola untuk klaster Anda
](#managed-tier-checkpointing-setup-step-enable-for-cluster)
+ [

## Langkah 2: Instal pustaka Python di gambar pelatihan Anda
](#managed-tier-checkpointing-setup-step-install-library)
+ [

## Langkah 3: Simpan pos pemeriksaan di loop pelatihan Anda
](#managed-tier-checkpointing-setup-step-save-checkpoint-in-loop)
+ [

## Langkah 4: Muat pos pemeriksaan untuk pemulihan
](#managed-tier-checkpointing-setup-step-load-checkpoint)
+ [

## Validasi operasi pos pemeriksaan berjenjang terkelola
](#managed-tier-checkpointing-setup-validation)

## Prasyarat
<a name="managed-tier-checkpointing-setup-prerequisites"></a>

Sebelum menyiapkan pos pemeriksaan berjenjang terkelola, pastikan Anda memiliki:
+  HyperPod Cluster Amazon EKS dengan memori CPU yang cukup tersedia untuk alokasi pos pemeriksaan
+ PyTorch beban kerja pelatihan dan pekerjaan DCP (keduanya didukung)
+ Izin IAM yang sesuai untuk manajemen klaster, termasuk:
  + Amazon CloudWatch dan Amazon S3 menulis izin untuk pod pelatihan untuk membaca/menulis pos pemeriksaan dan mendorong metrik
  + Izin ini dapat dikonfigurasi melalui pengaturan [EKS OIDC](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html)

## Langkah 1: Aktifkan pos pemeriksaan berjenjang terkelola untuk klaster Anda
<a name="managed-tier-checkpointing-setup-step-enable-for-cluster"></a>

**penting**  
Anda harus memilih untuk menggunakan pos pemeriksaan berjenjang terkelola.

Aktifkan pos pemeriksaan berjenjang terkelola melalui HyperPod APIs saat membuat atau memperbarui klaster Anda. Layanan secara otomatis menginstal sistem manajemen memori ketika Anda menentukan `TieredStorageConfig` parameter.

Untuk cluster baru, Anda dapat menggunakan [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html) AWS CLI.

```
aws sagemaker create-cluster \
    --cluster-name cluster-name \
    --orchestrator "Eks={ClusterArn=eks-cluster-arn}" \
    --instance-groups '{
        "InstanceGroupName": "instance-group-name",
        "InstanceType": "instance-type",
        "InstanceCount": instance-count,
        "LifeCycleConfig": {
            "SourceS3Uri": "s3-path-to-lifecycle-scripts",
            "OnCreate": "lifecycle-script-name"
        },
        "ExecutionRole": "instance-group-iam-role",
        "ThreadsPerCore": threads-per-core,
        "InstanceStorageConfigs": [
            { "EbsVolumeConfig": {"VolumeSizeInGB": volume-size} }
        ]
    }' \
    --vpc-config '{
        "SecurityGroupIds": ["security-group-ids"],
        "Subnets": ["subnets"]
    }' \
    --tiered-storage-config '{
        "Mode": "Enable"
    }'
```

`InstanceMemoryAllocationPercentage`Parameter menentukan `percentage` (int) memori cluster untuk mengalokasikan untuk checkpointing. Kisarannya 20-100.

## Langkah 2: Instal pustaka Python di gambar pelatihan Anda
<a name="managed-tier-checkpointing-setup-step-install-library"></a>

Instal [library SageMaker checkpointing Amazon](https://pypi.org/project/amzn-sagemaker-checkpointing/) dan dependensinya di image pelatihan Anda dengan menambahkannya ke Dockerfile Anda:

```
# Add this line to your training image Dockerfile
RUN pip install amzn-sagemaker-checkpointing s3torchconnector tenacity torch boto3 s3torchconnector
```

## Langkah 3: Simpan pos pemeriksaan di loop pelatihan Anda
<a name="managed-tier-checkpointing-setup-step-save-checkpoint-in-loop"></a>

Dalam loop pelatihan Anda, Anda dapat menyimpan pos pemeriksaan secara asinkron menggunakan DCP. PyTorch Berikut ini adalah contoh bagaimana melakukannya.

```
import torch
import torch.distributed as dist
from torch.distributed.checkpoint import async_save, load
from amzn_sagemaker_checkpointing.checkpointing.filesystem.filesystem import (
    SageMakerTieredStorageWriter,
    SageMakerTieredStorageReader
)

# Initialize distributed training
dist.init_process_group(backend="nccl")

# Configure checkpointing
checkpoint_config = SageMakerCheckpointConfig(
    # Unique ID for your training job 
    # Allowed characters in ID include: alphanumeric, hyphens, and underscores
    namespace=os.environ.get('TRAINING_JOB_NAME', f'job-{int(time.time())}'),

    # Number of distributed processes/available GPUs
    world_size=dist.get_world_size(),

    # S3 storage location, required for SageMakerTieredStorageReader for read fallbacks
    # Required for SageMakerTieredStorageWriter when save_to_s3 is True
    s3_tier_base_path="s3://my-bucket/checkpoints"
)

# Your model and optimizer
model = MyModel()
optimizer = torch.optim.AdamW(model.parameters())

# Training loop
future = None
in_memory_ckpt_freq = 10
s3_ckpt_freq = 50

for training_step in range(1000):
    # ... training code ...
    
    # Save checkpoint
    if (training_step % in_memory_ckpt_freq == 0 or 
        training_step % s3_ckpt_freq == 0):
        # Create state dictionary
        state_dict = {
            "model": model.state_dict(),
            "optimizer": optimizer.state_dict(),
            "step": training_step,
            "epoch": epoch
        }
        
        # Create storage writer for current step
        checkpoint_config.save_to_s3 = training_step % s3_ckpt_freq == 0
        storage_writer = SageMakerTieredStorageWriter(
            checkpoint_config=checkpoint_config,
            step=training_step
        )

        # wait for previous checkpoint to get completed
        if future is not None:
            exc = future.exception()
            if exc:
                print(f"Failure in saving previous checkpoint:{str(exc)}")
                # Handle failures as required
            else:
                result = future.result()
                # Process results from save, if required
        
        # Async save checkpoint using PyTorch DCP
        future = async_save(state_dict=state_dict, storage_writer=storage_writer)
        
        # Continue training while checkpoint saves in background
```

## Langkah 4: Muat pos pemeriksaan untuk pemulihan
<a name="managed-tier-checkpointing-setup-step-load-checkpoint"></a>

Berikut ini adalah contoh tentang memuat pos pemeriksaan.

```
# Create state dictionary template
state_dict = {
    "model": model.state_dict(),
    "optimizer": optimizer.state_dict(),
    "step": 0,
    "epoch": 0
}

# Load latest checkpoint
storage_reader = SageMakerTieredStorageReader(checkpoint_config=checkpoint_config)
load(state_dict, storage_reader=storage_reader)

# Load specific checkpoint step
storage_reader = SageMakerTieredStorageReader(
    checkpoint_config=checkpoint_config, 
    step=500 # Or don't pass step if you have to load the latest available step.
)
try:
    load(state_dict, storage_reader=storage_reader)
except BaseException as e:
    print(f"Checkpoint load failed: {str(e)}")
    # Add additional exception handling
```

## Validasi operasi pos pemeriksaan berjenjang terkelola
<a name="managed-tier-checkpointing-setup-validation"></a>

Anda dapat memvalidasi operasi checkpointing berjenjang terkelola dengan log.

**Logging kustom (opsional)**

Anda dapat mengintegrasikan log checkpointing dengan log lain dengan meneruskan logger kustom ke perpustakaan. Misalnya, Anda dapat menambahkan logger kustom ke kode pelatihan Anda sehingga semua log dari perpustakaan juga dikumpulkan dalam logger pelatihan.

**Pencatatan layanan yang disempurnakan (opsional)**

Untuk meningkatkan debugging dan visibilitas layanan, Anda dapat memasang jalur log checkpointing `/var/log/sagemaker_checkpointing` dari dalam pod Anda ke jalur di host Anda. `/var/logs/sagemaker_checkpointing` Ini memastikan bahwa hanya log khusus perpustakaan yang dikumpulkan secara terpisah. Ini memberi tim layanan visibilitas yang ditingkatkan untuk debugging dan dukungan.

# Menghapus pos pemeriksaan berjenjang yang dikelola
<a name="managed-tier-checkpointing-remove"></a>

Bagian ini menjelaskan cara menonaktifkan pos pemeriksaan berjenjang terkelola saat Anda tidak lagi membutuhkannya.

Untuk menonaktifkan pos pemeriksaan berjenjang terkelola, gunakan [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) AWS CLI untuk memperbarui konfigurasi klaster Anda:

```
aws sagemaker update-cluster \
    --cluster-name cluster-name \
    --tiered-storage-config '{ "Mode": "Disable" }'
```

Ini menghapus daemon manajemen memori dari cluster Anda. Daemon diimplementasikan sebagai Kubernetes standar DaemonSet dan mengikuti manajemen siklus hidup Kubernetes standar.

# Pertimbangan keamanan untuk pos pemeriksaan berjenjang terkelola
<a name="managed-tier-security-considerations"></a>

Bagian ini mencakup pertimbangan keamanan penting saat menggunakan pos pemeriksaan berjenjang terkelola. Ini termasuk penggunaan acar Python, enkripsi Amazon S3, dan keamanan titik akhir jaringan.

**Penggunaan acar Python**

Checkpointing berjenjang terkelola menggunakan modul acar Python untuk deserialisasi data pos pemeriksaan yang disimpan di Amazon S3. Implementasi ini memiliki implikasi keamanan yang penting:
+ **Batas kepercayaan yang diperluas: Saat menggunakan pos pemeriksaan berjenjang terkelola dengan Amazon S3, bucket Amazon S3 menjadi bagian dari batas** kepercayaan klaster Anda.
+ **Risiko eksekusi kode**: Modul acar Python dapat mengeksekusi kode arbitrer selama deserialisasi. Jika pengguna yang tidak sah mendapatkan akses tulis ke bucket Amazon S3 pos pemeriksaan Anda, mereka berpotensi membuat data acar berbahaya yang dijalankan saat dimuat oleh pos pemeriksaan berjenjang terkelola.

**Praktik terbaik untuk penyimpanan Amazon S3**

Saat menggunakan pos pemeriksaan berjenjang terkelola dengan penyimpanan Amazon S3:
+ **Batasi akses bucket Amazon S3**: Pastikan hanya pengguna dan peran resmi yang terkait dengan klaster pelatihan Anda yang memiliki akses ke bucket Amazon S3 yang digunakan untuk pos pemeriksaan.
+ **Menerapkan kebijakan bucket**: Konfigurasikan kebijakan bucket yang sesuai untuk mencegah akses atau modifikasi yang tidak sah.
+ **Validasi pola akses**: Terapkan logging untuk memvalidasi pola akses ke bucket Amazon S3 pos pemeriksaan Anda.
+ **Validasi nama bucket**: Berhati-hatilah dengan pemilihan nama bucket untuk menghindari potensi pembajakan bucket.

**Titik akhir jaringan**

Checkpointing berjenjang terkelola memungkinkan titik akhir jaringan pada setiap node komputasi Anda pada port berikut: 9200/TCP, 9209/UDP, 9210/UDP, 9219/UDP, 9229/UDP, 9229/UDP, 9230/UDP, 9239/UDP, 9240/UDP. Port-port ini diperlukan agar layanan checkpointing berfungsi dan memelihara sinkronisasi data.

Secara default, SageMaker konfigurasi jaringan membatasi akses ke titik akhir ini untuk tujuan keamanan. Kami menyarankan Anda mempertahankan batasan default ini.

Saat mengonfigurasi pengaturan jaringan untuk node dan VPC Anda, AWS ikuti praktik terbaik VPCs untuk, grup keamanan, dan. ACLs Untuk informasi selengkapnya, lihat berikut ini:
+ [ SageMaker HyperPod Prasyarat Amazon](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-prerequisites.html#sagemaker-hyperpod-prerequisites-optional-vpcCluster)
+ [Praktik terbaik keamanan VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-best-practices.html)

# SageMaker HyperPod tata kelola tugas
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance"></a>

SageMaker HyperPod Task Governance adalah sistem manajemen yang kuat yang dirancang untuk merampingkan alokasi sumber daya dan memastikan pemanfaatan sumber daya komputasi yang efisien di seluruh tim dan proyek untuk klaster Amazon EKS Anda. Ini memberi administrator kemampuan untuk mengatur:
+ Tingkat prioritas untuk berbagai tugas
+ Hitung alokasi untuk setiap tim
+ Bagaimana setiap tim meminjamkan dan meminjam komputasi idle
+ Jika tim mendahului tugas mereka sendiri

HyperPod Task governance juga menyediakan Observabilitas cluster Amazon EKS, menawarkan visibilitas real-time ke dalam kapasitas cluster. Ini termasuk ketersediaan dan penggunaan komputasi, alokasi dan pemanfaatan tim, dan informasi tugas dan waktu tunggu, menyiapkan Anda untuk pengambilan keputusan yang tepat dan manajemen sumber daya yang proaktif. 

Bagian berikut mencakup cara menyiapkan, memahami konsep utama, dan menggunakan tata kelola HyperPod tugas untuk klaster Amazon EKS Anda.

**Topics**
+ [

# Pengaturan untuk tata kelola SageMaker HyperPod tugas
](sagemaker-hyperpod-eks-operate-console-ui-governance-setup.md)
+ [

# Dasbor
](sagemaker-hyperpod-eks-operate-console-ui-governance-metrics.md)
+ [

# Tugas
](sagemaker-hyperpod-eks-operate-console-ui-governance-tasks.md)
+ [

# Kebijakan
](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md)
+ [

# Contoh perintah tata kelola HyperPod AWS CLI tugas
](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md)
+ [

# Pemecahan Masalah
](sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot.md)
+ [

# Dokumen atribusi untuk tata kelola SageMaker HyperPod tugas Amazon
](sagemaker-hyperpod-eks-operate-console-ui-governance-attributions.md)

# Pengaturan untuk tata kelola SageMaker HyperPod tugas
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-setup"></a>

Bagian berikut memberikan informasi tentang cara mengatur dengan Amazon CloudWatch Observability EKS dan add-on tata kelola SageMaker HyperPod tugas.

Pastikan Anda memiliki kebijakan izin minimum untuk administrator HyperPod klaster dengan Amazon EKS, di[Pengguna IAM untuk admin cluster](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin). Ini termasuk izin untuk menjalankan SageMaker HyperPod inti APIs dan mengelola SageMaker HyperPod cluster di dalam Anda Akun AWS, melakukan tugas di. [Mengelola SageMaker HyperPod cluster yang diatur oleh Amazon EKS](sagemaker-hyperpod-eks-operate.md) 

**Topics**
+ [

# Pengaturan dasbor
](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard.md)
+ [

# Pengaturan tata kelola tugas
](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-task-governance.md)

# Pengaturan dasbor
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard"></a>

Gunakan informasi berikut untuk menyiapkan add-on Amazon SageMaker HyperPod Amazon CloudWatch Observability EKS. Ini membuat Anda siap dengan dasbor visual terperinci yang menyediakan tampilan metrik untuk perangkat keras kluster EKS, alokasi tim, dan tugas Anda.

Jika Anda mengalami masalah saat menyiapkan, silakan lihat [Pemecahan Masalah](sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot.md) untuk solusi pemecahan masalah yang diketahui.

**Topics**
+ [

## HyperPod Prasyarat add-on Amazon CloudWatch Observability EKS
](#hp-eks-dashboard-prerequisites)
+ [

## HyperPod Penyiapan add-on Amazon CloudWatch Observability EKS
](#hp-eks-dashboard-setup)

## HyperPod Prasyarat add-on Amazon CloudWatch Observability EKS
<a name="hp-eks-dashboard-prerequisites"></a>

Bagian berikut mencakup prasyarat yang diperlukan sebelum menginstal add-on Amazon EKS Observability.
+ Pastikan Anda memiliki kebijakan izin minimum untuk administrator HyperPod klaster, di[Pengguna IAM untuk admin cluster](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin).
+ Lampirkan kebijakan `CloudWatchAgentServerPolicy` IAM ke node pekerja Anda. Untuk melakukan hal itu, masukkan perintah berikut. Ganti `my-worker-node-role` dengan peran IAM yang digunakan oleh node pekerja Kubernetes Anda.

  ```
  aws iam attach-role-policy \
  --role-name my-worker-node-role \
  --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
  ```

## HyperPod Penyiapan add-on Amazon CloudWatch Observability EKS
<a name="hp-eks-dashboard-setup"></a>

Gunakan opsi berikut untuk menyiapkan add-on Amazon SageMaker HyperPod Amazon CloudWatch Observability EKS.

------
#### [ Setup using the SageMaker AI console ]

Izin berikut diperlukan untuk penyiapan dan visualisasi dasbor tata kelola HyperPod tugas. Bagian ini memperluas izin yang tercantum di. [Pengguna IAM untuk admin cluster](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin) 

Untuk mengelola tata kelola tugas, gunakan kebijakan sampel:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:ListClusters",
                "sagemaker:DescribeCluster",
                "sagemaker:ListComputeQuotas",
                "sagemaker:CreateComputeQuota",
                "sagemaker:UpdateComputeQuota",
                "sagemaker:DescribeComputeQuota",
                "sagemaker:DeleteComputeQuota",
                "sagemaker:ListClusterSchedulerConfigs",
                "sagemaker:DescribeClusterSchedulerConfig",
                "sagemaker:CreateClusterSchedulerConfig",
                "sagemaker:UpdateClusterSchedulerConfig",
                "sagemaker:DeleteClusterSchedulerConfig",
                "eks:ListAddons",
                "eks:CreateAddon",
                "eks:DescribeAddon",
                "eks:DescribeCluster",
                "eks:DescribeAccessEntry",
                "eks:ListAssociatedAccessPolicies",
                "eks:AssociateAccessPolicy",
                "eks:DisassociateAccessPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Untuk memberikan izin mengelola Amazon CloudWatch Observability Amazon EKS dan melihat dasbor HyperPod cluster melalui konsol SageMaker AI, gunakan kebijakan contoh di bawah ini:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "eks:ListAddons",
                "eks:CreateAddon",
                "eks:UpdateAddon",
                "eks:DescribeAddon",
                "eks:DescribeAddonVersions",
                "sagemaker:DescribeCluster",
                "sagemaker:DescribeClusterNode",
                "sagemaker:ListClusterNodes",
                "sagemaker:ListClusters",
                "sagemaker:ListComputeQuotas",
                "sagemaker:DescribeComputeQuota",
                "sagemaker:ListClusterSchedulerConfigs",
                "sagemaker:DescribeClusterSchedulerConfig",
                "eks:DescribeCluster",
                "cloudwatch:GetMetricData",
                "eks:AccessKubernetesApi"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Arahkan ke tab **Dasbor** di SageMaker HyperPod konsol untuk menginstal Amazon CloudWatch Observability EKS. Untuk memastikan metrik terkait tata kelola tugas disertakan dalam **Dasbor**, aktifkan kotak centang metrik Kueue. Mengaktifkan metrik Kueue memungkinkan biaya Metrik, setelah CloudWatch **batas tingkat** bebas tercapai. Untuk informasi selengkapnya, lihat **Metrik** di [ CloudWatchHarga Amazon](https://aws.amazon.com/cloudwatch/pricing/).

------
#### [ Setup using the EKS AWS CLI ]

Gunakan AWS CLI perintah EKS berikut untuk menginstal add-on:

```
aws eks create-addon --cluster-name cluster-name 
--addon-name amazon-cloudwatch-observability 
--configuration-values "configuration json"
```

Di bawah ini adalah contoh JSON dari nilai konfigurasi:

```
{
    "agent": {
        "config": {
            "logs": {
                "metrics_collected": {
                    "kubernetes": {
                        "kueue_container_insights": true,
                        "enhanced_container_insights": true
                    },
                    "application_signals": { }
                }
            },
            "traces": {
                "traces_collected": {
                    "application_signals": { }
                }
            }
        },
    },
}
```

------
#### [ Setup using the EKS Console UI ]

1. Arahkan ke [konsol EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. Pilih cluster Anda.

1. Pilih **Add-on.**

1. Temukan add-on **Amazon CloudWatch Observability** dan instal. Instal versi >= 2.4.0 untuk add-on. 

1. Sertakan JSON berikut, nilai Konfigurasi:

   ```
   {
       "agent": {
           "config": {
               "logs": {
                   "metrics_collected": {
                       "kubernetes": {
                           "kueue_container_insights": true,
                           "enhanced_container_insights": true
                       },
                       "application_signals": { }
                   },
               },
               "traces": {
                   "traces_collected": {
                       "application_signals": { }
                   }
               }
           },
       },
   }
   ```

------

**Setelah add-on EKS Observability berhasil diinstal, Anda dapat melihat metrik kluster EKS Anda di bawah tab Dasbor HyperPod konsol.**

# Pengaturan tata kelola tugas
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-setup-task-governance"></a>

Bagian ini mencakup informasi tentang cara mengatur add-on EKS tata kelola SageMaker HyperPod tugas Amazon. Ini termasuk pemberian izin yang memungkinkan Anda mengatur prioritas tugas, menghitung alokasi untuk tim, cara komputasi idle dibagikan, dan preemption tugas untuk tim.

Jika Anda mengalami masalah saat menyiapkan, silakan lihat [Pemecahan Masalah](sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot.md) untuk solusi pemecahan masalah yang diketahui.

**Topics**
+ [

## Pengaturan Kueue
](#hp-eks-task-governance-kueue-settings)
+ [

## HyperPod Prasyarat tata kelola tugas
](#hp-eks-task-governance-prerequisites)
+ [

## HyperPod pengaturan tata kelola tugas
](#hp-eks-task-governance-setup)

## Pengaturan Kueue
<a name="hp-eks-task-governance-kueue-settings"></a>

HyperPod tata kelola tugas EKS add-on menginstal [Kueue](https://github.com/kubernetes-sigs/kueue/tree/main/apis/kueue) untuk kluster EKS Anda. HyperPod Kueue adalah sistem kubernetes-native yang mengelola kuota dan bagaimana pekerjaan mengkonsumsinya. 


| Versi pengaya tata kelola HyperPod tugas EKS | Versi Kueue yang diinstal sebagai bagian dari add-on | 
| --- | --- | 
|  v1.1.3  |  v0.12.0  | 

**catatan**  
Kueue v.012.0 dan yang lebih tinggi tidak termasuk kueue-rbac-proxy sebagai bagian dari instalasi. Versi sebelumnya mungkin telah kueue-rbac-proxy diinstal. Misalnya, jika Anda menggunakan Kueue v0.8.1, Anda mungkin memiliki v0.18.1. kueue-rbac-proxy

HyperPod Task governance memanfaatkan Kueue untuk antrian pekerjaan asli Kubernetes, penjadwalan, dan manajemen kuota, dan diinstal dengan add-on EKS tata kelola tugas. HyperPod Saat diinstal, HyperPod membuat dan memodifikasi sumber daya Kubernetes yang SageMaker dikelola AI seperti`KueueManagerConfig`,,,,`ClusterQueues`, `LocalQueues` dan. `WorkloadPriorityClasses` `ResourceFlavors` `ValidatingAdmissionPolicies` Meskipun administrator Kubernetes memiliki fleksibilitas untuk memodifikasi status sumber daya ini, ada kemungkinan bahwa setiap perubahan yang dibuat pada sumber daya yang SageMaker dikelola AI dapat diperbarui dan ditimpa oleh layanan.

Informasi berikut menguraikan pengaturan konfigurasi yang digunakan oleh add-on tata kelola HyperPod tugas untuk menyiapkan Kueue.

```
  apiVersion: config.kueue.x-k8s.io/v1beta1
    kind: Configuration
    health:
      healthProbeBindAddress: :8081
    metrics:
      bindAddress: :8443
      enableClusterQueueResources: true
    webhook:
      port: 9443
    manageJobsWithoutQueueName: false
    leaderElection:
      leaderElect: true
      resourceName: c1f6bfd2.kueue.x-k8s.io
    controller:
      groupKindConcurrency:
        Job.batch: 5
        Pod: 5
        Workload.kueue.x-k8s.io: 5
        LocalQueue.kueue.x-k8s.io: 1
        ClusterQueue.kueue.x-k8s.io: 1
        ResourceFlavor.kueue.x-k8s.io: 1
    clientConnection:
      qps: 50
      burst: 100
    integrations:
      frameworks:
      - "batch/job"
      - "kubeflow.org/mpijob"
      - "ray.io/rayjob"
      - "ray.io/raycluster"
      - "jobset.x-k8s.io/jobset"
      - "kubeflow.org/mxjob"
      - "kubeflow.org/paddlejob"
      - "kubeflow.org/pytorchjob"
      - "kubeflow.org/tfjob"
      - "kubeflow.org/xgboostjob"
      - "pod"
      - "deployment"
      - "statefulset"
      - "leaderworkerset.x-k8s.io/leaderworkerset"
      podOptions:
        namespaceSelector:
          matchExpressions:
            - key: kubernetes.io/metadata.name
              operator: NotIn
              values: [ kube-system, kueue-system ]
    fairSharing:
      enable: true
      preemptionStrategies: [LessThanOrEqualToFinalShare, LessThanInitialShare]
    resources:
      excludeResourcePrefixes: []
```

Untuk informasi selengkapnya tentang setiap entri konfigurasi, lihat [Konfigurasi](https://kueue.sigs.k8s.io/docs/reference/kueue-config.v1beta1/#Configuration) dalam dokumentasi Kueue.

## HyperPod Prasyarat tata kelola tugas
<a name="hp-eks-task-governance-prerequisites"></a>
+ Pastikan Anda memiliki kebijakan izin minimum untuk administrator HyperPod klaster, di[Pengguna IAM untuk admin cluster](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin). Ini termasuk izin untuk menjalankan SageMaker HyperPod inti APIs, mengelola SageMaker HyperPod kluster di dalam Anda Akun AWS, dan melakukan tugas di. [Mengelola SageMaker HyperPod cluster yang diatur oleh Amazon EKS](sagemaker-hyperpod-eks-operate.md) 
+ Anda harus memiliki versi Kubernetes >= 1.30. Untuk petunjuknya, lihat [Memperbarui klaster yang ada ke versi Kubernetes yang baru](https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html).
+ Jika Anda sudah menginstal Kueue di cluster mereka, hapus instalan Kueue sebelum menginstal add-on EKS.
+ Sebuah HyperPod node harus sudah ada di cluster EKS sebelum menginstal add-on tata kelola HyperPod tugas. 

## HyperPod pengaturan tata kelola tugas
<a name="hp-eks-task-governance-setup"></a>

Berikut ini memberikan informasi tentang cara mengatur tata kelola HyperPod tugas.

------
#### [ Setup using the SageMaker AI console ]

Berikut ini memberikan informasi tentang cara mengatur tata kelola HyperPod tugas menggunakan SageMaker HyperPod konsol.

Anda sudah memiliki semua izin berikut yang dilampirkan jika Anda telah memberikan izin untuk mengelola Amazon CloudWatch Observability EKS dan melihat dasbor HyperPod cluster melalui konsol SageMaker AI di. [HyperPod Penyiapan add-on Amazon CloudWatch Observability EKS](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard.md#hp-eks-dashboard-setup) Jika Anda belum menyiapkan ini, gunakan kebijakan contoh di bawah ini untuk memberikan izin mengelola add-on tata kelola HyperPod tugas dan melihat dasbor HyperPod cluster melalui konsol AI. SageMaker 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "eks:ListAddons",
                "eks:CreateAddon",
                "eks:UpdateAddon",
                "eks:DescribeAddon",
                "eks:DescribeAddonVersions",
                "sagemaker:DescribeCluster",
                "sagemaker:DescribeClusterNode",
                "sagemaker:ListClusterNodes",
                "sagemaker:ListClusters",
                "eks:DescribeCluster",
                "eks:AccessKubernetesApi"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Arahkan ke tab **Dasbor** di SageMaker HyperPod konsol untuk menginstal Add-on tata kelola SageMaker HyperPod tugas Amazon. 

------
#### [ Setup using the Amazon EKS AWS CLI ]

Gunakan contoh AWS CLI perintah [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/create-addon.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/create-addon.html)EKS untuk mengatur tata kelola HyperPod tugas Amazon EKS API dan UI konsol menggunakan: AWS CLI

```
aws eks create-addon --region region --cluster-name cluster-name --addon-name amazon-sagemaker-hyperpod-taskgovernance
```

------

Anda dapat melihat tab **Kebijakan** di konsol HyperPod SageMaker AI jika penginstalan berhasil. Anda juga dapat menggunakan contoh AWS CLI perintah [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/describe-addon.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/describe-addon.html)EKS berikut untuk memeriksa status. 

```
aws eks describe-addon --region region --cluster-name cluster-name --addon-name amazon-sagemaker-hyperpod-taskgovernance
```

# Dasbor
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-metrics"></a>

 SageMaker HyperPod Tata kelola tugas Amazon menyediakan tampilan dasbor komprehensif tentang metrik pemanfaatan klaster Amazon EKS Anda, termasuk metrik perangkat keras, tim, dan tugas. Berikut ini memberikan informasi tentang dasbor cluster HyperPod EKS Anda.

Dasbor memberikan pandangan komprehensif tentang metrik pemanfaatan cluster, termasuk metrik perangkat keras, tim, dan tugas. Anda harus menginstal add-on EKS untuk melihat dasbor. Untuk informasi selengkapnya, lihat [Pengaturan dasbor](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard.md).

Di [konsol Amazon SageMaker AI](https://console.aws.amazon.com/sagemaker/), di bawah **HyperPod Cluster**, Anda dapat menavigasi ke HyperPod konsol dan melihat daftar HyperPod cluster di Wilayah Anda. Pilih klaster Anda dan arahkan ke tab **Dasbor**. Dasbor berisi metrik berikut. Anda dapat mengunduh data untuk suatu bagian dengan memilih **Ekspor** yang sesuai.

**Pemanfaatan**

Memberikan kesehatan klaster EKS point-in-time dan metrik berbasis tren untuk sumber daya komputasi kritis. Secara default, **Semua Grup Instance** ditampilkan. Gunakan menu tarik-turun untuk memfilter grup instans Anda. Metrik yang termasuk dalam bagian ini adalah:
+ Jumlah total, berjalan, dan instans pemulihan yang tertunda. Jumlah instans pemulihan yang tertunda mengacu pada jumlah contoh yang perlu diperhatikan untuk pemulihan.
+ GPUs, Memori GPU, memori vCPUs, dan vCPUs .
+ Pemanfaatan GPU, pemanfaatan memori GPU, pemanfaatan vCPU, dan pemanfaatan memori vCPU.
+ Grafik interaktif pemanfaatan GPU dan vCPU Anda. 

**Tim**

Memberikan informasi ke dalam manajemen sumber daya khusus tim. Hal ini mencakup:
+ Instans dan alokasi GPU.
+ Tingkat pemanfaatan GPU.
+ Statistik GPU yang dipinjam.
+ Status tugas (berjalan atau tertunda).
+ Tampilan diagram batang pemanfaatan GPU versus alokasi komputasi di seluruh tim.
+ Tim mendetail informasi terkait GPU dan VCPU. Secara default, informasi yang ditampilkan mencakup **Semua tim**. Anda dapat memfilter berdasarkan tim dan instance dengan memilih menu tarik-turun. Dalam plot interaktif Anda dapat memfilter berdasarkan waktu.

**Tugas**

**catatan**  
Untuk melihat tugas klaster HyperPod EKS Anda di dasbor:  
Konfigurasikan Kubernetes Role-Based Access Control (RBAC) untuk pengguna data scientist di HyperPod namespace yang ditentukan untuk mengotorisasi eksekusi tugas pada kluster yang diatur Amazon EKS. Ruang nama mengikuti formatnya. `hyperpod-ns-team-name` Untuk menetapkan izin RBAC, lihat instruksi pembuatan [peran tim](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role).
Pastikan pekerjaan Anda dikirimkan dengan namespace dan label kelas prioritas yang sesuai. Untuk contoh komprehensif, lihat[Kirim pekerjaan ke antrian dan namespace yang SageMaker dikelola AI](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md#hp-eks-cli-start-job).

Memberikan informasi tentang metrik terkait tugas. Ini termasuk jumlah tugas yang berjalan, tertunda, dan preempted, dan statistik waktu lari dan tunggu. Secara default, informasi yang ditampilkan mencakup **Semua tim**. Anda dapat memfilter berdasarkan tim dengan memilih menu dropdown. Dalam plot interaktif Anda dapat memfilter berdasarkan waktu.

# Tugas
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-tasks"></a>

Berikut ini memberikan informasi tentang tugas klaster Amazon SageMaker HyperPod EKS. Tugas adalah operasi atau pekerjaan yang dikirim ke cluster. Ini bisa berupa operasi pembelajaran mesin, seperti pelatihan, menjalankan eksperimen, atau inferensi. Daftar detail tugas yang dapat dilihat mencakup status, waktu berjalan, dan berapa banyak komputasi yang digunakan per tugas. 

Di [konsol Amazon SageMaker AI](https://console.aws.amazon.com/sagemaker/), di bawah **HyperPod Cluster**, Anda dapat menavigasi ke HyperPod konsol dan melihat daftar HyperPod cluster di Wilayah Anda. Pilih klaster Anda dan arahkan ke tab **Tugas**.

Agar tab **Tugas** dapat dilihat dari siapa pun selain administrator, administrator perlu [menambahkan entri akses ke kluster EKS untuk peran IAM](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html). 

**catatan**  
Untuk melihat tugas klaster HyperPod EKS Anda di dasbor:  
Konfigurasikan Kubernetes Role-Based Access Control (RBAC) untuk pengguna data scientist di HyperPod namespace yang ditentukan untuk mengotorisasi eksekusi tugas pada kluster yang diatur Amazon EKS. Ruang nama mengikuti formatnya. `hyperpod-ns-team-name` Untuk menetapkan izin RBAC, lihat instruksi pembuatan [peran tim](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role).
Pastikan pekerjaan Anda dikirimkan dengan namespace dan label kelas prioritas yang sesuai. Untuk contoh komprehensif, lihat[Kirim pekerjaan ke antrian dan namespace yang SageMaker dikelola AI](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md#hp-eks-cli-start-job).

Untuk kluster EKS, tugas kubeflow (PyTorch, MPI, TensorFlow) ditampilkan. Secara default, PyTorch tugas ditampilkan. Anda dapat memfilter untuk PyTorch, MPI, TensorFlow tugas dengan memilih menu tarik-turun atau menggunakan bidang pencarian. Informasi yang ditampilkan untuk setiap tugas mencakup nama tugas, status, namespace, kelas prioritas, dan waktu pembuatan. 

# Menggunakan penjadwalan sadar topologi di tata kelola tugas Amazon SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-tasks-scheduling"></a>

Penjadwalan sadar topologi di tata kelola SageMaker HyperPod tugas Amazon mengoptimalkan efisiensi pelatihan beban kerja machine learning terdistribusi dengan menempatkan pod berdasarkan topologi jaringan fisik instans Amazon EC2 Anda. Dengan mempertimbangkan struktur hierarkis AWS infrastruktur, termasuk Availability Zone, blok jaringan, dan rak fisik, penjadwalan sadar topologi memastikan bahwa pod yang membutuhkan komunikasi yang sering dijadwalkan dalam jarak dekat untuk meminimalkan latensi jaringan. Penempatan cerdas ini sangat bermanfaat untuk pekerjaan pelatihan pembelajaran mesin skala besar yang melibatkan pod-to-pod komunikasi intensif, sehingga mengurangi waktu pelatihan dan pemanfaatan sumber daya yang lebih efisien di seluruh cluster Anda.

**catatan**  
Untuk menggunakan penjadwalan sadar topologi, pastikan bahwa versi tata kelola HyperPod tugas Anda adalah v1.2.2-eksbuild.1 atau lebih tinggi.

Penjadwalan sadar topologi mendukung jenis instance berikut:
+ ml.p3dn.24xlarge
+ ml.p4d.24xlarge
+ ml.p4de.24xlarge
+ ml.p5.48xbesar
+ ml.p5e.48xlarge
+ ml.p5en.48xlarge
+ ml.p6e-gb200.36xlarge
+ ml.trn1.2xbesar
+ ml.trn1.32xlarge
+ ml.trn1n.32xbesar
+ ml.trn2.48xlarge
+ ml.trn2u.48xlarge

Penjadwalan sadar topologi terintegrasi dengan HyperPod alur kerja Anda yang ada sambil memberikan preferensi topologi yang fleksibel melalui file YAMG kubectl dan CLI. HyperPod HyperPod Tata kelola tugas secara otomatis mengonfigurasi node cluster dengan label topologi dan bekerja dengan kebijakan tata kelola HyperPod tugas dan mekanisme peminjaman sumber daya, memastikan bahwa penjadwalan sadar topologi tidak mengganggu proses operasional Anda saat ini. Dengan dukungan bawaan untuk spesifikasi topologi yang disukai dan yang diperlukan, Anda dapat menyempurnakan penempatan beban kerja agar sesuai dengan persyaratan kinerja spesifik Anda sambil mempertahankan fleksibilitas untuk kembali ke penjadwalan standar ketika kendala topologi tidak dapat dipenuhi.

Dengan memanfaatkan label sadar topologi HyperPod, Anda dapat meningkatkan beban kerja pembelajaran mesin mereka melalui penempatan pod cerdas yang mempertimbangkan infrastruktur jaringan fisik. HyperPod Task governance secara otomatis mengoptimalkan penjadwalan pod berdasarkan topologi pusat data hierarkis, yang secara langsung diterjemahkan menjadi pengurangan latensi jaringan dan peningkatan kinerja pelatihan untuk tugas-tugas ML terdistribusi. Kesadaran topologi ini sangat berharga untuk beban kerja machine learning skala besar, karena meminimalkan overhead komunikasi dengan menempatkan pod terkait secara strategis lebih dekat bersama-sama dalam hierarki jaringan. Hasilnya adalah latensi jaringan komunikasi yang dioptimalkan antar pod, pemanfaatan sumber daya yang lebih efisien, dan kinerja keseluruhan yang lebih baik untuk AI/ML aplikasi komputasi intensif, semuanya dicapai tanpa Anda perlu mengelola konfigurasi topologi jaringan yang kompleks secara manual.

Berikut ini adalah label untuk layer jaringan topologi yang tersedia dimana HyperPod task governance dapat menjadwalkan pod di:
+ topology.k8s.aws/ -1 network-node-layer
+ topology.k8s.aws/ -2 network-node-layer
+ topology.k8s.aws/ -3 network-node-layer
+ topology.k8s.aws/ultraserver-id

Untuk menggunakan penjadwalan sadar topologi, sertakan label berikut dalam file YAMM Anda:
+ kueue.x-k8s.io/ podset-required-topology - menunjukkan bahwa job ini harus memiliki Pod yang diperlukan dan bahwa semua pod dalam node harus dijadwalkan dalam lapisan topologi yang sama.
+ kueue.x-k8s.io/ podset-preferred-topology - menunjukkan bahwa pekerjaan ini harus memiliki pod, tetapi penjadwalan pod dalam lapisan topologi yang sama lebih disukai tetapi tidak diperlukan. HyperPod Task governance akan mencoba menjadwalkan pod dalam satu layer sebelum mencoba layer topologi berikutnya.

Jika sumber daya tidak memiliki label topologi yang sama, pekerjaan akan ditangguhkan. Pekerjaan akan ada di daftar tunggu. Begitu Kueue melihat bahwa ada sumber daya yang cukup, ia akan mengakui dan menjalankan pekerjaan.

Contoh berikut menunjukkan cara menggunakan label dalam file YAMM Anda:

```
apiVersion: batch/v1
kind: Job
metadata:
  name: test-tas-job
  namespace: hyperpod-ns-team-name
  labels:
    kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
    kueue.x-k8s.io/priority-class: PRIORITY_CLASS-priority
spec:
  parallelism: 10
  completions: 10
  suspend: true
  template:
    metadata:
      labels:
        kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
      annotations:
        kueue.x-k8s.io/podset-required-topology: "topology.k8s.aws/network-node-layer-3"
        or
        kueue.x-k8s.io/podset-preferred-topology: "topology.k8s.aws/network-node-layer-3"
    spec:
      nodeSelector:
        topology.k8s.aws/network-node-layer-3: TOPOLOGY_LABEL_VALUE
      containers:
        - name: dummy-job
          image: gcr.io/k8s-staging-perf-tests/sleep:v0.1.0
          args: ["3600s"]
          resources:
            requests:
              cpu: "100"
      restartPolicy: Never
```

Tabel berikut menjelaskan parameter baru yang dapat Anda gunakan dalam file YAMM kubectl.


| Parameter | Deskripsi | 
| --- | --- | 
| kueue.x-k8s.io/antrian-nama | Nama antrian yang akan digunakan untuk menjalankan pekerjaan. Format nama antrian ini harus. hyperpod-ns-team-name-localqueue | 
| kueue.x-k8s.io/kelas prioritas | Memungkinkan Anda menentukan prioritas untuk penjadwalan pod. Spesifikasi ini opsional. | 
| anotasi | Berisi anotasi topologi yang Anda lampirkan ke pekerjaan. Topologi yang tersedia adalah kueue.x-k8s.io/ dan podset-required-topologykueue.x-k8s.io/. podset-preferred-topology Anda dapat menggunakan anotasi atau nodeSelector, tetapi tidak keduanya secara bersamaan. | 
| NodeSelector | Menentukan lapisan jaringan yang mewakili lapisan penempatan instans Amazon EC2. Gunakan bidang ini atau anotasi, tetapi tidak keduanya secara bersamaan. Dalam file YAMM Anda, Anda juga dapat menggunakan parameter nodeSelector untuk memilih layer yang tepat untuk pod Anda. Untuk mendapatkan nilai label Anda, gunakan operasi [ DescribeInstanceTopology](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTopology.html)API. | 

Anda juga dapat menggunakan HyperPod CLI untuk menjalankan pekerjaan Anda dan menggunakan penjadwalan sadar topologi. Untuk informasi lebih lanjut tentang HyperPod CLI, lihat. [SageMaker HyperPod Perintah CLI](sagemaker-hyperpod-eks-hyperpod-cli-reference.md)

```
hyp create hyp-pytorch-job \                                            
  --version 1.1 \
  --job-name sample-pytorch-job \
  --image 123456789012.dkr.ecr.us-west-2.amazonaws.com/ptjob:latest \
  --pull-policy "Always" \
  --tasks-per-node 1 \
  --max-retry 1 \
  --priority high-priority \
  --namespace hyperpod-ns-team-name \
  --queue-name hyperpod-ns-team-name-localqueue \
  --preferred-topology-label topology.k8s.aws/network-node-layer-1
```

Berikut ini adalah contoh file konfigurasi yang mungkin Anda gunakan untuk menjalankan PytorchJob dengan label topologi. File ini sebagian besar mirip jika Anda ingin menjalankan pekerjaan MPI dan Tensorflow. Jika Anda ingin menjalankan pekerjaan tersebut, ingatlah untuk mengubah file konfigurasi yang sesuai, seperti menggunakan gambar yang benar, bukan PyTorchJob. Jika Anda menjalankan PyTorchJob, Anda dapat menetapkan topologi yang berbeda ke node master dan pekerja. PyTorchJob selalu memiliki satu node master, jadi kami sarankan Anda menggunakan topologi untuk mendukung pod pekerja sebagai gantinya.

```
apiVersion: kubeflow.org/v1
kind: PyTorchJob
metadata:
  annotations: {}
  labels:
    kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
  name: tas-test-pytorch-job
  namespace: hyperpod-ns-team-name
spec:
  pytorchReplicaSpecs:
    Master:
      replicas: 1
      restartPolicy: OnFailure
      template:
        metadata:
          labels:
            kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
        spec:
          containers:
          - command:
            - python3
            - /opt/pytorch-mnist/mnist.py
            - --epochs=1
            image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727
            imagePullPolicy: Always
            name: pytorch
    Worker:
      replicas: 10
      restartPolicy: OnFailure
      template:
        metadata:
          # annotations:
            # kueue.x-k8s.io/podset-required-topology: "topology.k8s.aws/network-node-layer-3"
          labels:
            kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
        spec:
          containers:
          - command:
            - python3
            - /opt/pytorch-mnist/mnist.py
            - --epochs=1
            image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727
            imagePullPolicy: Always
            name: pytorch
            resources:
              limits:
                cpu: 1
              requests:
                memory: 200Mi
                cpu: 1
          #nodeSelector:
          #  topology.k8s.aws/network-node-layer-3: xxxxxxxxxxx
```

Untuk melihat topologi klaster Anda, gunakan operasi [ DescribeInstanceTopology](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTopology.html)API. Secara default, topologi disembunyikan di dan Konsol Manajemen AWS Amazon SageMaker Studio. Ikuti langkah-langkah ini untuk melihatnya di antarmuka yang Anda gunakan.

**SageMaker Studio**

1. Di SageMaker Studio, navigasikan ke cluster Anda.

1. Dalam tampilan Tugas, pilih menu opsi di kolom Nama, lalu pilih **Kelola kolom**.

1. Pilih **topologi yang diminta** dan **kendala Topologi** untuk menambahkan kolom untuk melihat informasi topologi dalam daftar pod Kubernetes.

**Konsol Manajemen AWS**

1. Buka konsol Amazon SageMaker AI di [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Di bawah **HyperPod cluster**, pilih **Manajemen cluster**.

1. Pilih tab **Tugas**, lalu pilih ikon roda gigi.

1. **Di bawah atribut instance, alihkan topologi yang **diminta dan kendala Topologi**.**

1. Pilih **Konfirmasi** untuk melihat informasi topologi dalam tabel.

# Kebijakan
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies"></a>

 SageMaker HyperPod Tata kelola tugas Amazon menyederhanakan cara sumber daya klaster Amazon EKS dialokasikan dan bagaimana tugas diprioritaskan. Berikut ini memberikan informasi tentang kebijakan klaster HyperPod EKS. Untuk informasi tentang cara mengatur tata kelola tugas, lihat[Pengaturan tata kelola tugas](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-task-governance.md).

**Kebijakan dibagi menjadi **prioritas Komputasi dan alokasi Komputasi**.** Konsep kebijakan di bawah ini akan diatur dalam konteks kebijakan ini.

**Prioritas komputasi**, atau kebijakan klaster, menentukan bagaimana komputasi idle dipinjam dan bagaimana tugas diprioritaskan oleh tim.
+ **Alokasi komputasi idle menentukan bagaimana komputasi idle dialokasikan** di seluruh tim. Artinya, bagaimana komputasi yang tidak terpakai dapat dipinjam dari tim. Saat memilih **alokasi komputasi Idle**, Anda dapat memilih antara:
  + **First-come first-serve**: Ketika diterapkan, tim tidak diprioritaskan satu sama lain dan setiap tugas yang masuk memiliki kemungkinan yang sama untuk mendapatkan sumber daya yang berlebihan. Tugas diprioritaskan berdasarkan urutan pengajuan. Ini berarti pengguna mungkin dapat menggunakan 100% dari komputasi idle jika mereka memintanya terlebih dahulu.
  + **Fair-share****: Saat diterapkan, tim meminjam komputasi idle berdasarkan bobot Fair-share yang ditetapkan.** Bobot ini didefinisikan dalam alokasi **Komputasi**. Untuk informasi lebih lanjut tentang bagaimana ini dapat digunakan, lihat[Berbagi contoh sumber daya komputasi idle](#hp-eks-task-governance-policies-examples).
+ **Prioritas tugas** mendefinisikan bagaimana tugas diantrian saat komputasi tersedia. Saat memilih **prioritas Tugas**, Anda dapat memilih antara:
  + **First-come first-serve**: Saat diterapkan, tugas diantrian sesuai urutan yang diminta.
  + **Peringkat tugas**: Ketika diterapkan, tugas diantrian dalam urutan yang ditentukan oleh prioritas mereka. Jika opsi ini dipilih, Anda harus menambahkan kelas prioritas bersama dengan bobot di mana mereka harus diprioritaskan. Tugas dari kelas prioritas yang sama akan dieksekusi berdasarkan first-come first-serve. Saat diaktifkan dalam alokasi Komputasi, tugas didahului dari tugas prioritas rendah oleh tugas prioritas yang lebih tinggi dalam tim.

    Ketika ilmuwan data mengirimkan pekerjaan ke cluster, mereka menggunakan nama kelas prioritas dalam file YAMM. Kelas prioritas ada dalam format`priority-class-name-priority`. Sebagai contoh, lihat [Kirim pekerjaan ke antrian dan namespace yang SageMaker dikelola AI](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md#hp-eks-cli-start-job).
  + **Kelas prioritas: Kelas-kelas** ini menetapkan prioritas relatif untuk tugas-tugas ketika meminjam kapasitas. Ketika tugas berjalan menggunakan kuota pinjaman, itu mungkin didahului oleh tugas lain dengan prioritas lebih tinggi daripada itu, jika tidak ada lagi kapasitas yang tersedia untuk tugas yang masuk. Jika **Preemption** diaktifkan dalam **alokasi Komputasi**, tugas prioritas yang lebih tinggi juga dapat mendahului tugas dalam timnya sendiri.
+ **Berbagi sumber daya yang tidak dialokasikan** memungkinkan tim meminjam sumber daya komputasi yang tidak dialokasikan ke tim mana pun melalui kuota komputasi. Saat diaktifkan, kapasitas klaster yang tidak terisi akan tersedia bagi tim untuk meminjam secara otomatis. Untuk informasi selengkapnya, lihat [Cara kerja berbagi sumber daya yang tidak terisi](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-how-it-works).

**Alokasi komputasi, atau kuota komputasi, menentukan alokasi** komputasi tim dan berapa bobot (atau tingkat prioritas) yang diberikan tim untuk alokasi komputasi idle share yang adil. 
+ **Nama tim**: Nama tim. **Namespace** yang sesuai akan dibuat, dari jenis. `hyperpod-ns-team-name` 
+ **Anggota**: Anggota namespace tim. Anda perlu menyiapkan kontrol akses berbasis peran Kubernetes (RBAC) untuk pengguna ilmuwan data yang Anda inginkan menjadi bagian dari tim ini, untuk menjalankan tugas pada cluster yang diatur dengan Amazon EKS. HyperPod [Untuk menyiapkan Kubernetes RBAC, gunakan instruksi dalam membuat peran tim.](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role)
+ **Bobot pembagian adil****: Ini adalah tingkat prioritas yang diberikan kepada tim saat **Fair-share diterapkan untuk alokasi komputasi** Idle.** Prioritas tertinggi memiliki bobot 100 dan prioritas terendah memiliki bobot 0. Bobot yang lebih tinggi memungkinkan tim untuk mengakses sumber daya yang tidak digunakan dalam kapasitas bersama lebih cepat. Bobot nol menandakan prioritas terendah, menyiratkan tim ini akan selalu berada pada posisi yang kurang menguntungkan dibandingkan dengan tim lain. 

  Bobot pembagian yang adil memberikan keunggulan komparatif bagi tim ini saat bersaing untuk sumber daya yang tersedia melawan yang lain. Penerimaan memprioritaskan tugas penjadwalan dari tim dengan bobot tertinggi dan pinjaman terendah. Misalnya, jika Tim A memiliki bobot 10 dan Tim B memiliki bobot 5, Tim A akan memiliki prioritas dalam mengakses sumber daya yang tidak digunakan karena akan memiliki pekerjaan yang dijadwalkan lebih awal dari Tim B.
+ **Pendahuluan tugas**: Komputasi diambil alih dari tugas berdasarkan prioritas. Secara default, tim yang meminjamkan komputasi idle akan mendahului tugas dari tim lain. 
+ **Meminjamkan dan meminjam**: Bagaimana komputasi idle dipinjamkan oleh tim dan jika tim dapat meminjam dari tim lain.
  + **Batas pinjaman berbasis persentase: Batas** komputasi idle yang diizinkan untuk dipinjam oleh tim, dinyatakan sebagai persentase dari kuota yang dijamin. Sebuah tim dapat meminjam hingga 10.000% dari perhitungan yang dialokasikan. Nilai yang Anda berikan di sini ditafsirkan sebagai persentase. Misalnya, nilai 500 akan ditafsirkan sebagai 500%. Persentase ini berlaku secara seragam di semua jenis sumber daya (CPU, GPU, Memori) dan jenis instans dalam kuota tim.
  + **Batas pinjaman absolut**: Batas komputasi idle yang diizinkan untuk dipinjam oleh tim, didefinisikan sebagai nilai sumber daya absolut per jenis instance. Ini memberikan kontrol terperinci atas perilaku meminjam untuk jenis instance tertentu. Anda perlu menentukan batas absolut menggunakan skema yang sama dengan **kuota Compute, termasuk jumlah instans, akselerator**, vCPU, memori, atau partisi akselerator. Anda dapat menentukan batas absolut untuk satu atau beberapa jenis instans dalam kuota tim Anda.

Untuk informasi tentang bagaimana konsep-konsep ini digunakan, seperti kelas prioritas dan spasi nama, lihat[Contoh perintah tata kelola HyperPod AWS CLI tugas](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md).

## Berbagi contoh sumber daya komputasi idle
<a name="hp-eks-task-governance-policies-examples"></a>

Total kuota cadangan tidak boleh melebihi kapasitas kluster yang tersedia untuk sumber daya tersebut, untuk memastikan pengelolaan kuota yang tepat. Misalnya, jika klaster terdiri dari 20 `ml.c5.2xlarge` instance, kuota kumulatif yang ditetapkan untuk tim harus tetap di bawah 20. 

Jika kebijakan **alokasi Komputasi** untuk tim mengizinkan Pinjaman **dan Pinjam atau Pinjamkan**, kapasitas idle akan **dibagi** di antara tim-tim ini. Misalnya, Tim A dan Tim B mengaktifkan **Lend and Borrow**. Tim A memiliki kuota 6 tetapi hanya menggunakan 2 untuk pekerjaannya, dan Tim B memiliki kuota 5 dan menggunakan 4 untuk pekerjaannya. Pekerjaan yang diserahkan ke Tim B yang membutuhkan 4 sumber daya. 3 akan dipinjam dari Tim A. 

Jika kebijakan **alokasi Komputasi** tim mana pun disetel ke **Jangan Pinjamkan**, tim tidak akan dapat meminjam kapasitas tambahan apa pun di luar alokasi sendiri.

## Cara kerja berbagi sumber daya yang tidak terisi
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-how-it-works"></a>

Berbagi sumber daya yang tidak teralokasikan secara otomatis mengelola kumpulan sumber daya yang tidak dialokasikan ke kuota komputasi apa pun di klaster Anda. Ini berarti HyperPod terus memantau status cluster Anda dan secara otomatis memperbarui ke konfigurasi yang benar dari waktu ke waktu.

**Pengaturan Awal**
+ Ketika Anda mengatur `IdleResourceSharing` ke `Enabled` dalam ClusterSchedulerConfig (secara default itu`Disabled`), tata kelola HyperPod tugas mulai memantau klaster Anda dan menghitung sumber daya idle yang tersedia dengan mengurangi kuota tim dari total kapasitas node.
+ Berbagi sumber daya yang tidak terisi ClusterQueues dibuat untuk mewakili kumpulan sumber daya yang dapat dipinjam.
+ Saat pertama kali mengaktifkan berbagi sumber daya yang tidak terisi, penyiapan infrastruktur membutuhkan waktu beberapa menit. Anda dapat memantau kemajuan melalui kebijakan `Status` dan `DetailedStatus` dalam ClusterSchedulerConfig.

**Rekonsiliasi yang sedang berlangsung**
+ HyperPod Tata kelola tugas terus memantau perubahan seperti penambahan atau penghapusan node dan pembaruan kuota antrian cluster.
+  Ketika perubahan terjadi, pembagian sumber daya yang tidak teralokasikan menghitung ulang kuota dan pembaruan. ClusterQueues Rekonsiliasi biasanya selesai dalam hitungan detik. 

**Pemantauan**

 Anda dapat memverifikasi bahwa pembagian sumber daya yang tidak teralokasikan sepenuhnya dikonfigurasi dengan memeriksa pembagian sumber daya yang tidak terisi: ClusterQueues 

```
kubectl get clusterqueue | grep hyperpod-ns-idle-resource-sharing
```

Ketika Anda melihat ClusterQueues dengan nama seperti`hyperpod-ns-idle-resource-sharing-cq-1`, berbagi sumber daya yang tidak terisi aktif. Perhatikan bahwa beberapa pembagian sumber daya yang tidak teralokasikan ClusterQueues mungkin ada tergantung pada jumlah ragam sumber daya di klaster Anda. 

## Kelayakan node untuk berbagi sumber daya yang tidak dialokasikan
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-node-eligibility"></a>

Unllocated Resource Sharing hanya mencakup node yang memenuhi persyaratan berikut:

1. **Status Siap Node**
   + Node harus dalam `Ready` status untuk berkontribusi pada kumpulan sumber daya yang tidak terisi.
   + Node dalam `NotReady` atau keadaan tidak siap lainnya dikecualikan dari perhitungan kapasitas.
   + Ketika sebuah node menjadi`Ready`, secara otomatis dimasukkan dalam siklus rekonsiliasi berikutnya.

1. **Status yang Dapat Dijadwalkan Node**
   + Node dengan `spec.unschedulable: true` dikecualikan dari berbagi sumber daya yang tidak terisi.
   + Ketika sebuah node menjadi dijadwalkan lagi, itu secara otomatis dimasukkan dalam siklus rekonsiliasi berikutnya.

1. **Konfigurasi MIG (hanya node GPU)**
   + Untuk node GPU dengan partisi MIG (Multi-Instance GPU), `nvidia.com/mig.config.state` label harus ditampilkan `success` agar node dapat menyumbangkan profil MIG ke pembagian sumber daya yang tidak terisi.
   + Node ini akan dicoba ulang secara otomatis setelah konfigurasi MIG selesai dengan sukses.

1. **Jenis Instance yang Didukung**
   + Instance harus berupa tipe SageMaker HyperPod instance yang didukung.
   + Lihat daftar jenis instans yang didukung di SageMaker HyperPod cluster.

**Topics**
+ [

## Berbagi contoh sumber daya komputasi idle
](#hp-eks-task-governance-policies-examples)
+ [

## Cara kerja berbagi sumber daya yang tidak terisi
](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-how-it-works)
+ [

## Kelayakan node untuk berbagi sumber daya yang tidak dialokasikan
](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-node-eligibility)
+ [

# Buat kebijakan
](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-create.md)
+ [

# Edit kebijakan
](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-edit.md)
+ [

# Hapus kebijakan
](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete.md)
+ [

# Mengalokasikan kuota komputasi dalam tata kelola tugas Amazon SageMaker HyperPod
](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation.md)

# Buat kebijakan
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-create"></a>

**Anda dapat membuat **kebijakan Cluster** dan konfigurasi **alokasi komputasi** di tab Kebijakan.** Berikut ini memberikan petunjuk tentang cara membuat konfigurasi berikut.
+ Buat **kebijakan Cluster** Anda untuk memperbarui cara tugas diprioritaskan dan penghitungan idle dialokasikan.
+ Buat **alokasi Komputasi** untuk membuat kebijakan alokasi komputasi baru untuk tim.
**catatan**  
Saat Anda membuat **alokasi Compute**, Anda perlu menyiapkan kontrol akses berbasis peran Kubernetes (RBAC) untuk pengguna data scientist di namespace yang sesuai untuk menjalankan tugas pada cluster yang diatur dengan Amazon EKS. HyperPod Ruang nama memiliki format. `hyperpod-ns-team-name` [Untuk menyiapkan Kubernetes RBAC, gunakan instruksi dalam membuat peran tim.](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role)

Untuk informasi tentang tata kelola HyperPod tugas konsep kebijakan klaster EKS, lihat[Kebijakan](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md).

**Buat kebijakan tata kelola HyperPod tugas**

Prosedur ini mengasumsikan bahwa Anda telah membuat kluster Amazon EKS yang HyperPod disiapkan. Jika Anda belum melakukannya, lihat[Membuat SageMaker HyperPod cluster dengan orkestrasi Amazon EKS](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md).

1. Arahkan ke [konsol Amazon SageMaker AI](https://console.aws.amazon.com/sagemaker/).

1. Di panel navigasi kiri, di bawah **HyperPodClusters**, pilih Manajemen **Cluster**.

1. Pilih klaster Amazon EKS Anda yang terdaftar di bawah **SageMaker HyperPodkluster**.

1. Pilih tab **Kebijakan**.

1. Untuk membuat **kebijakan Cluster** Anda:

   1. Pilih **Edit** yang sesuai untuk memperbarui bagaimana tugas diprioritaskan dan komputasi idle dialokasikan.

   1. Setelah Anda membuat perubahan, pilih **Kirim**.

1. Untuk membuat **alokasi Compute**:

1. 

   1. Pilih **Buat** yang sesuai. Ini membawa Anda ke halaman pembuatan alokasi komputasi.

   1. Setelah Anda membuat perubahan, pilih **Kirim**.

# Edit kebijakan
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-edit"></a>

**Anda dapat mengedit **kebijakan Cluster** dan konfigurasi **alokasi komputasi** di tab Kebijakan.** Berikut ini memberikan petunjuk tentang cara mengedit konfigurasi berikut.
+ Edit **kebijakan Cluster** Anda untuk memperbarui cara tugas diprioritaskan dan penghitungan idle dialokasikan.
+ Edit **Alokasi komputasi** untuk membuat kebijakan alokasi komputasi baru untuk tim.
**catatan**  
Saat Anda membuat **alokasi Compute**, Anda perlu menyiapkan kontrol akses berbasis peran Kubernetes (RBAC) untuk pengguna data scientist di namespace yang sesuai untuk menjalankan tugas pada cluster yang diatur dengan Amazon EKS. HyperPod Ruang nama memiliki format. `hyperpod-ns-team-name` [Untuk menyiapkan Kubernetes RBAC, gunakan instruksi dalam membuat peran tim.](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role)

Untuk informasi selengkapnya tentang konsep kebijakan klaster tata kelola HyperPod tugas EKS, lihat[Kebijakan](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md).

**Edit HyperPod kebijakan tata kelola tugas**

Prosedur ini mengasumsikan bahwa Anda telah membuat kluster Amazon EKS yang HyperPod disiapkan. Jika Anda belum melakukannya, lihat[Membuat SageMaker HyperPod cluster dengan orkestrasi Amazon EKS](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md).

1. Arahkan ke [konsol Amazon SageMaker AI](https://console.aws.amazon.com/sagemaker/).

1. Di panel navigasi kiri, di bawah **HyperPodClusters**, pilih Manajemen **Cluster**.

1. Pilih klaster Amazon EKS Anda yang terdaftar di bawah **SageMaker HyperPodkluster**.

1. Pilih tab **Kebijakan**.

1. Untuk mengedit **kebijakan Cluster** Anda:

   1. Pilih **Edit** yang sesuai untuk memperbarui bagaimana tugas diprioritaskan dan komputasi idle dialokasikan.

   1. Setelah Anda membuat perubahan, pilih **Kirim**.

1. Untuk mengedit **alokasi Komputasi** Anda:

1. 

   1. Pilih konfigurasi yang ingin Anda edit di bawah **Alokasi komputasi**. Ini akan membawa Anda ke halaman detail konfigurasi.

   1. Jika Anda ingin mengedit konfigurasi ini, pilih **Edit**.

   1. Setelah Anda membuat perubahan, pilih **Kirim**.

# Hapus kebijakan
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete"></a>

Anda dapat menghapus **kebijakan Cluster** dan konfigurasi **alokasi Komputasi** menggunakan konsol SageMaker AI atau. AWS CLI Halaman berikut memberikan petunjuk tentang cara menghapus kebijakan dan konfigurasi tata kelola SageMaker HyperPod tugas Anda.

Untuk informasi selengkapnya tentang konsep kebijakan klaster tata kelola HyperPod tugas EKS, lihat[Kebijakan](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md).

**catatan**  
Jika Anda mengalami masalah dengan mencantumkan atau menghapus kebijakan tata kelola tugas, Anda mungkin perlu memperbarui set izin minimum administrator klaster Anda. Lihat tab **Amazon EKS** di [Pengguna IAM untuk admin cluster](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin) bagian ini. Untuk informasi tambahan, lihat [Menghapus cluster](sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot.md#hp-eks-troubleshoot-delete-policies).

## Hapus kebijakan tata kelola HyperPod tugas (konsol)
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete-console"></a>

Berikut ini menggunakan konsol SageMaker AI untuk menghapus kebijakan tata kelola HyperPod tugas Anda.

**catatan**  
Anda tidak dapat menghapus **kebijakan Cluster** (`ClusterSchedulerConfig`) menggunakan konsol SageMaker AI. Untuk mempelajari cara melakukannya menggunakan AWS CLI, lihat[Hapus kebijakan tata kelola HyperPod tugas ()AWS CLI](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete-cli).

**Untuk menghapus kebijakan tata kelola tugas (konsol)**

1. Arahkan ke [konsol Amazon SageMaker AI](https://console.aws.amazon.com/sagemaker/).

1. Di panel navigasi kiri, di bawah **HyperPodClusters**, pilih Manajemen **Cluster**.

1. Pilih klaster Amazon EKS Anda yang terdaftar di bawah **SageMaker HyperPodkluster**.

1. Pilih tab **Kebijakan**.

1. Untuk menghapus **alokasi Compute** ()`ComputeQuota`:

   1. Di bagian **Alokasi komputasi**, pilih konfigurasi yang ingin Anda hapus.

   1. **Di menu tarik-turun **Tindakan**, pilih Hapus.**

   1. Ikuti petunjuk di UI untuk menyelesaikan tugas.

## Hapus kebijakan tata kelola HyperPod tugas ()AWS CLI
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete-cli"></a>

Berikut ini menggunakan AWS CLI untuk menghapus kebijakan tata kelola HyperPod tugas Anda.

**catatan**  
Jika Anda mengalami masalah dalam menggunakan perintah berikut, Anda mungkin perlu memperbarui perintah Anda AWS CLI. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

**Untuk menghapus kebijakan tata kelola tugas ()AWS CLI**

Pertama atur variabel Anda untuk AWS CLI perintah yang mengikuti.

```
REGION=aws-region
```

1. Dapatkan yang *cluster-arn* terkait dengan kebijakan yang ingin Anda hapus. Anda dapat menggunakan AWS CLI perintah berikut untuk membuat daftar cluster di Anda Wilayah AWS.

   ```
   aws sagemaker list-clusters \
       --region ${REGION}
   ```

1. Untuk menghapus alokasi komputasi ()`ComputeQuota`:

   1. Daftar semua kuota komputasi yang terkait dengan cluster. HyperPod 

      ```
      aws sagemaker list-compute-quotas \
          --cluster-arn cluster-arn \
          --region ${REGION}
      ```

   1. Untuk setiap yang ingin `compute-quota-id` Anda hapus, jalankan perintah berikut untuk menghapus kuota komputasi.

      ```
      aws sagemaker delete-compute-quota \
          --compute-quota-id compute-quota-id \
          --region ${REGION}
      ```

1. Untuk menghapus kebijakan klaster Anda (`ClusterSchedulerConfig`):

   1. Buat daftar semua kebijakan klaster yang terkait dengan HyperPod cluster.

      ```
      aws sagemaker list-cluster-scheduler-configs \
          --cluster-arn cluster-arn \
          --region ${REGION}
      ```

   1. Untuk setiap yang ingin `cluster-scheduler-config-id` Anda hapus, jalankan perintah berikut untuk menghapus kuota komputasi.

      ```
      aws sagemaker delete-cluster-scheduler-config 
          --cluster-scheduler-config-id scheduler-config-id \
          --region ${REGION}
      ```

# Mengalokasikan kuota komputasi dalam tata kelola tugas Amazon SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation"></a>

Administrator klaster dapat memutuskan bagaimana organisasi menggunakan komputasi yang dibeli. Melakukannya mengurangi pemborosan dan sumber daya yang menganggur. Anda dapat mengalokasikan kuota komputasi sehingga tim dapat meminjam sumber daya yang tidak digunakan satu sama lain. Menghitung alokasi kuota dalam tata kelola HyperPod tugas memungkinkan administrator mengalokasikan sumber daya pada tingkat instans dan pada tingkat sumber daya yang lebih terperinci. Kemampuan ini menyediakan manajemen sumber daya yang fleksibel dan efisien untuk tim dengan memungkinkan kontrol terperinci atas sumber daya komputasi individu alih-alih memerlukan seluruh alokasi instance. Mengalokasikan pada tingkat granular menghilangkan inefisiensi alokasi tingkat instans tradisional. Melalui pendekatan ini, Anda dapat mengoptimalkan pemanfaatan sumber daya dan mengurangi komputasi idle.

Alokasi kuota komputasi mendukung tiga jenis alokasi sumber daya: akselerator, vCPU, dan memori. Akselerator adalah komponen dalam contoh komputer yang dipercepat yang melakukan fungsi, seperti perhitungan angka floating point, pemrosesan grafis, atau pencocokan pola data. Akselerator termasuk GPUs, akselerator Trainium, dan inti neuron. Untuk berbagi GPU multi-tim, tim yang berbeda dapat menerima alokasi GPU spesifik dari jenis instans yang sama, memaksimalkan pemanfaatan perangkat keras akselerator. Untuk beban kerja intensif memori yang memerlukan RAM tambahan untuk preprocessing data atau skenario caching model, Anda dapat mengalokasikan kuota memori di luar rasio default. GPU-to-memory Untuk tugas preprocessing berat CPU yang membutuhkan sumber daya CPU yang substansif di samping pelatihan GPU, Anda dapat mengalokasikan alokasi sumber daya CPU independen.

Setelah Anda memberikan nilai, tata kelola HyperPod tugas menghitung rasio menggunakan rumus **sumber daya yang dialokasikan dibagi dengan jumlah total sumber daya yang tersedia dalam instance**. HyperPod Tata kelola tugas kemudian menggunakan rasio ini untuk menerapkan alokasi default ke sumber daya lain, tetapi Anda dapat mengganti default ini dan menyesuaikannya berdasarkan kasus penggunaan Anda. Berikut ini adalah contoh skenario bagaimana tata kelola HyperPod tugas mengalokasikan sumber daya berdasarkan nilai Anda:
+ **Hanya akselerator yang ditentukan** - tata kelola HyperPod tugas menerapkan rasio default untuk vCPU dan memori berdasarkan nilai akselerator.
+ **Hanya vCPU yang ditentukan** - tata kelola HyperPod tugas menghitung rasio dan menerapkannya ke memori. Akselerator diatur ke 0.
+ **Hanya memori yang ditentukan** - tata kelola HyperPod tugas menghitung rasio dan menerapkannya ke vCPU karena komputasi diperlukan untuk menjalankan beban kerja yang ditentukan memori. Akselerator diatur ke 0.

Untuk mengontrol alokasi kuota secara terprogram, Anda dapat menggunakan [ ComputeQuotaResourceConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ComputeQuotaResourceConfig.html)objek dan menentukan alokasi Anda dalam bilangan bulat.

```
{
    "ComputeQuotaConfig": {
        "ComputeQuotaResources": [{
            "InstanceType": "ml.g5.24xlarge",
            "Accelerators": "16",
            "vCpu": "200.0",
            "MemoryInGiB": "2.0"
        }]
    }
}
```

Untuk melihat semua alokasi yang dialokasikan, termasuk default, gunakan operasi. [ DescribeComputeQuota](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeComputeQuota.html) Untuk memperbarui alokasi Anda, gunakan [ UpdateComputeQuota](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateComputeQuota.html)operasi.

Anda juga dapat menggunakan HyperPod CLI untuk mengalokasikan kuota komputasi. Untuk informasi lebih lanjut tentang HyperPod CLI, lihat. [Menjalankan pekerjaan di SageMaker HyperPod cluster yang diatur oleh Amazon EKS](sagemaker-hyperpod-eks-run-jobs.md) Contoh berikut menunjukkan bagaimana mengatur kuota komputasi menggunakan CLI. HyperPod 

```
hyp create hyp-pytorch-job --version 1.1 --job-name sample-job \
--image 123456789012.dkr.ecr.us-west-2.amazonaws.com/ptjob:latest \
--pull-policy "Always" \
--tasks-per-node 1 \
--max-retry 1 \
--priority high-priority \
--namespace hyperpod-ns-team-name \
--queue-name hyperpod-ns-team-name-localqueue \
--instance-type sample-instance-type \
--accelerators 1 \
--vcpu 3 \
--memory 1 \
--accelerators-limit 1 \
--vcpu-limit 4 \
--memory-limit 2
```

Untuk mengalokasikan kuota menggunakan AWS konsol, ikuti langkah-langkah ini.

1. Buka konsol Amazon SageMaker AI di [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Di bawah HyperPod cluster, pilih **Manajemen cluster**.

1. **Di bawah **Alokasi komputasi**, pilih Buat.**

1. Jika Anda belum memiliki instance, pilih **Tambahkan alokasi** untuk menambahkan instance.

1. Di bawah **Alokasi**, pilih untuk mengalokasikan berdasarkan instans atau sumber daya individu. Jika Anda mengalokasikan berdasarkan sumber daya individu, SageMaker AI secara otomatis menetapkan alokasi ke sumber daya lain dengan rasio yang Anda pilih. Untuk mengganti alokasi berbasis rasio ini, gunakan sakelar yang sesuai untuk mengganti komputasi tersebut.

1. Ulangi langkah 4 dan 5 untuk mengonfigurasi instance tambahan.

Setelah mengalokasikan kuota komputasi, Anda kemudian dapat mengirimkan lowongan kerja melalui CLI atau. HyperPod `kubectl` HyperPodmenjadwalkan beban kerja secara efisien berdasarkan kuota yang tersedia. 

# Mengalokasikan kuota partisi GPU
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions"></a>

Anda dapat memperpanjang alokasi kuota komputasi untuk mendukung partisi GPU, memungkinkan berbagi sumber daya berbutir halus di tingkat partisi GPU. Saat partisi GPU diaktifkan didukung GPUs di cluster, setiap GPU fisik dapat dipartisi menjadi beberapa terisolasi GPUs dengan alokasi multiprosesor komputasi, memori, dan streaming yang ditentukan. Untuk informasi selengkapnya tentang partisi GPU, lihat. [Menggunakan partisi GPU di Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md) Anda dapat mengalokasikan partisi GPU tertentu ke tim, memungkinkan beberapa tim untuk berbagi satu GPU sekaligus mempertahankan isolasi tingkat perangkat keras dan kinerja yang dapat diprediksi.

Misalnya, instance ml.p5.48xlarge dengan 8 H100 GPUs dapat dipartisi menjadi partisi GPU, dan Anda dapat mengalokasikan partisi individual ke tim yang berbeda berdasarkan persyaratan tugas mereka. Saat Anda menentukan alokasi partisi GPU, tata kelola HyperPod tugas menghitung vCPU proporsional dan kuota memori berdasarkan partisi GPU, mirip dengan alokasi tingkat GPU. Pendekatan ini memaksimalkan pemanfaatan GPU dengan menghilangkan kapasitas idle dan memungkinkan pembagian sumber daya yang hemat biaya di beberapa tugas bersamaan pada GPU fisik yang sama.

## Membuat Kuota Komputasi
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions-creating"></a>

```
aws sagemaker create-compute-quota \
  --name "fractional-gpu-quota" \
  --compute-quota-config '{
    "ComputeQuotaResources": [
      {
        "InstanceType": "ml.p4d.24xlarge",
        "AcceleratorPartition": {
            "Count": 4,
            "Type": "mig-1g.5gb"
        }
      }
    ],
    "ResourceSharingConfig": { 
      "Strategy": "LendAndBorrow", 
      "BorrowLimit": 100 
    }
  }'
```

## Memverifikasi Sumber Daya Kuota
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions-verifying"></a>

```
# Check ClusterQueue
kubectl get clusterqueues
kubectl describe clusterqueue QUEUE_NAME

# Check ResourceFlavors
kubectl get resourceflavor
kubectl describe resourceflavor FLAVOR_NAME
```

# Contoh perintah tata kelola HyperPod AWS CLI tugas
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-cli"></a>

Anda dapat menggunakan HyperPod dengan EKS melalui Kubectl atau melalui CLI khusus HyperPod. Anda dapat menggunakan perintah ini melalui Studio atau AWS CLI. Berikut ini memberikan contoh tata kelola SageMaker HyperPod tugas, tentang cara melihat detail cluster menggunakan HyperPod AWS CLI perintah. Untuk informasi selengkapnya, termasuk cara menginstal, lihat repositori [HyperPod CLI Github](https://github.com/aws/sagemaker-hyperpod-cli).

**Topics**
+ [

## Dapatkan informasi kuota perangkat akselerator cluster
](#hp-eks-cli-get-clusters)
+ [

## Kirim pekerjaan ke antrian dan namespace yang SageMaker dikelola AI
](#hp-eks-cli-start-job)
+ [

## Daftar Lowongan
](#hp-eks-cli-list-jobs)
+ [

## Dapatkan informasi detail pekerjaan
](#hp-eks-cli-get-job)
+ [

## Menangguhkan dan menghentikan penangguhan pekerjaan
](#hp-eks-cli-patch-job)
+ [

## Lowongan kerja debugging
](#hp-eks-cli-other)

## Dapatkan informasi kuota perangkat akselerator cluster
<a name="hp-eks-cli-get-clusters"></a>

Contoh perintah berikut mendapatkan informasi tentang kuota perangkat akselerator cluster.

```
hyperpod get-clusters -n hyperpod-ns-test-team
```

Namespace dalam contoh ini,`hyperpod-ns-test-team`, dibuat di Kubernetes berdasarkan nama tim yang disediakan`test-team`, ketika alokasi komputasi dibuat. Untuk informasi selengkapnya, lihat [Edit kebijakan](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-edit.md).

Contoh respons:

```
[
    {
        "Cluster": "hyperpod-eks-test-cluster-id",
        "InstanceType": "ml.g5.xlarge",
        "TotalNodes": 2,
        "AcceleratorDevicesAvailable": 1,
        "NodeHealthStatus=Schedulable": 2,
        "DeepHealthCheckStatus=Passed": "N/A",
        "Namespaces": {
            "hyperpod-ns-test-team": {
                "TotalAcceleratorDevices": 1,
                "AvailableAcceleratorDevices": 1
            }
        }
    }
]
```

## Kirim pekerjaan ke antrian dan namespace yang SageMaker dikelola AI
<a name="hp-eks-cli-start-job"></a>

Contoh perintah berikut mengirimkan pekerjaan ke HyperPod cluster Anda. Jika Anda memiliki akses ke hanya satu tim, secara otomatis HyperPod AWS CLI akan menetapkan antrian untuk Anda dalam kasus ini. Jika tidak, jika beberapa antrian ditemukan, kami akan menampilkan semua opsi yang layak untuk Anda pilih.

```
hyperpod start-job --job-name hyperpod-cli-test --job-kind kubeflow/PyTorchJob --image docker.io/kubeflowkatib/pytorch-mnist-cpu:v1beta1-bc09cfd --entry-script /opt/pytorch-mnist/mnist.py --pull-policy IfNotPresent --instance-type ml.g5.xlarge --node-count 1 --tasks-per-node 1 --results-dir ./result --priority training-priority
```

Kelas prioritas didefinisikan dalam **kebijakan Cluster**, yang mendefinisikan bagaimana tugas diprioritaskan dan komputasi idle dialokasikan. Ketika seorang ilmuwan data mengirimkan pekerjaan, mereka menggunakan salah satu nama kelas prioritas dengan format`priority-class-name-priority`. Dalam contoh ini, `training-priority` mengacu pada kelas prioritas bernama “pelatihan”. Untuk informasi lebih lanjut tentang konsep kebijakan, lihat[Kebijakan](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md).

Jika kelas prioritas tidak ditentukan, pekerjaan diperlakukan sebagai pekerjaan prioritas rendah, dengan nilai peringkat tugas 0. 

Jika kelas prioritas ditentukan, tetapi tidak sesuai dengan salah satu kelas prioritas yang didefinisikan dalam **kebijakan Cluster**, pengiriman gagal dan pesan kesalahan menyediakan kumpulan kelas prioritas yang ditentukan.

Anda juga dapat mengirimkan pekerjaan menggunakan file konfigurasi YAMB menggunakan perintah berikut: 

```
hyperpod start-job --config-file ./yaml-configuration-file-name.yaml
```

Berikut ini adalah contoh file konfigurasi YAMAL yang setara dengan mengirimkan pekerjaan seperti yang dibahas di atas.

```
defaults:
  - override hydra/job_logging: stdout
hydra:
  run:
    dir: .
  output_subdir: null
training_cfg:
  entry_script: /opt/pytorch-mnist/mnist.py
  script_args: []
  run:
    name: hyperpod-cli-test
    nodes: 1
    ntasks_per_node: 1
cluster:
  cluster_type: k8s
  instance_type: ml.g5.xlarge
  custom_labels:
    kueue.x-k8s.io/priority-class: training-priority
  cluster_config:
    label_selector:
      required:
        sagemaker.amazonaws.com/node-health-status:
          - Schedulable
      preferred:
        sagemaker.amazonaws.com/deep-health-check-status:
          - Passed
      weights:
        - 100
    pullPolicy: IfNotPresent
base_results_dir: ./result
container: docker.io/kubeflowkatib/pytorch-mnist-cpu:v1beta1-bc09cfd
env_vars:
  NCCL_DEBUG: INFO
```

Atau, Anda dapat mengirimkan pekerjaan menggunakan `kubectl` untuk memastikan tugas muncul di tab **Dasbor**. Berikut ini adalah contoh perintah kubectl.

```
kubectl apply -f ./yaml-configuration-file-name.yaml
```

Saat mengirimkan pekerjaan, sertakan nama antrian dan label kelas prioritas Anda. Misalnya, dengan nama antrian `hyperpod-ns-team-name-localqueue` dan kelas prioritas`priority-class-name-priority`, Anda harus menyertakan label berikut:
+ `kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue` 
+ `kueue.x-k8s.io/priority-class: priority-class-name-priority`

**Cuplikan konfigurasi YAMB berikut menunjukkan cara menambahkan label ke file konfigurasi asli Anda untuk memastikan tugas Anda muncul di tab Dasbor:**

```
metadata:
    name: job-name
    namespace: hyperpod-ns-team-name
    labels:
        kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
        kueue.x-k8s.io/priority-class: priority-class-name-priority
```

## Daftar Lowongan
<a name="hp-eks-cli-list-jobs"></a>

Perintah berikut mencantumkan pekerjaan dan detailnya.

```
hyperpod list-jobs
```

Contoh respons:

```
{
    "jobs": [
        {
            "Name": "hyperpod-cli-test",
            "Namespace": "hyperpod-ns-test-team",
            "CreationTime": "2024-11-18T21:21:15Z",
            "Priority": "training",
            "State": "Succeeded"
        }
    ]
}
```

## Dapatkan informasi detail pekerjaan
<a name="hp-eks-cli-get-job"></a>

Perintah berikut memberikan rincian pekerjaan. Jika tidak ada namespace yang ditentukan, HyperPod AWS CLI akan mengambil namespace yang dikelola oleh SageMaker AI yang dapat Anda akses.

```
hyperpod get-job --job-name hyperpod-cli-test
```

Contoh respons:

```
{
    "Name": "hyperpod-cli-test",
    "Namespace": "hyperpod-ns-test-team",
    "Label": {
        "app": "hyperpod-cli-test",
        "app.kubernetes.io/managed-by": "Helm",
        "kueue.x-k8s.io/priority-class": "training"
    },
    "CreationTimestamp": "2024-11-18T21:21:15Z",
    "Status": {
        "completionTime": "2024-11-18T21:25:24Z",
        "conditions": [
            {
                "lastTransitionTime": "2024-11-18T21:21:15Z",
                "lastUpdateTime": "2024-11-18T21:21:15Z",
                "message": "PyTorchJob hyperpod-cli-test is created.",
                "reason": "PyTorchJobCreated",
                "status": "True",
                "type": "Created"
            },
            {
                "lastTransitionTime": "2024-11-18T21:21:17Z",
                "lastUpdateTime": "2024-11-18T21:21:17Z",
                "message": "PyTorchJob hyperpod-ns-test-team/hyperpod-cli-test is running.",
                "reason": "PyTorchJobRunning",
                "status": "False",
                "type": "Running"
            },
            {
                "lastTransitionTime": "2024-11-18T21:25:24Z",
                "lastUpdateTime": "2024-11-18T21:25:24Z",
                "message": "PyTorchJob hyperpod-ns-test-team/hyperpod-cli-test successfully completed.",
                "reason": "PyTorchJobSucceeded",
                "status": "True",
                "type": "Succeeded"
            }
        ],
            "replicaStatuses": {
                "Worker": {
                    "selector": "training.kubeflow.org/job-name=hyperpod-cli-test,training.kubeflow.org/operator-name=pytorchjob-controller,training.kubeflow.org/replica-type=worker",
                    "succeeded": 1
                }
            },
        "startTime": "2024-11-18T21:21:15Z"
    },
    "ConsoleURL": "https://us-west-2.console.aws.amazon.com/sagemaker/home?region=us-west-2#/cluster-management/hyperpod-eks-test-cluster-id“
}
```

## Menangguhkan dan menghentikan penangguhan pekerjaan
<a name="hp-eks-cli-patch-job"></a>

Jika Anda ingin menghapus beberapa pekerjaan yang dikirimkan dari penjadwal, HyperPod AWS CLI berikan `suspend` perintah untuk menghapus sementara pekerjaan dari orkestrasi. Pekerjaan yang ditangguhkan tidak akan lagi dijadwalkan kecuali pekerjaan tersebut tidak ditangguhkan secara manual oleh perintah `unsuspend`

Untuk sementara menangguhkan pekerjaan:

```
hyperpod patch-job suspend --job-name hyperpod-cli-test
```

Untuk menambahkan pekerjaan kembali ke antrian:

```
hyperpod patch-job unsuspend --job-name hyperpod-cli-test
```

## Lowongan kerja debugging
<a name="hp-eks-cli-other"></a>

Ini HyperPod AWS CLI juga menyediakan perintah lain bagi Anda untuk men-debug masalah pengiriman pekerjaan. Misalnya `list-pods` dan `get-logs` di repositori HyperPod AWS CLI Github.

# Pemecahan Masalah
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot"></a>

Halaman berikut berisi solusi yang diketahui untuk memecahkan masalah kluster HyperPod EKS Anda.

**Topics**
+ [

## Tab dasbor
](#hp-eks-troubleshoot-dashboard)
+ [

## Tab Tugas
](#hp-eks-troubleshoot-tasks)
+ [

## Kebijakan
](#hp-eks-troubleshoot-policies)
+ [

## Menghapus cluster
](#hp-eks-troubleshoot-delete-policies)
+ [

## Berbagi sumber daya yang tidak terisi
](#hp-eks-troubleshoot-unallocated-resource-sharing)

## Tab dasbor
<a name="hp-eks-troubleshoot-dashboard"></a>

**Pengaya EKS gagal dipasang**

Agar instalasi add-on EKS berhasil, Anda harus memiliki versi Kubernets>= 1.30. Untuk memperbarui, lihat [Memperbarui versi Kubernetes](https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html).

Agar instalasi add-on EKS berhasil, semua node harus dalam status **Ready** dan semua pod harus dalam status **Running**. 

Untuk memeriksa status node Anda, gunakan [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-cluster-nodes.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-cluster-nodes.html) AWS CLI perintah atau navigasikan ke kluster EKS Anda di [konsol EKS](https://console.aws.amazon.com/eks/home#/clusters) dan lihat status node Anda. Selesaikan masalah untuk setiap node atau hubungi administrator Anda. Jika status node **tidak diketahui**, hapus node. Setelah semua status node **Siap**, coba lagi instal add-on EKS HyperPod dari konsol [Amazon SageMaker ](https://console.aws.amazon.com/sagemaker/) AI.

Untuk memeriksa status pod Anda, gunakan `kubectl get pods -n cloudwatch-agent` perintah [CLI Kubernetes](https://kubernetes.io/docs/reference/kubectl/) atau navigasikan ke klaster EKS Anda di konsol [EKS](https://console.aws.amazon.com/eks/home#/clusters) dan lihat status pod Anda dengan namespace. `cloudwatch-agent` Selesaikan masalah Pod atau hubungi administrator Anda untuk menyelesaikan masalah. Setelah semua status pod **Berjalan**, coba lagi instal add-on EKS HyperPod dari konsol [Amazon SageMaker ](https://console.aws.amazon.com/sagemaker/) AI.

Untuk pemecahan masalah lainnya, lihat [Memecahkan masalah add-on CloudWatch Amazon Observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Observability-EKS-addon.html#Container-Insights-setup-EKS-addon-troubleshoot) EKS.

## Tab Tugas
<a name="hp-eks-troubleshoot-tasks"></a>

Jika Anda melihat pesan galat tentang bagaimana **Definisi Sumber Daya Kustom (CRD) tidak dikonfigurasi di klaster**, berikan `EKSAdminViewPolicy` dan `ClusterAccessRole` kebijakan untuk peran eksekusi domain Anda. 
+ Untuk informasi tentang cara mendapatkan peran eksekusi Anda, lihat[Dapatkan peran eksekusi Anda](sagemaker-roles.md#sagemaker-roles-get-execution-role).
+ Untuk mempelajari cara melampirkan kebijakan ke pengguna atau grup IAM, lihat [Menambahkan dan menghapus izin identitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

## Kebijakan
<a name="hp-eks-troubleshoot-policies"></a>

Berikut ini mencantumkan solusi untuk kesalahan yang berkaitan dengan kebijakan yang menggunakan HyperPod APIs atau konsol.
+ Jika kebijakan dalam `CreateFailed` atau `CreateRollbackFailed` status, Anda perlu menghapus kebijakan yang gagal dan membuat yang baru.
+ Jika kebijakan dalam `UpdateFailed` status, coba lagi pembaruan dengan kebijakan yang sama ARN.
+ Jika kebijakan dalam `UpdateRollbackFailed` status, Anda perlu menghapus kebijakan yang gagal dan kemudian membuat yang baru.
+ Jika kebijakan dalam `DeleteFailed` atau `DeleteRollbackFailed` status, coba lagi penghapusan dengan kebijakan yang sama ARN.
  + Jika Anda mengalami kesalahan saat mencoba menghapus **prioritas Komputasi**, atau kebijakan klaster, menggunakan HyperPod konsol, coba hapus `cluster-scheduler-config` penggunaan API. Untuk memeriksa status sumber daya, buka halaman detail alokasi komputasi.

Untuk melihat detail lebih lanjut tentang kegagalan, gunakan API describe.

## Menghapus cluster
<a name="hp-eks-troubleshoot-delete-policies"></a>

Berikut daftar solusi yang diketahui untuk kesalahan yang berkaitan dengan menghapus cluster.
+ Ketika penghapusan klaster gagal karena kebijakan tata kelola SageMaker HyperPod tugas terlampir, Anda harus melakukannya. [Hapus kebijakan](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete.md)
+ Ketika penghapusan klaster gagal karena izin berikut hilang, Anda perlu memperbarui set izin minimum administrator klaster Anda. Lihat tab **Amazon EKS** di [Pengguna IAM untuk admin cluster](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin) bagian ini.
  + `sagemaker:ListComputeQuotas`
  + `sagemaker:ListClusterSchedulerConfig`
  + `sagemaker:DeleteComputeQuota`
  + `sagemaker:DeleteClusterSchedulerConfig`

## Berbagi sumber daya yang tidak terisi
<a name="hp-eks-troubleshoot-unallocated-resource-sharing"></a>

Jika kapasitas kumpulan sumber daya yang tidak terisi kurang dari yang diharapkan:

1. **Periksa status siap node**

   ```
   kubectl get nodes
   ```

   Verifikasi semua node menampilkan `Ready` status di kolom STATUS.

1. **Periksa status penjadwalan node**

   ```
   kubectl get nodes -o custom-columns=NAME:.metadata.name,UNSCHEDULABLE:.spec.unschedulable
   ```

   Verifikasi node menunjukkan `<none>` atau `false` (tidak`true`).

1. **Daftar berbagi sumber daya yang tidak terisi: ClusterQueues**

   ```
   kubectl get clusterqueue | grep hyperpod-ns-idle-resource-sharing
   ```

   Ini menunjukkan semua berbagi sumber daya yang tidak terisi. ClusterQueues Jika ClusterQueues tidak muncul, periksa ClusterSchedulerConfig kebijakan di `FailureReason` bawah untuk melihat apakah ada pesan kegagalan untuk melanjutkan debugging.

1. **Verifikasi kuota berbagi sumber daya yang tidak dialokasikan:**

   ```
   kubectl describe clusterqueue hyperpod-ns-idle-resource-sharing-<index>
   ```

   Periksa `spec.resourceGroups[].flavors[].resources` bagian untuk melihat kuota yang dialokasikan untuk setiap ragam sumber daya.

   Beberapa berbagi sumber daya yang tidak teralokasikan ClusterQueues mungkin ada tergantung pada jumlah ragam sumber daya di klaster Anda. 

1. **Periksa status konfigurasi MIG (node GPU):**

   ```
   kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.nvidia\.com/mig\.config\.state}{"\n"}{end}'
   ```

   Verifikasi node berkemampuan MiG menunjukkan `success` status.

# Dokumen atribusi untuk tata kelola SageMaker HyperPod tugas Amazon
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-attributions"></a>

Berikut ini, Anda dapat mempelajari tentang atribusi dan lisensi pihak ketiga untuk materi yang digunakan dalam tata kelola SageMaker HyperPod tugas Amazon.

**Topics**
+ [

## [file dasar](https://packages.debian.org/bookworm/base-files)
](#hp-eks-task-governance-attributions-base-files)
+ [

## [netbase](https://packages.debian.org/source/stable/netbase)
](#hp-eks-task-governance-attributions-netbase)
+ [

## [golang-lru](https://github.com/hashicorp/golang-lru)
](#hp-eks-task-governance-attributions-golang-lru)

## [file dasar](https://packages.debian.org/bookworm/base-files)
<a name="hp-eks-task-governance-attributions-base-files"></a>

```
This is the Debian prepackaged version of the Debian Base System
Miscellaneous files. These files were written by Ian Murdock
<imurdock@debian.org> and Bruce Perens <bruce@pixar.com>.

This package was first put together by Bruce Perens <Bruce@Pixar.com>,
from his own sources.

The GNU Public Licenses in /usr/share/common-licenses were taken from
ftp.gnu.org and are copyrighted by the Free Software Foundation, Inc.

The Artistic License in /usr/share/common-licenses is the one coming
from Perl and its SPDX name is "Artistic License 1.0 (Perl)".


Copyright © 1995-2011 Software in the Public Interest.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

On Debian systems, the complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL'.
```

## [netbase](https://packages.debian.org/source/stable/netbase)
<a name="hp-eks-task-governance-attributions-netbase"></a>

```
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Comment:
 This package was created by Peter Tobias tobias@et-inf.fho-emden.de on
 Wed, 24 Aug 1994 21:33:28 +0200 and maintained by Anthony Towns
 <ajt@debian.org> until 2001.
 It is currently maintained by Marco d'Itri <md@linux.it>.

Files: *
Copyright:
 Copyright © 1994-1998 Peter Tobias
 Copyright © 1998-2001 Anthony Towns
 Copyright © 2002-2022 Marco d'Itri
License: GPL-2
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License, version 2, as
 published by the Free Software Foundation.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License along
 with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 .
 On Debian systems, the complete text of the GNU General Public License
 version 2 can be found in '/usr/share/common-licenses/GPL-2'.
```

## [golang-lru](https://github.com/hashicorp/golang-lru)
<a name="hp-eks-task-governance-attributions-golang-lru"></a>

```
Copyright © 2014 HashiCorp, Inc.

Mozilla Public License, version 2.0

1. Definitions

1.1. "Contributor"

     means each individual or legal entity that creates, contributes to the
     creation of, or owns Covered Software.

1.2. "Contributor Version"

     means the combination of the Contributions of others (if any) used by a
     Contributor and that particular Contributor's Contribution.

1.3. "Contribution"

     means Covered Software of a particular Contributor.

1.4. "Covered Software"

     means Source Code Form to which the initial Contributor has attached the
     notice in Exhibit A, the Executable Form of such Source Code Form, and
     Modifications of such Source Code Form, in each case including portions
     thereof.

1.5. "Incompatible With Secondary Licenses"
     means

     a. that the initial Contributor has attached the notice described in
        Exhibit B to the Covered Software; or

     b. that the Covered Software was made available under the terms of
        version 1.1 or earlier of the License, but not also under the terms of
        a Secondary License.

1.6. "Executable Form"

     means any form of the work other than Source Code Form.

1.7. "Larger Work"

     means a work that combines Covered Software with other material, in a
     separate file or files, that is not Covered Software.

1.8. "License"

     means this document.

1.9. "Licensable"

     means having the right to grant, to the maximum extent possible, whether
     at the time of the initial grant or subsequently, any and all of the
     rights conveyed by this License.

1.10. "Modifications"

     means any of the following:

     a. any file in Source Code Form that results from an addition to,
        deletion from, or modification of the contents of Covered Software; or

     b. any new file in Source Code Form that contains any Covered Software.

1.11. "Patent Claims" of a Contributor

      means any patent claim(s), including without limitation, method,
      process, and apparatus claims, in any patent Licensable by such
      Contributor that would be infringed, but for the grant of the License,
      by the making, using, selling, offering for sale, having made, import,
      or transfer of either its Contributions or its Contributor Version.

1.12. "Secondary License"

      means either the GNU General Public License, Version 2.0, the GNU Lesser
      General Public License, Version 2.1, the GNU Affero General Public
      License, Version 3.0, or any later versions of those licenses.

1.13. "Source Code Form"

      means the form of the work preferred for making modifications.

1.14. "You" (or "Your")

      means an individual or a legal entity exercising rights under this
      License. For legal entities, "You" includes any entity that controls, is
      controlled by, or is under common control with You. For purposes of this
      definition, "control" means (a) the power, direct or indirect, to cause
      the direction or management of such entity, whether by contract or
      otherwise, or (b) ownership of more than fifty percent (50%) of the
      outstanding shares or beneficial ownership of such entity.


2. License Grants and Conditions

2.1. Grants

     Each Contributor hereby grants You a world-wide, royalty-free,
     non-exclusive license:

     a. under intellectual property rights (other than patent or trademark)
        Licensable by such Contributor to use, reproduce, make available,
        modify, display, perform, distribute, and otherwise exploit its
        Contributions, either on an unmodified basis, with Modifications, or
        as part of a Larger Work; and

     b. under Patent Claims of such Contributor to make, use, sell, offer for
        sale, have made, import, and otherwise transfer either its
        Contributions or its Contributor Version.

2.2. Effective Date

     The licenses granted in Section 2.1 with respect to any Contribution
     become effective for each Contribution on the date the Contributor first
     distributes such Contribution.

2.3. Limitations on Grant Scope

     The licenses granted in this Section 2 are the only rights granted under
     this License. No additional rights or licenses will be implied from the
     distribution or licensing of Covered Software under this License.
     Notwithstanding Section 2.1(b) above, no patent license is granted by a
     Contributor:

     a. for any code that a Contributor has removed from Covered Software; or

     b. for infringements caused by: (i) Your and any other third party's
        modifications of Covered Software, or (ii) the combination of its
        Contributions with other software (except as part of its Contributor
        Version); or

     c. under Patent Claims infringed by Covered Software in the absence of
        its Contributions.

     This License does not grant any rights in the trademarks, service marks,
     or logos of any Contributor (except as may be necessary to comply with
     the notice requirements in Section 3.4).

2.4. Subsequent Licenses

     No Contributor makes additional grants as a result of Your choice to
     distribute the Covered Software under a subsequent version of this
     License (see Section 10.2) or under the terms of a Secondary License (if
     permitted under the terms of Section 3.3).

2.5. Representation

     Each Contributor represents that the Contributor believes its
     Contributions are its original creation(s) or it has sufficient rights to
     grant the rights to its Contributions conveyed by this License.

2.6. Fair Use

     This License is not intended to limit any rights You have under
     applicable copyright doctrines of fair use, fair dealing, or other
     equivalents.

2.7. Conditions

     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
     Section 2.1.


3. Responsibilities

3.1. Distribution of Source Form

     All distribution of Covered Software in Source Code Form, including any
     Modifications that You create or to which You contribute, must be under
     the terms of this License. You must inform recipients that the Source
     Code Form of the Covered Software is governed by the terms of this
     License, and how they can obtain a copy of this License. You may not
     attempt to alter or restrict the recipients' rights in the Source Code
     Form.

3.2. Distribution of Executable Form

     If You distribute Covered Software in Executable Form then:

     a. such Covered Software must also be made available in Source Code Form,
        as described in Section 3.1, and You must inform recipients of the
        Executable Form how they can obtain a copy of such Source Code Form by
        reasonable means in a timely manner, at a charge no more than the cost
        of distribution to the recipient; and

     b. You may distribute such Executable Form under the terms of this
        License, or sublicense it under different terms, provided that the
        license for the Executable Form does not attempt to limit or alter the
        recipients' rights in the Source Code Form under this License.

3.3. Distribution of a Larger Work

     You may create and distribute a Larger Work under terms of Your choice,
     provided that You also comply with the requirements of this License for
     the Covered Software. If the Larger Work is a combination of Covered
     Software with a work governed by one or more Secondary Licenses, and the
     Covered Software is not Incompatible With Secondary Licenses, this
     License permits You to additionally distribute such Covered Software
     under the terms of such Secondary License(s), so that the recipient of
     the Larger Work may, at their option, further distribute the Covered
     Software under the terms of either this License or such Secondary
     License(s).

3.4. Notices

     You may not remove or alter the substance of any license notices
     (including copyright notices, patent notices, disclaimers of warranty, or
     limitations of liability) contained within the Source Code Form of the
     Covered Software, except that You may alter any license notices to the
     extent required to remedy known factual inaccuracies.

3.5. Application of Additional Terms

     You may choose to offer, and to charge a fee for, warranty, support,
     indemnity or liability obligations to one or more recipients of Covered
     Software. However, You may do so only on Your own behalf, and not on
     behalf of any Contributor. You must make it absolutely clear that any
     such warranty, support, indemnity, or liability obligation is offered by
     You alone, and You hereby agree to indemnify every Contributor for any
     liability incurred by such Contributor as a result of warranty, support,
     indemnity or liability terms You offer. You may include additional
     disclaimers of warranty and limitations of liability specific to any
     jurisdiction.

4. Inability to Comply Due to Statute or Regulation

   If it is impossible for You to comply with any of the terms of this License
   with respect to some or all of the Covered Software due to statute,
   judicial order, or regulation then You must: (a) comply with the terms of
   this License to the maximum extent possible; and (b) describe the
   limitations and the code they affect. Such description must be placed in a
   text file included with all distributions of the Covered Software under
   this License. Except to the extent prohibited by statute or regulation,
   such description must be sufficiently detailed for a recipient of ordinary
   skill to be able to understand it.

5. Termination

5.1. The rights granted under this License will terminate automatically if You
     fail to comply with any of its terms. However, if You become compliant,
     then the rights granted under this License from a particular Contributor
     are reinstated (a) provisionally, unless and until such Contributor
     explicitly and finally terminates Your grants, and (b) on an ongoing
     basis, if such Contributor fails to notify You of the non-compliance by
     some reasonable means prior to 60 days after You have come back into
     compliance. Moreover, Your grants from a particular Contributor are
     reinstated on an ongoing basis if such Contributor notifies You of the
     non-compliance by some reasonable means, this is the first time You have
     received notice of non-compliance with this License from such
     Contributor, and You become compliant prior to 30 days after Your receipt
     of the notice.

5.2. If You initiate litigation against any entity by asserting a patent
     infringement claim (excluding declaratory judgment actions,
     counter-claims, and cross-claims) alleging that a Contributor Version
     directly or indirectly infringes any patent, then the rights granted to
     You by any and all Contributors for the Covered Software under Section
     2.1 of this License shall terminate.

5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user
     license agreements (excluding distributors and resellers) which have been
     validly granted by You or Your distributors under this License prior to
     termination shall survive termination.

6. Disclaimer of Warranty

   Covered Software is provided under this License on an "as is" basis,
   without warranty of any kind, either expressed, implied, or statutory,
   including, without limitation, warranties that the Covered Software is free
   of defects, merchantable, fit for a particular purpose or non-infringing.
   The entire risk as to the quality and performance of the Covered Software
   is with You. Should any Covered Software prove defective in any respect,
   You (not any Contributor) assume the cost of any necessary servicing,
   repair, or correction. This disclaimer of warranty constitutes an essential
   part of this License. No use of  any Covered Software is authorized under
   this License except under this disclaimer.

7. Limitation of Liability

   Under no circumstances and under no legal theory, whether tort (including
   negligence), contract, or otherwise, shall any Contributor, or anyone who
   distributes Covered Software as permitted above, be liable to You for any
   direct, indirect, special, incidental, or consequential damages of any
   character including, without limitation, damages for lost profits, loss of
   goodwill, work stoppage, computer failure or malfunction, or any and all
   other commercial damages or losses, even if such party shall have been
   informed of the possibility of such damages. This limitation of liability
   shall not apply to liability for death or personal injury resulting from
   such party's negligence to the extent applicable law prohibits such
   limitation. Some jurisdictions do not allow the exclusion or limitation of
   incidental or consequential damages, so this exclusion and limitation may
   not apply to You.

8. Litigation

   Any litigation relating to this License may be brought only in the courts
   of a jurisdiction where the defendant maintains its principal place of
   business and such litigation shall be governed by laws of that
   jurisdiction, without reference to its conflict-of-law provisions. Nothing
   in this Section shall prevent a party's ability to bring cross-claims or
   counter-claims.

9. Miscellaneous

   This License represents the complete agreement concerning the subject
   matter hereof. If any provision of this License is held to be
   unenforceable, such provision shall be reformed only to the extent
   necessary to make it enforceable. Any law or regulation which provides that
   the language of a contract shall be construed against the drafter shall not
   be used to construe this License against a Contributor.


10. Versions of the License

10.1. New Versions

      Mozilla Foundation is the license steward. Except as provided in Section
      10.3, no one other than the license steward has the right to modify or
      publish new versions of this License. Each version will be given a
      distinguishing version number.

10.2. Effect of New Versions

      You may distribute the Covered Software under the terms of the version
      of the License under which You originally received the Covered Software,
      or under the terms of any subsequent version published by the license
      steward.

10.3. Modified Versions

      If you create software not governed by this License, and you want to
      create a new license for such software, you may create and use a
      modified version of this License if you rename the license and remove
      any references to the name of the license steward (except to note that
      such modified license differs from this License).

10.4. Distributing Source Code Form that is Incompatible With Secondary
      Licenses If You choose to distribute Source Code Form that is
      Incompatible With Secondary Licenses under the terms of this version of
      the License, the notice described in Exhibit B of this License must be
      attached.

Exhibit A - Source Code Form License Notice

      This Source Code Form is subject to the
      terms of the Mozilla Public License, v.
      2.0. If a copy of the MPL was not
      distributed with this file, You can
      obtain one at
      http://mozilla.org/MPL/2.0/.

If it is not possible or desirable to put the notice in a particular file,
then You may include the notice in a location (such as a LICENSE file in a
relevant directory) where a recipient would be likely to look for such a
notice.

You may add additional accurate notices of copyright ownership.

Exhibit B - "Incompatible With Secondary Licenses" Notice

      This Source Code Form is "Incompatible
      With Secondary Licenses", as defined by
      the Mozilla Public License, v. 2.0.
```

# Pelaporan penggunaan untuk atribusi biaya di SageMaker HyperPod
<a name="sagemaker-hyperpod-usage-reporting"></a>

Pelaporan penggunaan dalam kluster yang SageMaker HyperPod diatur EKS memberikan visibilitas terperinci ke dalam konsumsi sumber daya komputasi. Kemampuan ini memungkinkan organisasi untuk menerapkan atribusi biaya yang transparan, mengalokasikan biaya klaster ke tim, proyek, atau departemen berdasarkan penggunaan aktual mereka. Dengan melacak metrik seperti GPU/CPU jam, dan pemanfaatan Inti Neuron - ditangkap dalam *agregat tingkat tim dan gangguan khusus tugas* - pelaporan penggunaan melengkapi fungsionalitas [Tata Kelola Tugas](sagemaker-hyperpod-eks-operate-console-ui-governance.md), memastikan distribusi biaya yang adil dalam HyperPod klaster multi-penyewa bersama dengan:
+ Menghilangkan dugaan dalam alokasi biaya
+ Menghubungkan pengeluaran secara langsung dengan konsumsi sumber daya yang terukur
+ Menegakkan akuntabilitas berbasis penggunaan di lingkungan infrastruktur bersama

## Prasyarat
<a name="sagemaker-hyperpod-usage-reporting-prerequisites"></a>

Untuk menggunakan kemampuan ini:
+ Anda membutuhkan:
  + **SageMaker HyperPod Lingkungan aktif dengan cluster** yang diatur EKS yang sedang berjalan.
  + (Sangat disarankan) **Tata Kelola Tugas dikonfigurasi** dengan kuota komputasi dan aturan prioritas. Untuk petunjuk penyiapan, lihat [Pengaturan Tata Kelola Tugas](sagemaker-hyperpod-eks-operate-console-ui-governance-setup.md).
+ Biasakan diri Anda dengan konsep-konsep inti ini:
  + **Kuota komputasi yang dialokasikan:** Sumber daya yang disediakan untuk tim berdasarkan kuota yang telah ditentukan dalam kebijakan Tata Kelola Tugas mereka. Ini *dijamin kapasitas* untuk beban kerja mereka.
  + **Komputasi yang dipinjam:** Sumber daya idle dari kumpulan cluster bersama yang dapat digunakan sementara tim *di luar kuota yang dialokasikan*. Komputasi yang dipinjam ditetapkan secara dinamis berdasarkan aturan prioritas dalam kebijakan Tata Kelola Tugas dan ketersediaan sumber daya yang tidak digunakan.
  + **Penggunaan komputasi:** Pengukuran sumber daya (GPU, CPU, jam Neuron Core) yang dikonsumsi oleh tim, dilacak sebagai:
    + **Pemanfaatan yang dialokasikan**: Penggunaan dalam kuota tim.
    + **Pemanfaatan pinjaman**: Penggunaan di luar kuota, diambil dari kolam bersama.
  + **Atribusi biaya:** Proses mengalokasikan biaya klaster ke tim berdasarkan *penggunaan komputasi aktual* mereka, termasuk kedua sumber daya yang dikonsumsi dalam kuota yang telah ditentukan sebelumnya dan sumber daya yang digunakan sementara dari kumpulan cluster bersama di luar kuota mereka.

## Jenis laporan
<a name="sagemaker-hyperpod-usage-reporting-report-types"></a>

HyperPodLaporan penggunaan memberikan perincian operasional yang bervariasi:
+ **Laporan ringkasan** *memberikan visibilitas seluruh organisasi ke dalam penggunaan komputasi, menggabungkan total jam GPU/CPU/Neuron Core per tim (namespace) sambil membedakan antara *penggunaan reguler* (sumber daya dari kuota yang dialokasikan tim) dan komputasi pinjaman (kapasitas luapan dari kumpulan bersama).*
+ **Laporan terperinci** menawarkan rincian tingkat tugas menurut tim, melacak jam komputasi tepat yang dihabiskan untuk menjalankan tugas tertentu — termasuk tugas yang dipreempt, pola pemanfaatan per jam, dan alokasi khusus ruang nama.

**penting**  
HyperPod pelaporan penggunaan melacak pemanfaatan komputasi di *semua ruang nama Kubernetes dalam sebuah cluster—termasuk yang dikelola oleh Task Governance, namespace* default, dan namespace yang dibuat di **luar** Task Governance (misalnya, melalui panggilan API Kubernetes langsung atau alat eksternal). Pemantauan tingkat infrastruktur ini memastikan akuntabilitas berbasis penggunaan yang komprehensif, mencegah kesenjangan dalam atribusi biaya untuk cluster bersama terlepas dari bagaimana ruang nama dikelola.

## Format laporan dan rentang waktu
<a name="sagemaker-hyperpod-usage-reporting-formats"></a>

Dengan menggunakan skrip Python yang disediakan[Menghasilkan laporan](sagemaker-hyperpod-usage-reporting-generate.md), administrator dapat menghasilkan laporan penggunaan sesuai permintaan dalam format CSV atau PDF, memilih rentang waktu dari snapshot harian hingga jendela historis 180 hari (6 bulan).

**catatan**  
Anda dapat mengonfigurasi jendela historis untuk melampaui batas maksimum 180 hari default saat menyiapkan infrastruktur pelaporan. Untuk informasi selengkapnya tentang mengonfigurasi periode penyimpanan data, lihat [Menginstal Infrastruktur Laporan Penggunaan menggunakan CloudFormation](https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md#install-usage-report-infrastructure-using-cloudformation). 

## Kasus penggunaan ilustratif
<a name="sagemaker-hyperpod-usage-reporting-use-cases"></a>

Kemampuan ini membahas skenario penting di AI/ML lingkungan multi-penyewa seperti:

1. **Alokasi biaya untuk cluster bersama**: Administrator mengelola HyperPod cluster yang dibagikan oleh 20 tim yang melatih model AI generatif. Menggunakan *laporan penggunaan ringkasan*, mereka menganalisis pemanfaatan GPU harian selama 180 hari dan menemukan Tim A menghabiskan 200 jam GPU dari jenis instans tertentu—170 dari kuota yang dialokasikan dan 30 dari komputasi pinjaman. Administrator menagih Tim A berdasarkan penggunaan yang dilaporkan ini.

1. **Audit dan penyelesaian sengketa**: Tim keuangan mempertanyakan akurasi atribusi biaya, dengan alasan ketidakkonsistenan. Administrator dapat mengekspor *laporan tingkat tugas terperinci* untuk mengaudit perbedaan. Dengan mereferensikan silang stempel waktu, jenis instans, dan pekerjaan yang didahului dalam namespace tim, laporan secara transparan merekonsiliasi data penggunaan yang disengketakan.

# Rincian laporan dan rincian data
<a name="sagemaker-hyperpod-usage-reporting-content"></a>

SageMaker HyperPodLaporan penggunaan menyediakan dua lensa berbeda untuk menganalisis konsumsi sumber daya komputasi: **laporan ringkasan** untuk alokasi biaya dan **laporan terperinci** untuk audit granular. Ringkasan laporan agregat penggunaan seluruh cluster menurut tim atau namespace, menyoroti tren dalam komputasi yang dialokasikan versus pinjaman di seluruh sumber daya GPU, CPU, dan Neuron Core. Laporan terperinci menelusuri tugas individu, mengekspos metrik seperti jendela eksekusi, status tugas, dan pemanfaatan kelas prioritas. Di bagian ini, kami memecah struktur laporan ini, memahami metrik utamanya, dan mendemonstrasikan bagaimana administrator dan tim keuangan dapat mereferensikan silang tren ringkasan dengan data tingkat tugas untuk memvalidasi akurasi atribusi biaya, menyelesaikan perbedaan, dan mengoptimalkan infrastruktur bersama.

## Header laporan umum
<a name="sagemaker-hyperpod-usage-reporting-content-headers"></a>

Ringkasan dan laporan terperinci mencakup metadata berikut untuk mengontekstualisasikan data penggunaan:
+ **ClusterName: Nama** cluster Hyperpod yang diatur EKS tempat sumber daya dikonsumsi.
+ **Jenis:** Kategori laporan (`Summary Utilization Report`atau`Detailed Utilization Report`).
+ **Tanggal Dihasilkan:** Saat laporan dibuat (mis.,`2025-04-18`).
+ **Rentang Tanggal (UTC):** Jangka waktu yang tercakup (mis.,`2025-04-16 to 2025-04-18`).
+ **Periode data hilang:** Kesenjangan dalam pengumpulan data karena downtime cluster atau masalah pemantauan (misalnya,`2025-04-16 00:00:00 to 2025-04-19 00:00:00`).

## Ringkasan laporan
<a name="sagemaker-hyperpod-usage-reporting-content-summary"></a>

Laporan ringkasan memberikan gambaran tingkat tinggi per hari tentang konsumsi sumber daya komputasi di seluruh tim/ruang nama, dan jenis instance yang membedakan antara pemanfaatan yang dialokasikan (kuota cadangan) dan pinjaman (kumpulan pinjaman). Laporan ini ideal untuk pembuatan faktur, laporan atribusi biaya, atau perkiraan kapasitas.

*Contoh: Laporan ringkasan mungkin menunjukkan bahwa Tim A menggunakan 200 jam GPU—170 dari kuota yang dialokasikan dan 30 jam pinjaman.*

Berikut adalah rincian terstruktur dari kolom kunci dalam laporan ringkasan:
+ **Tanggal:** Tanggal penggunaan yang dilaporkan (mis.,`2025-04-18`).
+ **Namespace:** Namespace Kubernetes yang terkait dengan tim (mis.,). `hyperpod-ns-ml-team`
+ **Tim:** The Ownning team/department (mis.,`ml-team`).
+ **Jenis Instance:** Instance komputasi yang digunakan (misalnya, ml.g5.4xlarge).
+ **Total/Allocated/BorrowedPemanfaatan (Jam):** Rincian penggunaan GPU, CPU, atau Neuron Core berdasarkan kategori.

  Di mana:
  + **Total pemanfaatan = Pemanfaatan yang dialokasikan \$1 Pemanfaatan yang dipinjam**
  + **Pemanfaatan yang dialokasikan** adalah CPU GPU aktual, atau jam Neuron Core yang telah digunakan tim, dibatasi pada 100% dari kuota yang dialokasikan.
  + **Pemanfaatan yang dipinjam** adalah jam GPU, CPU, atau Neuron Core aktual yang telah digunakan tim *di luar kuota yang dialokasikan*, diambil dari kumpulan cluster bersama berdasarkan aturan prioritas Tata Kelola Tugas dan ketersediaan sumber daya.

Contoh: 72 jam GPU total (48 dialokasikan, 24 dipinjam).

**catatan**  
Hanya pemanfaatan total yang ditampilkan untuk ruang nama yang tidak dikelola oleh Tata Kelola Tugas.

## Laporan terperinci
<a name="sagemaker-hyperpod-usage-reporting-content-detailed"></a>

Laporan terperinci memberikan visibilitas tingkat forensik ke dalam penggunaan komputasi, memecah konsumsi sumber daya berdasarkan tugas, mengekspos metrik granular seperti jendela eksekusi tugas, status (misalnya, Berhasil, Gagal), dan penggunaan kelas prioritas. Laporan ini ideal untuk validasi perbedaan penagihan, atau memastikan kepatuhan terhadap kebijakan tata kelola.

Berikut adalah rincian terstruktur dari kolom kunci dalam laporan rinci:
+ **Tanggal:** Tanggal penggunaan yang dilaporkan (mis.,`2025-04-18`).
+ **Periode Start/End:** Exact Execution Window (UTC) untuk tugas tersebut. (misalnya,`19:54:34`)
+ **Namespace:** Namespace Kubernetes yang terkait dengan tim (mis.,). `hyperpod-ns-ml-team`
+ **Tim:** The Ownning team/department (mis.,`ml-team`).
+ **Tugas:** Pengidentifikasi untuk pekerjaan/pod (mis.,). `pytorchjob-ml-pytorch-job-2p5zt-db686`
+ **Instance: Instance** komputasi yang digunakan (misalnya,`ml.g5.4xlarge`).
+ **Status:** Hasil tugas (Berhasil, Gagal, Dahului).
+ **Pemanfaatan Total:** Total konsumsi (jam dan jumlah instans) sumber daya GPU, CPU, atau Neuron Core.
+ **Kelas Prioritas:** Tingkat prioritas yang ditetapkan (mis., Pelatihan-prioritas).

# Menghasilkan laporan
<a name="sagemaker-hyperpod-usage-reporting-generate"></a>

Panduan ini memberikan step-by-step petunjuk untuk mengonfigurasi dan mengelola pelaporan penggunaan untuk SageMaker HyperPod klaster Anda. Ikuti prosedur ini untuk menerapkan infrastruktur, membuat laporan kustom, dan menghapus sumber daya saat tidak lagi diperlukan.

## Siapkan pelaporan penggunaan
<a name="sagemaker-hyperpod-usage-reporting-install"></a>

**catatan**  
Sebelum mengonfigurasi infrastruktur laporan SageMaker HyperPod penggunaan di SageMaker HyperPod klaster Anda, pastikan Anda telah memenuhi semua prasyarat yang dirinci dalam hal ini. [https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md#prerequisites](https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md#prerequisites)

Pelaporan penggunaan di HyperPod membutuhkan:
+ Menerapkan AWS sumber daya laporan SageMaker HyperPod penggunaan menggunakan tumpukan CloudFormation 
+ Menginstal laporan SageMaker HyperPod penggunaan operator Kubernetes melalui bagan Helm

Anda dapat menemukan petunjuk penginstalan yang komprehensif di [ GitHub repositori laporan SageMaker HyperPod penggunaan](https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md). Secara khusus, ikuti langkah-langkah di bagian [Siapkan](https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md#set-up-usage-reporting).

## Hasilkan laporan penggunaan sesuai permintaan
<a name="sagemaker-hyperpod-usage-reporting-use"></a>

Setelah infrastruktur pelaporan penggunaan dan operator Kubernetes diinstal, data pekerjaan untuk SageMaker HyperPod klaster Anda secara otomatis dikumpulkan dan disimpan dalam bucket S3 yang Anda konfigurasikan selama penyiapan. Operator terus menangkap metrik penggunaan terperinci di latar belakang, membuat file data mentah di `raw` direktori bucket S3 yang Anda tentukan.

Untuk membuat laporan penggunaan sesuai permintaan, Anda dapat menggunakan `run.py` skrip yang disediakan di [ GitHub repositori laporan SageMaker HyperPod penggunaan](https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md) untuk mengekstrak dan mengekspor metrik penggunaan. Secara khusus, Anda dapat menemukan skrip dan instruksi komprehensif untuk membuat laporan di bagian [Hasilkan Laporan](https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md#generate-reports).

Skrip ini memungkinkan Anda untuk:
+ Tentukan rentang tanggal kustom untuk pembuatan laporan
+ Pilih antara jenis laporan terperinci dan ringkasan
+ Ekspor laporan dalam format CSV atau PDF
+ Laporan langsung ke lokasi S3 tertentu

## Bersihkan sumber daya pelaporan penggunaan
<a name="sagemaker-hyperpod-usage-reporting-cleanup"></a>

Ketika Anda tidak lagi membutuhkan infrastruktur pelaporan SageMaker HyperPod penggunaan, ikuti langkah-langkah di [Clean Up Resources](https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md#clean-up-resources) untuk membersihkan operator dan sumber daya Kubernetes (dalam AWS urutan itu). Penghapusan sumber daya yang tepat membantu mencegah biaya yang tidak perlu.

# Mengkonfigurasi penyimpanan untuk SageMaker HyperPod cluster yang diatur oleh Amazon EKS
<a name="sagemaker-hyperpod-eks-setup-storage"></a>

Admin cluster perlu mengonfigurasi penyimpanan bagi pengguna ilmuwan data untuk mengelola data input dan output serta menyimpan pos pemeriksaan selama pelatihan di SageMaker HyperPod cluster.

**Menangani kumpulan data besar (data input/output)**
+ **Akses dan manajemen** data: Ilmuwan data sering bekerja dengan kumpulan data besar yang diperlukan untuk melatih model pembelajaran mesin. Menentukan parameter penyimpanan dalam pengiriman pekerjaan memungkinkan mereka menentukan lokasi kumpulan data ini (misalnya, bucket Amazon S3, volume persisten di Kubernetes) dan bagaimana mereka diakses selama eksekusi pekerjaan.
+ **Optimalisasi kinerja**: Efisiensi mengakses data input dapat berdampak signifikan pada kinerja pekerjaan pelatihan. Dengan mengoptimalkan parameter penyimpanan, ilmuwan data dapat memastikan bahwa data dibaca dan ditulis secara efisien, mengurangi I/O kemacetan.

**Menyimpan pos pemeriksaan**
+ **Checkpointing dalam pelatihan**: Selama pekerjaan pelatihan yang berjalan lama, adalah praktik umum untuk menyimpan pos pemeriksaan—status perantara model. Hal ini memungkinkan ilmuwan data untuk melanjutkan pelatihan dari titik tertentu jika terjadi kegagalan, daripada memulai dari awal.
+ **Pemulihan dan eksperimen data**: Dengan menentukan lokasi penyimpanan untuk pos pemeriksaan, ilmuwan data dapat memastikan bahwa pos pemeriksaan ini disimpan dengan aman, berpotensi dalam sistem penyimpanan terdistribusi yang menawarkan redundansi dan ketersediaan tinggi. Ini sangat penting untuk pulih dari gangguan dan untuk bereksperimen dengan strategi pelatihan yang berbeda.

**Tip**  
Untuk pengalaman dan panduan langsung tentang cara menyiapkan penyimpanan untuk SageMaker HyperPod klaster yang diatur dengan Amazon EKS, lihat bagian berikut di Amazon EKS Support di [workshop](https://catalog.us-east-1.prod.workshops.aws/workshops/2433d39e-ccfe-4c00-9d3d-9917b729258e). SageMaker HyperPod   
[Siapkan Amazon FSx untuk Lustre SageMaker HyperPod](https://catalog.us-east-1.prod.workshops.aws/workshops/2433d39e-ccfe-4c00-9d3d-9917b729258e/en-US/01-cluster/06-fsx-for-lustre)
[Siapkan titik pemasangan untuk Amazon S3 [menggunakan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mountpoint.html) Mountpoint untuk Amazon](https://catalog.us-east-1.prod.workshops.aws/workshops/2433d39e-ccfe-4c00-9d3d-9917b729258e/en-US/01-cluster/09-s3-mountpoint) S3

# Menggunakan driver Amazon EBS CSI di SageMaker HyperPod cluster EKS
<a name="sagemaker-hyperpod-eks-ebs"></a>

SageMaker HyperPod mendukung driver Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI), yang mengelola siklus hidup volume Amazon EBS sebagai penyimpanan untuk volume Kubernetes yang Anda buat. Dengan driver Amazon EBS CSI, Anda dapat membuat, melampirkan, dan mengelola volume Amazon EBS untuk beban kerja pembelajaran mesin yang berjalan di cluster SageMaker HyperPod dengan orkestrasi Amazon EKS.

**Topics**
+ [

## Kemampuan penyimpanan kunci
](#sagemaker-hyperpod-eks-ebs-features)
+ [

## Kasus penggunaan
](#sagemaker-hyperpod-eks-ebs-use)
+ [

## Menyiapkan driver Amazon EBS CSI di SageMaker HyperPod kluster EKS
](#sagemaker-hyperpod-eks-ebs-setup)
+ [

## Menggunakan APIs
](#sagemaker-hyperpod-eks-ebs-setup-apis)

## Kemampuan penyimpanan kunci
<a name="sagemaker-hyperpod-eks-ebs-features"></a>

Driver Amazon EBS CSI aktif SageMaker HyperPod mendukung kemampuan penyimpanan berikut.
+ [Penyediaan statis: Mengaitkan volume Amazon EBS yang telah dibuat sebelumnya dengan volume persisten Kubernetes untuk digunakan di pod Anda.](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)
+ Penyediaan dinamis: Secara otomatis membuat volume Amazon EBS dan volume persisten terkait dari. [https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) Parameter dapat diteruskan [https://kubernetes.io/docs/concepts/storage/storage-classes/](https://kubernetes.io/docs/concepts/storage/storage-classes/)untuk kontrol halus atas pembuatan volume.
+ Pengubahan ukuran volume: Memperluas volume yang ada dengan memperbarui spesifikasi [https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)ukuran tanpa mengganggu beban kerja yang sedang berjalan. Ini sangat penting untuk menangani repositori model yang sedang tumbuh atau beradaptasi dengan node yang lebih besar tanpa gangguan layanan.
+ Snapshot volume: Membuat point-in-time snapshot volume untuk pencadangan, pemulihan, dan pembuatan versi data.
+ Volume blok: Menyediakan akses perangkat blok mentah untuk aplikasi berkinerja tinggi yang membutuhkan akses penyimpanan langsung.
+ Modifikasi volume: Mengubah properti volume seperti jenis, operasi input atau output per detik (IOPS), atau throughput menggunakan kelas [atribut volume](https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/).

*Untuk informasi selengkapnya tentang driver Amazon EBS CSI, lihat [Menggunakan penyimpanan volume Kubernetes dengan Amazon EBS dari Panduan Pengguna Amazon](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) EKS.*

Untuk informasi selengkapnya tentang penyimpanan ke pod di klaster Anda, lihat [Penyimpanan dari Dokumentasi](https://kubernetes.io/docs/concepts/storage/) *Kubernetes*.

## Kasus penggunaan
<a name="sagemaker-hyperpod-eks-ebs-use"></a>

Integrasi driver Amazon EBS CSI memungkinkan beberapa kasus penggunaan utama untuk beban kerja pelatihan dan inferensi pada kluster EKS. SageMaker HyperPod 

**Beban kerja pelatihan**
+ Penyimpanan kumpulan data: Volume penyediaan untuk kumpulan data pelatihan yang bertahan di seluruh pod dimulai ulang
+ Penyimpanan pos pemeriksaan: Simpan pos pemeriksaan model dan hasil pelatihan menengah
+ Artefak bersama: Akses kumpulan data umum dan artefak model di beberapa pekerjaan pelatihan

**Beban kerja inferensi**
+ Penyimpanan model: Secara dinamis menyediakan volume berukuran tepat berdasarkan persyaratan model
+ Container caching: Buat penyimpanan sementara untuk meningkatkan kinerja inferensi
+ Pencatatan peristiwa: Simpan hasil inferensi dan log dengan penyimpanan persisten

## Menyiapkan driver Amazon EBS CSI di SageMaker HyperPod kluster EKS
<a name="sagemaker-hyperpod-eks-ebs-setup"></a>

Driver Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) memungkinkan Anda menyediakan dan mengelola volume Amazon EBS secara dinamis untuk beban kerja kontainer yang berjalan di cluster dengan orkestrasi EKS. SageMaker HyperPod Bagian ini memandu Anda untuk menginstal dan mengonfigurasi driver Amazon EBS CSI untuk mengaktifkan penyimpanan persisten untuk beban kerja pembelajaran mesin Anda.

### Prasyarat
<a name="sagemaker-hyperpod-eks-ebs-setup-prerequisite"></a>

Sebelum memulai, lakukan hal berikut:
+ [Instal dan konfigurasikan AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)
+ [Buat SageMaker HyperPod cluster dengan orkestrasi Amazon EKS](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-console-ui-create-cluster.html)
+ [Instal driver Amazon EBS CSI dengan versi v1.47.0](https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/CHANGELOG.md#v1470)

### Izin tambahan
<a name="sagemaker-hyperpod-eks-ebs-setup-permissions"></a>

*Untuk menyiapkan add-on driver Amazon EBS CSI, ikuti petunjuk di [Gunakan penyimpanan volume Kubernetes dengan Amazon EBS dari Panduan Pengguna Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html).* Anda juga harus menambahkan izin tambahan berikut ke peran IAM yang digunakan untuk menjalankan add-on driver. Perhatikan bahwa ini adalah peran IAM yang ditentukan dalam konfigurasi akun layanan Anda untuk add-on driver, bukan peran eksekusi HyperPod klaster.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
    [
        {
            "Effect": "Allow",
            "Action":
            [
                "sagemaker:AttachClusterNodeVolume",
                "sagemaker:DetachClusterNodeVolume"
            ],
            "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*"
        },
        {
            "Effect": "Allow",
            "Action":
            [
                "eks:DescribeCluster"
            ],
            "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name"
        }
    ]
}
```

------

## Menggunakan APIs
<a name="sagemaker-hyperpod-eks-ebs-setup-apis"></a>

Sebagai alternatif, Anda dapat menggunakan operasi [AttachClusterNodeVolume](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AttachClusterNodeVolume.html)dan [DetachClusterNodeVolume](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DetachClusterNodeVolume.html)API untuk melampirkan dan melepaskan volume Amazon EBS Anda ke instance cluster SageMaker HyperPod EKS.

**Persyaratan utama untuk menggunakan ini APIs termasuk yang berikut.**
+ Volume Amazon EBS dan kluster SageMaker HyperPod EKS harus dimiliki oleh yang sama Akun AWS.
+ Prinsipal panggilan memerlukan izin minimum khusus untuk berhasil melakukan operasi melampirkan atau melepaskan. Untuk informasi selengkapnya tentang izin minimum, lihat bagian berikut.
+ Setelah melampirkan volume ke HyperPod node Anda, ikuti instruksi dalam [Mengakses node SageMaker HyperPod cluster untuk mengakses node](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-access-through-terminal.html) cluster, dan [Buat volume tersedia untuk digunakan untuk](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-using-volumes.html) me-mount volume yang terpasang.

### Izin yang diperlukan untuk `sagemaker:AttachClusterNodeVolume`
<a name="sagemaker-hyperpod-eks-ebs-setup-apis-attach"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
    [
        {
            "Effect": "Allow",
            "Action":
            [
                "sagemaker:AttachClusterNodeVolume"
            ],
            "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*"
        },
        {
            "Effect": "Allow",
            "Action":
            [
                "eks:DescribeCluster"
            ],
            "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name"
        },
        {
            "Effect": "Allow",
            "Action":
            [
                "ec2:AttachVolume",
                "ec2:DescribeVolumes"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:volume/*"
        }
    ]
}
```

------

### Izin yang diperlukan untuk `sagemaker:DetachClusterNodeVolume`
<a name="sagemaker-hyperpod-eks-ebs-setup-apis-detach"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
    [
        {
            "Effect": "Allow",
            "Action":
            [
                "sagemaker:DetachClusterNodeVolume"
            ],
            "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*"
        },
        {
            "Effect": "Allow",
            "Action":
            [
                "eks:DescribeCluster"
            ],
            "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name"
        },
        {
            "Effect": "Allow",
            "Action":
            [
                "ec2:DetachVolume",
                "ec2:DescribeVolumes"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:volume/*"
        }
    ]
}
```

------

### Izin yang diperlukan untuk kunci AWS KMS
<a name="sagemaker-hyperpod-eks-ebs-setup-apis-kms"></a>

Tambahkan AWS KMS izin berikut hanya jika Anda menggunakan kunci KMS yang dikelola pelanggan untuk mengenkripsi volume Amazon EBS yang dilampirkan ke node cluster. HyperPod Izin ini tidak diperlukan jika Anda menggunakan kunci KMS yang AWS dikelola (opsi enkripsi default).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "key-default-1",
    "Statement":
    [
        {
            "Effect": "Allow",
            "Principal":
            {
                "AWS": "arn:aws:iam::111122223333:role/caller-role"
            },
            "Action": "kms:DescribeKey",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Principal":
            {
                "AWS": "arn:aws:iam::111122223333:role/caller-role"
            },
            "Action": "kms:CreateGrant",
            "Resource": "*",
            "Condition":
            {
                "StringEquals":
                {
                    "kms:CallerAccount": "111122223333",
                    "kms:ViaService": "ec2.us-east-1.amazonaws.com"
                },
                "ForAnyValue:StringEquals":
                {
                    "kms:EncryptionContextKeys": "aws:ebs:id"
                },
                "Bool":
                {
                    "kms:GrantIsForAWSResource": true
                },
                "ForAllValues:StringEquals":
                {
                    "kms:GrantOperations":
                    [
                        "Decrypt"
                    ]
                }
            }
        }
    ]
}
```

------

**catatan**  
 AWS KMS Izin ini tidak diperlukan `sagemaker:DetachClusterNodeVolume` saat melepaskan volume Cluster Auto Volume Attachment (CAVA) yang dienkripsi dengan kunci KMS yang dikelola pelanggan.

# Mengonfigurasi label dan taint Kubernetes kustom di Amazon SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints"></a>

 SageMaker HyperPod Cluster Amazon dengan orkestrator Amazon Elastic Kubernetes Service (Amazon EKS) mendukung label Kubernetes kustom dan taint untuk node dalam grup instance. Label dan taints adalah mekanisme penjadwalan dan organisasi mendasar di Kubernetes yang memberi Anda kontrol yang baik atas penempatan pod dan pemanfaatan sumber daya.

Label adalah pasangan nilai kunci yang dapat dilampirkan ke objek Kubernetes, memungkinkan Anda untuk mengatur dan memilih sumber daya berdasarkan atribut. Taints, bekerja sama dengan toleransi, adalah properti khusus node yang memengaruhi penjadwalan pod dengan menolak pod yang tidak memiliki toleransi yang cocok. Bersama-sama, mekanisme ini memungkinkan Anda untuk mengisolasi beban kerja, menetapkannya sesuai dengan spesifikasi perangkat keras, dan memastikan pemanfaatan sumber daya yang optimal.

## Kasus penggunaan umum
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-use-cases"></a>

Berikut ini adalah skenario umum di mana label dan noda khusus bermanfaat:
+ **Mencegah pod sistem pada instans mahal** - Menerapkan taints ke instance GPU untuk mencegah pod sistem dan beban kerja non-kritis lainnya menghabiskan sumber daya komputasi yang mahal
+ **Integrasi dengan perkakas yang ada** - Terapkan label yang sesuai dengan pola infrastruktur yang telah ditetapkan organisasi Anda dan konfigurasi afinitas simpul

## Mengkonfigurasi label dan noda
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-configure"></a>

Anda dapat mengonfigurasi label dan taint Kubernetes kustom di tingkat grup instance menggunakan `KubernetesConfig` parameter dalam konfigurasi klaster Anda. Label dan taints diterapkan ke semua node dalam grup instance dan bertahan sepanjang siklus hidup cluster.

`KubernetesConfig`Parameternya bersifat deklaratif, artinya Anda menentukan status lengkap label dan taint yang diinginkan untuk grup instance. SageMaker HyperPod kemudian merekonsiliasi keadaan sebenarnya dari node agar sesuai dengan keadaan yang diinginkan ini.
+ **Menambahkan label atau noda** - Sertakan label atau noda baru `KubernetesConfig` bersama dengan label yang sudah ada yang ingin Anda simpan
+ **Memperbarui label atau noda** - Ubah nilai `KubernetesConfig` untuk label atau noda yang ingin Anda ubah, dan sertakan semua yang ingin Anda simpan
+ **Menghapus label atau noda** - Hilangkan label atau noda yang ingin Anda hapus dari`KubernetesConfig`, simpan hanya label yang ingin Anda pertahankan

### Membuat cluster dengan label dan taints
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-create"></a>

Saat membuat SageMaker HyperPod cluster baru, sertakan `KubernetesConfig` parameter dalam konfigurasi grup instans Anda. Contoh berikut menunjukkan cara membuat cluster dengan label kustom dan taints:

```
{
    "ClusterName": "my-cluster",
    "InstanceGroups": [{
        "InstanceGroupName": "worker-group-1",
        "InstanceType": "ml.p4d.24xlarge",
        "InstanceCount": 4,
        "LifeCycleConfig": {
            "SourceS3Uri": "s3://my-bucket/lifecycle-config.sh",
            "OnCreate": "on-create.sh"
        },
        "ExecutionRole": "arn:aws:iam::123456789012:role/HyperPodExecutionRole",
        "ThreadsPerCore": 1,
        "KubernetesConfig": { 
            "Labels": {
                "env": "prod",
                "team": "ml-training",
                "gpu-type": "a100"
            },
            "Taints": [{
                "key": "gpu",
                "value": "true",
                "effect": "NoSchedule"
            },
            {
                "key": "dedicated",
                "value": "ml-workloads",
                "effect": "NoExecute"
            }]
        }
    }],
    "VpcConfig": {
        "SecurityGroupIds": ["sg-0123456789abcdef0"],
        "Subnets": ["subnet-0123456789abcdef0", "subnet-0123456789abcdef1"]
    },
    "Orchestrator": {
        "Eks": {
            "ClusterArn": "arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster"
        }
    }
}
```

Dalam contoh ini:
+ **Label** - Tiga label khusus diterapkan:`env=prod`,`team=ml-training`, dan `gpu-type=a100`
+ **Taints** - Dua taint dikonfigurasi untuk mencegah penjadwalan pod yang tidak diinginkan

### Memperbarui label dan noda pada cluster yang ada
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-update"></a>

Anda dapat memodifikasi label dan taint pada klaster yang ada menggunakan `UpdateCluster` API. Contoh berikut menunjukkan cara memperbarui `KubernetesConfig` untuk grup instance:

```
{
    "ClusterName": "my-cluster",
    "InstanceGroups": [{
        "InstanceGroupName": "worker-group-1",
        "KubernetesConfig": { 
            "Labels": {
                "env": "prod",
                "team": "ml-training",
                "gpu-type": "a100",
                "cost-center": "ml-ops"
            },
            "Taints": [{
                "key": "gpu",
                "value": "true",
                "effect": "NoSchedule"
            }]
        }
    }]
}
```

Saat Anda memperbarui label dan taints, SageMaker HyperPod terapkan perubahan ke semua node dalam grup instance. Layanan mengelola transisi dari keadaan saat ini ke keadaan yang diinginkan, yang dapat Anda pantau menggunakan `DescribeCluster` API.

## Memantau label dan aplikasi noda
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-monitor"></a>

SageMaker HyperPod menyediakan APIs untuk memantau status label dan taint saat diterapkan ke node cluster Anda.

### Memeriksa status tingkat cluster
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-describe-cluster"></a>

Gunakan `DescribeCluster` API untuk melihat status label dan noda saat ini dan yang diinginkan di tingkat grup instans. Contoh berikut menunjukkan struktur respon:

```
{
    "ClusterName": "my-cluster",
    "ClusterStatus": "InService",
    "InstanceGroups": [{
        "InstanceGroupName": "worker-group-1",
        "InstanceType": "ml.p4d.24xlarge",
        "CurrentInstanceCount": 4,
        "TargetInstanceCount": 4,
        "KubernetesConfig": {
            "CurrentLabels": {
                "env": "prod",
                "team": "ml-training",
                "gpu-type": "a100"
            },
            "DesiredLabels": {
                "env": "prod",
                "team": "ml-training",
                "gpu-type": "a100"
            },
            "CurrentTaints": [{
                "key": "gpu",
                "value": "true",
                "effect": "NoSchedule"
            }],
            "DesiredTaints": [{
                "key": "gpu",
                "value": "true",
                "effect": "NoSchedule"
            }]
        }
    }]
}
```

Ketika `CurrentLabels` cocok `DesiredLabels` dan `CurrentTaints` cocok`DesiredTaints`, semua node dalam grup instance memiliki konfigurasi yang ditentukan diterapkan. Jika mereka berbeda, cluster masih dalam proses menerapkan perubahan.

### Memeriksa status node individu
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-describe-node"></a>

Untuk detail tingkat simpul, gunakan `DescribeClusterNode` API untuk memeriksa label dan konfigurasi taint dari masing-masing node. Contoh berikut menunjukkan struktur respon:

```
{
    "NodeDetails": { 
        "InstanceId": "i-0123456789abcdef0",
        "InstanceGroupName": "worker-group-1",
        "InstanceType": "ml.p4d.24xlarge",
        "InstanceStatus": {
            "Status": "Running",
            "Message": "Node is healthy"
        },
        "LifeCycleConfig": {
            "SourceS3Uri": "s3://my-bucket/lifecycle-config.sh",
            "OnCreate": "on-create.sh"
        },
        "LaunchTime": 1699564800.0,
        "KubernetesConfig": {
            "CurrentLabels": {
                "env": "prod",
                "team": "ml-training",
                "gpu-type": "a100"
            },
            "DesiredLabels": {
                "env": "prod",
                "team": "ml-training",
                "gpu-type": "a100"
            },
            "CurrentTaints": [{
                "key": "gpu",
                "value": "true",
                "effect": "NoSchedule"
            }],
            "DesiredTaints": [{
                "key": "gpu",
                "value": "true",
                "effect": "NoSchedule"
            }]
        }
    }
}
```

Pemantauan tingkat simpul berguna untuk pemecahan masalah saat label atau taint tidak diterapkan dengan benar ke node tertentu, atau saat Anda perlu memverifikasi konfigurasi instance tertentu.

## Awalan yang dicadangkan
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-reserved-prefixes"></a>

Awalan tertentu dicadangkan untuk penggunaan sistem dan tidak boleh digunakan untuk label atau noda khusus. Awalan berikut dicadangkan:
+ `kubernetes.io/`- Dicadangkan untuk komponen inti Kubernetes
+ `k8s.io/`- Dicadangkan untuk komponen inti Kubernetes
+ `sagemaker.amazonaws.com/`- Dicadangkan untuk SageMaker HyperPod
+ `eks.amazonaws.com/`- Dicadangkan untuk Amazon EKS
+ `k8s.aws/`- Dicadangkan untuk Amazon EKS
+ `karpenter.sh/`- Dicadangkan untuk penskalaan otomatis Karpenter

Label dan noda dengan awalan ini dikelola oleh komponen sistem dan tidak boleh ditimpa dengan nilai khusus.