View a markdown version of this page

Lingkungan komputasi di Instans Terkelola Amazon ECS - AWS Batch

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

Lingkungan komputasi di Instans Terkelola Amazon ECS

AWS Batch lingkungan komputasi di Instans Terkelola Amazon ECS menggunakan blok managedInstancesProvider konfigurasi di dalamnya. computeResources Struktur ini sejalan dengan model penyedia kapasitas Amazon ECS dan mandiri. Semua konfigurasi jaringan, profil instance, dan pemilihan instans berada di dalam blok ini.

Daftar berikut menjelaskan parameter lingkungan komputasi untuk lingkungan komputasi Instans Terkelola Amazon ECS.

type(tingkat atas)

Harus berupa MANAGED.

"type": "MANAGED"
computeResources.type

Harus berupa ECS_MANAGED_INSTANCES. Tidak seperti lingkungan komputasi Fargate dan Amazon EC2, kapasitas Spot tidak dinyatakan sebagai tipe terpisah (tidak ECS_MANAGED_INSTANCES_SPOT ada tipe). Sebagai gantinya, capacityOptionType gunakan inside managedInstancesProvider.instanceLaunchTemplate untuk menentukan On-Demand atau Spot kapasitas.

"type": "ECS_MANAGED_INSTANCES"
computeResources.maxvCpus

Jumlah maksimum vCPU yang dapat diskalakan oleh lingkungan komputasi. Bekerja sama seperti maxvCpus untuk lingkungan komputasi Fargate — ini membatasi total vCPU yang dikonsumsi di semua pekerjaan yang sedang berjalan.

penting

Saat ini, AWS Batch evaluasi maxvCpus berdasarkan total vCPU yang diminta oleh menjalankan pekerjaan, bukan total vCPU dari instans Amazon EC2 yang mendasarinya. Instans Terkelola Amazon ECS menggunakan alokasi instans multi-penyewa. Akibatnya, kapasitas vCPU instans aktual yang disediakan mungkin melebihi total vCPU pekerjaan. Lingkungan komputasi mungkin menyediakan lebih banyak kapasitas instance daripada maxvCpus nilai yang tersirat. Perilaku ini mungkin disempurnakan dalam pembaruan mendatang.

computeResources.managedInstancesProvider

Diperlukan untuk lingkungan komputasi Instans Terkelola Amazon ECS. Berisi semua Instances-specific konfigurasi Amazon ECS Managed. Untuk informasi selengkapnya, lihat ManagedInstancesProvider Referensi API Layanan Kontainer Amazon Elastic. Bidang-bidang berikut tersedia:

infrastructureRoleArn

Wajib. ARN dari peran IAM yang diasumsikan Amazon ECS untuk mengelola instans Amazon EC2 atas nama Anda. Peran ini harus memiliki kebijakan kepercayaanecs.amazonaws.com. Kepala sekolah IAM Anda harus memiliki iam:PassRole izin untuk peran ini dengan kondisi iam:PassedToService: ecs.amazonaws.com tersebut.

propagateTags

Tidak wajib. Mengontrol apakah tag pada penyedia kapasitas disebarkan ke instans Amazon EC2 yang diluncurkan. Nilai yang valid adalah CAPACITY_PROVIDER dan NONE.

instanceLaunchTemplate

Wajib. Berisi konfigurasi peluncuran instance:

ec2InstanceProfileArn

Wajib. ARN profil instans Amazon EC2 untuk instans terkelola. Profil instance ini harus menggunakan kebijakan AmazonECSInstanceRolePolicyForManagedInstances terkelola dengan kebijakan kepercayaan untukec2.amazonaws.com.

networkConfiguration

Wajib. Menentukan konfigurasi VPC untuk instans terkelola.

  • subnets — Diperlukan. Subnet VPC tempat instance diluncurkan. Instans memerlukan akses jaringan eksternal untuk berkomunikasi dengan titik akhir layanan Amazon ECS. Jika subnet Anda tidak menyediakan alamat IP publik, mereka harus memiliki gateway NAT untuk akses internet keluar.

  • securityGroups — Diperlukan. Grup keamanan VPC untuk dikaitkan dengan instance.

instanceRequirements

Tidak wajib. Menentukan batasan jenis instans Amazon EC2 yang dapat diluncurkan Amazon ECS. Jika tidak disediakan, semua jenis instans yang tersedia memenuhi syarat.

  • allowedInstanceTypes— Daftar jenis instans tertentu atau keluarga instans (misalnya, m5.large ataug5). Ketika ditentukan, hanya jenis instance ini yang digunakan.

capacityOptionType

Tidak wajib. Model penetapan harga kapasitas. Nilai yang valid adalah ON_DEMAND (default) dan SPOT. DenganSPOT, Amazon ECS meluncurkan Instans Spot yang dapat memberikan penghematan biaya yang signifikan untuk beban kerja yang toleran terhadap kesalahan.

storageConfiguration

Tidak wajib. Mengkonfigurasi volume EBS root untuk instance.

  • storageSizeGiB— Ukuran volume root dalam GiB.

monitoring

Tidak wajib. Tingkat pem CloudWatch antauan untuk instans. Nilai yang valid adalah BASIC dan DETAILED.

fipsEnabled

Tidak wajib. Saat disetel ketrue, mengaktifkan kepatuhan FIPS 140-2 pada instans terkelola. Tidak tersedia di semua Wilayah AWS.

capacityReservations

