Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Meluncurkan instans dengan OCR (Cadangan Kapasitas Sesuai Permintaan)
Dengan CR Kapasitas Sesuai Permintaan (ODCR), Anda dapat mencadangkan kapasitas komputasi komputasi Amazon EC2 komputasi komputasi hingga kapan pun. Dengan cara ini, Anda dapat membuat dan mengelola dan mengelola dan mengelola dan mengelola dan mengelola secara independen dari akun penagihan yang ditawarkan Savings Plans
Anda dapat membuat konfigurasi open
atau CR Kapasitas targeted
Sesuai Permintaan. OdCR terbuka mencakup setiap contoh yang cocok dengan atribut ODCR. Atribut ini adalah jenis instance, platform, dan Availability Zone. Anda harus secara eksplisit mendefinisikan ODCR Target dalam konfigurasi klaster. Untuk menentukan apakah ODCR adalah open
atautargeted
, jalankan perintah AWS CLI EC2 describe-capacity-reservation
.
Anda juga dapat membuat ODCR dalam grup penempatan klaster yang disebut reservasi kapasitas sesuai permintaan grup penempatan klaster (CPG ODCR).
Beberapa ODCR dapat dikelompokkan dalam grup sumber daya. Ini dapat didefinisikan dalam file konfigurasi cluster. Untuk informasi lebih lanjut tentang resource group, lihat Apa itu resource group? dalam Panduan Pengguna Resource Groups dan Tag.
Menggunakan ODCR dengan AWS ParallelCluster
AWS ParallelClustermendukung ODCR terbuka. Saat menggunakan OCR terbuka, Anda tidak perlu menentukan apa pun. AWS ParallelCluster Instans dipilih secara otomatis untuk klaster. Anda dapat menentukan grup penempatan yang ada atau AWS ParallelCluster membuat grup baru untuk Anda.
ODCR dalam konfigurasi cluster
Dimulai dengan AWS ParallelCluster versi 3.3.0, Anda dapat menentukan ODCR dalam file konfigurasi cluster, tanpa perlu menentukan penggantian run-instance EC2.
Anda mulai dengan membuat reservasi kapasitas dan grup sumber daya menggunakan metode yang dijelaskan dalam dokumentasi tertaut untuk masing-masing. Anda harus menggunakan AWS CLI metode untuk membuat grup reservasi kapasitas. Jika Anda menggunakannyaAWS Management Console, Anda hanya dapat membuat grup sumber daya berbasis Tag atau Stack. Grup sumber daya berbasis tag dan berbasis Stack tidak didukung oleh AWS ParallelCluster atau AWS CLI saat meluncurkan instans dengan reservasi kapasitas.
Setelah pemesanan kapasitas dan grup sumber daya dibuat, tentukan di SlurmQueues/CapacityReservationTargetatau/SlurmQueuesComputeResources/CapacityReservationTargetseperti yang ditunjukkan pada konfigurasi cluster contoh berikut. Ganti nilai
yang menyala tinggi dalam warna merah dengan nilai valid Anda.
Image: Os:
os
HeadNode: InstanceType:head_node_instance
Networking: SubnetId:public_subnet_id
Ssh: KeyName:key_name
Scheduling: Scheduler:scheduler
SlurmQueues: - Name: queue1 Networking: SubnetIds: -private_subnet_id
ComputeResources: - Name: cr1 Instances: - InstanceType:instance
MaxCount:max_queue_size
MinCount:max_queue_size
Efa: Enabled: true CapacityReservationTarget: CapacityReservationResourceGroupArn:capacity_reservation_arn
Awas
-
Dimulai dengan AWS ParallelCluster versi 3.3.0, kami tidak merekomendasikan metode ini. Bagian ini tetap sebagai referensi untuk implementasi menggunakan versi sebelumnya.
-
Metode ini tidak kompatibel dengan Beberapa jenis contoh alokasi dengan Slurm.
Support untuk targeted
ODCR ditambahkan di AWS ParallelCluster 3.1.1. Dalam rilis ini, mekanisme diperkenalkan yang menimpa RunInstances
parameter EC2 dan meneruskan informasi tentang reservasi yang akan digunakan untuk setiap sumber daya komputasi yang dikonfigurasi. AWS ParallelCluster Mekanisme ini kompatibel dengan targeted
ODCR. Namun, ketika Anda menggunakan targeted
ODCR, Anda harus menentukan konfigurasi run-instances
override. ODCR yang ditargetkan harus didefinisikan secara eksplisit dalam perintah EC2. AWS CLI run-instances
Untuk menentukan apakah ODCR adalah open
atau targeted
menjalankan perintah AWS CLI EC2. describe-capacity-reservation
Beberapa ODCR dapat dikelompokkan dalam grup sumber daya. Ini dapat digunakan dalam run-instance override untuk menargetkan beberapa ODCR pada saat yang bersamaan.
Jika Anda menggunakan targeted
ODCR, Anda dapat menentukan grup penempatan. Namun, Anda juga perlu menentukan konfigurasi run-instances
override.
Misalkan AWS membuat targeted
ODCR untuk Anda atau Anda memiliki serangkaian Instans Cadangan tertentu. Kemudian, Anda tidak dapat menentukan grup penempatan. Aturan yang dikonfigurasi AWS mungkin bertentangan dengan setelan grup penempatan. Jadi, jika grup penempatan diperlukan untuk aplikasi Anda, gunakan CPG ODCR. Dalam kedua kasus, Anda juga harus menentukan konfigurasi run-instances
override.
Jika Anda menggunakan CPG ODCR, Anda harus menentukan konfigurasi run-instances
penggantian dan Anda harus menentukan grup penempatan yang sama dalam konfigurasi klaster.
Menggunakan Instans cadangan dengan Instans AWS ParallelCluster
Instans cadangan berbeda dengan Reservasi Kapasitas (ODCR). Ada 2 jenis instance cadangan. Instans Cadangan Regional tidak memiliki kapasitas cadangan. Instans zonal mencadangkan kapasitas di Availability Zone yang ditentukan.
Jika Anda memiliki Instans Cadangan Regional, tidak ada reservasi kapasitas dan Anda bisa mendapatkan Kesalahan Kapasitas Tidak Cukup. Jika Anda memiliki Instans Cadangan zona, Anda memiliki reservasi kapasitas, tetapi tidak ada parameter run-instances
API yang dapat Anda gunakan untuk menentukannya.
Instans cadangan didukung oleh AWS ParallelCluster versi apa pun. Anda tidak harus menentukan apa pun AWS ParallelCluster dan instans secara otomatis dipilih.
Saat menggunakan Instans Cadangan zona, Anda dapat menghindari potensi Kesalahan Kapasitas Tidak Cukup dengan menghilangkan spesifikasi grup penempatan dalam konfigurasi klaster.
Awas
-
Dimulai dengan AWS ParallelCluster versi 3.3.0, kami tidak merekomendasikan metode ini. Bagian ini tetap sebagai referensi untuk implementasi menggunakan versi sebelumnya.
-
Metode ini tidak kompatibel dengan Beberapa jenis contoh alokasi dengan Slurm.
Anda dapat mengganti RunInstances
parameter EC2 untuk setiap sumber daya komputasi yang dikonfigurasi dalam antrian klaster. Untuk melakukannya, buat /opt/slurm/etc/pcluster/run_instances_overrides.json
file di head node cluster dengan konten cuplikan kode berikut:
-
${queue_name}
adalah nama antrean yang ingin Anda terapkan. -
${compute_resource_name}
adalah sumber komputasi yang ingin Anda terapkan. -
${overrides}
adalah objek JSON arbitrer yang berisi daftarRunInstances
penggantian yang akan digunakan untuk kombinasi spesifik antrian dan tipe instance. Sintaks menimpa perlu mengikuti spesifikasi yang sama yang didokumentasikan dalam panggilan boto3 run_instances.
{ "${queue_name}": { "${compute_resource_name}": { ${overrides} }, ... }, ... }
Misalnya, JSON berikut mengkonfigurasi grup ODCR yang akan digunakan group_arn
untuk p4d.24xlarge
instance yang dikonfigurasi di dan. my-queue
my-compute-resource
{
"my-queue"
: {"my-compute-resource"
: { "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationResourceGroupArn":"group_arn"
} } } } }
Setelah file JSON ini dibuat, AWS ParallelCluster daemon yang bertanggung jawab untuk penskalaan klaster secara otomatis menggunakan konfigurasi penggantian misalnya diluncurkan. Untuk mengonfirmasi bahwa parameter yang ditentukan sedang digunakan untuk penyediaan instance, lihat file log berikut:
-
/var/log/parallelcluster/clustermgtd
(untuk kapasitas statis) -
/var/log/parallelcluster/slurm_resume.log
(untuk kapasitas dinamis)
Jika parameternya benar, Anda akan menemukan entri log yang berisi berikut ini:
Found RunInstances parameters override. Launching instances with: <parameters_list>
Awas
-
Dimulai dengan AWS ParallelCluster versi 3.3.0, kami tidak merekomendasikan metode ini. Bagian ini tetap sebagai referensi untuk implementasi menggunakan versi sebelumnya.
-
Metode ini tidak kompatibel denganBeberapa alokasi tipe instans dengan Slurm.
-
Buat grup sumber daya, untuk mengelompokkan kapasitas.
$
aws resource-groups create-group --name
EC2CRGroup
\ --configuration '{"Type":"AWS::EC2::CapacityReservationPool"}' '{"Type":"AWS::ResourceGroups::Generic", "Parameters": [{"Name": "allowed-resource-types", "Values": ["AWS::EC2::CapacityReservation"]}]}'catatan
Grup sumber daya tidak mendukung sumber daya yang dibagikan oleh akun lain.
Jika target ODCR dibagikan oleh akun lain, Anda tidak perlu membuat grup sumber daya. Gunakan
CapacityReservationId
alih-alih grup sumber daya pada langkah 3.#!/bin/bash set -e # Override run_instance attributes cat > /opt/slurm/etc/pcluster/run_instances_overrides.json << EOF { "my-queue": { "my-compute-resource": { "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-abcdef01234567890" } } } } } EOF
Tambahkan reservasi kapasitas ke grup sumber daya. Setiap kali Anda membuat ODCR baru, tambahkan ke Reservasi Grup. Ganti
dengan ID akun Anda,ACCOUNT_ID
dengan ID reservasi kapasitas Anda, danPLACEHOLDER_CAPACITY_RESERVATION
dengan Wilayah AWS ID Anda (misalnya, us-timur-1).REGION_ID
$
aws resource-groups group-resources --region
REGION_ID
--groupEC2CRGroup
\ --resource-arns arn:aws:ec2:REGION_ID
:ACCOUNT_ID
:capacity-reservation/PLACEHOLDER_CAPACITY_RESERVATION
Buat dokumen kebijakan di komputer lokal Anda. Ganti
dengan ID akun Anda danACCOUNT_ID
dengan Wilayah AWS ID Anda (misalnya, us-timur-1).REGION_ID
cat > policy.json << EOF { "Version": "2012-10-17", "Statement": [ { "Sid": "RunInstancesInCapacityReservation", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:
REGION_ID
:ACCOUNT_ID
:capacity-reservation/*", "arn:aws:resource-groups:REGION_ID
:ACCOUNT_ID
:group/*" ] } ] } EOF -
Buat kebijakan IAM tentang Akun AWS penggunaan file json yang Anda buat.
$
aws iam create-policy --policy-name
RunInstancesCapacityReservation
--policy-document file://policy.json -
Buat skrip penginstalan posting berikut secara lokal pada instance dan beri nama.
postinstall.sh
Ganti
dengan Akun AWS ID Anda, danACCOUNT_ID
dengan Wilayah AWS ID Anda (misalnya, us-timur-1).REGION_ID
#!/bin/bash set -e # Override run_instance attributes cat > /opt/slurm/etc/pcluster/run_instances_overrides.json << EOF { "my-queue": { "my-compute-resource": { "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationResourceGroupArn": "arn:aws:resource-groups:
REGION_ID
:ACCOUNT_ID
:group/EC2CRGroup
" } } } } } EOFUnggah file ke keranjang Amazon S3. Ganti
S3_NAME_BUCKET dengan nama bucket
S3 spesifik Anda.$
aws s3 mb s3://
S3_NAME_BUCKET
aws s3 cp postinstall.sh s3://S3_NAME_BUCKET
/postinstall.sh -
Buat konfigurasi klaster lokal, ganti placeholder dengan nilai Anda sendiri.
Region:
REGION_ID
Image: Os: alinux2 HeadNode: InstanceType: c5.2xlarge Ssh: KeyName:YOUR_SSH_KEY
Iam: S3Access: - BucketName:S3_NAME_BUCKET
AdditionalIamPolicies: - Policy: arn:aws:iam::ACCOUNT_ID
:policy/RunInstancesCapacityReservation ## This post-install script is executed after the node is configured. ## It is used to install scripts at boot time and specific configurations ## In the script below we are overriding the calls to RunInstance to force ## the provisioning of our my-queue partition to go through ## the On-Demand Capacity Reservation CustomActions: OnNodeConfigured: Script: s3://S3_NAME_BUCKET
/postinstall.sh Networking: SubnetId:YOUR_PUBLIC_SUBNET_IN_TARGET_AZ
Scheduling: Scheduler: slurm SlurmQueues: - Name: my-queue ComputeResources: - MinCount: 0 MaxCount: 100 InstanceType: p4d.24xlarge Name:my-compute-resource
Efa: Enabled: true Networking: ## PlacementGroup: ## Enabled: true ## Keep PG disabled if using targeted ODCR SubnetIds: -YOUR_PRIVATE_SUBNET_IN_TARGET_AZ
-
Buat cluster.
Gunakan perintah berikut ini untuk membuat klaster. Ganti
dengan nama file konfigurasi Anda,cluster-config.yaml
dengan nama klaster Anda, dancluster-dl
REGION_ID dengan ID
Wilayah Anda (misalnya, us-east-1).$
pcluster create-cluster --cluster-configuration
cluster-config.yaml
--cluster-namecluster-dl
--regionREGION_ID
Setelah cluster dibuat, skrip pasca-instal berjalan di simpul kepala. Script membuat
run_instances_overrides.json
file dan menimpa panggilan untuk memaksa penyediaan partisiRunInstances
untuk pergi melalui On-Demand Capacity Reservation.AWS ParallelClusterDaemon yang bertanggung jawab untuk penskalaan klaster secara otomatis menggunakan konfigurasi ini untuk instance baru yang diluncurkan. Untuk mengonfirmasi bahwa parameter yang ditentukan digunakan untuk instance penyediaan, Anda dapat melihat file log berikut:
-
/var/log/parallelcluster/clustermgtd
(untuk kapasitas statis - MinCount> 0
) -
/var/log/parallelcluster/slurm_resume.log
(untuk kapasitas dinamis)
Jika parameternya benar, Anda akan menemukan entri log berisi yang berikut ini.
Found RunInstances parameters override. Launching instances with: <parameters_list>
-
Memperbarui RunInstances
menimpa
Anda dapat memperbarui konfigurasi JSON yang dihasilkan kapan saja tanpa menghentikan armada komputasi. Setelah perubahan diterapkan, semua instance baru diluncurkan dengan konfigurasi yang diperbarui. Jika Anda perlu menerapkan konfigurasi yang diperbarui untuk menjalankan node, daur ulang node dengan memaksa penghentian instance dan menunggu AWS ParallelCluster untuk mengganti node tersebut. Anda dapat melakukan ini dengan mengakhiri instance dari konsol EC2 atauAWS CLI, atau dengan mengatur node Slurm dalam keadaan atau. DOWN
DRAIN
Gunakan perintah berikut untuk mengatur Slurm node ke DOWN
atauDRAIN
.
$
scontrol update nodename=
my-queue-dy-my-compute-resource-1
state=down reason=your_reason
scontrol update nodename=my-queue-dy-my-compute-resource-1
state=drain reason=your_reason