Tidak wajib. Menar On-Demand getkan Reservasi Kapasitas (ODCR) untuk ketersediaan kapasitas yang dapat diprediksi.

  • reservationGroupArn— ARN kelompok reservasi kapasitas untuk ditargetkan.

  • reservationPreference— Mengontrol bagaimana reservasi kapasitas digunakan. Nilai yang valid adalah RESERVATIONS_ONLY (hanya diluncurkan ke reservasi), RESERVATIONS_FIRST (lebih suka reservasi, kembali ke permintaan), dan RESERVATIONS_EXCLUDED (jangan gunakan reservasi).

instanceMetadataTagsPropagation

Tidak wajib. Mengontrol apakah tag dapat diakses dari layanan metadata instance (IMDS) pada instans terkelola.

localStorageConfiguration

Tidak wajib. Mengkonfigurasi volume penyimpanan instans lokal (SSD NVMe lokal) untuk instans terkelola.

  • useLocalStorage— Apakah volume penyimpanan instans tersedia untuk kontainer yang berjalan pada instans terkelola.

infrastructureOptimization

Tidak wajib. Mengontrol cara Amazon ECS mengelola instans idle.

  • scaleInAfter— Jumlah detik instans harus idle sebelum Amazon ECS menghentikannya. Nilai yang valid adalah -1 (untuk menonaktifkan scale-in) atau 03600 (detik waktu idle sebelum penghentian).

computeResources.capacityTags

Tidak wajib. Tag yang diterapkan ke penyedia kapasitas Amazon ECS dan instans Amazon EC2 yang dikelola oleh lingkungan komputasi. Hanya berlaku untuk lingkungan ECS_MANAGED_INSTANCES komputasi. Prinsipal IAM Anda harus memiliki batch:SetCapacityTags izin pada sumber daya lingkungan komputasi untuk menentukan bidang ini. Untuk informasi selengkapnya, lihat Kontrol akses ke tag kapasitas dengan batch: SetCapacityTags.

Tag ini terpisah dari tingkat atas tags pada sumber daya lingkungan komputasi itu sendiri. Gunakan capacityTags untuk alokasi biaya dan organisasi sumber daya infrastruktur yang mendasarinya.

Parameter tidak berlaku untuk Instans Terkelola Amazon ECS

computeResourcesParameter berikut tidak valid untuk lingkungan komputasi Instans Terkelola Amazon ECS dan tidak boleh ditentukan:

  • allocationStrategy

  • bidPercentage

  • desiredvCpus

  • minvCpus

  • imageId

  • instanceTypes

  • instanceRole

  • ec2Configuration

  • ec2KeyPair

  • launchTemplate

  • placementGroup

  • spotIamFleetRole

  • subnets(gunakan sebagai managedInstancesProvider.instanceLaunchTemplate.networkConfiguration.subnets gantinya)

  • securityGroupIds(gunakan sebagai managedInstancesProvider.instanceLaunchTemplate.networkConfiguration.securityGroups gantinya)

Memperbarui lingkungan komputasi Instans Terkelola Amazon ECS

Semua atribut lingkungan komputasi Instans Terkelola Amazon ECS dapat diperbarui kecuali jenis lingkungan komputasi,, capacityOptionType dan. fipsEnabled Pembaruan mengalir ke penyedia kapasitas Amazon ECS yang mendasarinya. Instans baru menggunakan konfigurasi yang diperbarui. Instans yang ada terus berjalan sampai pekerjaannya selesai dan kemudian habis secara alami.

Berikut ini tidak dapat diubah setelah pembuatan:

  • Jenis lingkungan komputasi (ECS_MANAGED_INSTANCEStidak dapat diubah menjadiFARGATE,EC2, atau jenis lainnya)

  • capacityOptionType— Anda tidak dapat beralih antara On-Demand dan Spot setelah pembuatan

  • fipsEnabled— Mode FIPS tidak dapat diubah setelah pembuatan

Contoh

Konfigurasi minimal

Contoh berikut menunjukkan konfigurasi minimum yang diperlukan untuk membuat lingkungan komputasi Instans Terkelola Amazon ECS. Amazon ECS memilih jenis instans secara otomatis dari semua jenis yang tersedia.

{ "computeEnvironmentName": "my-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 256, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a"], "securityGroups": ["sg-abcde012"] } } } } }

Beban kerja GPU dengan tipe instance tertentu

Contoh berikut membuat lingkungan komputasi yang dibatasi untuk jenis instans GPU NVIDIA untuk beban kerja pembelajaran mesin.

{ "computeEnvironmentName": "my-gpu-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 1000, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a"], "securityGroups": ["sg-abcde012"] }, "instanceRequirements": { "allowedInstanceTypes": ["g5.xlarge", "g5.2xlarge", "g5.4xlarge"] }, "capacityOptionType": "ON_DEMAND" } } } }

Kapasitas spot untuk beban kerja yang sensitif terhadap biaya

Contoh berikut membuat lingkungan Spot-backed komputasi untuk beban kerja batch toleran kesalahan.

{ "computeEnvironmentName": "my-spot-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 5000, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a", "subnet-cde012ab"], "securityGroups": ["sg-abcde012"] }, "instanceRequirements": { "allowedInstanceTypes": ["m5.large", "m5.xlarge", "m6i.large", "m6i.xlarge"] }, "capacityOptionType": "SPOT", "storageConfiguration": { "storageSizeGiB": 100 } } } } }