View a markdown version of this page

Lingkungan komputasi TIDAK VALID - AWS Batch

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

Lingkungan komputasi TIDAK VALID

Mungkin saja Anda salah mengkonfigurasi lingkungan komputasi terkelola. Jika Anda melakukannya, lingkungan komputasi memasuki INVALID status dan tidak dapat menerima pekerjaan untuk penempatan. Bagian berikut menjelaskan kemungkinan penyebab dan cara memecahkan masalah berdasarkan penyebabnya.

penting

AWS Batch membuat dan mengelola beberapa AWS sumber daya atas nama Anda dan di dalam akun Anda, termasuk Template Peluncuran Amazon EC2, Grup Penskalaan Otomatis Amazon EC2, Amazon EC2 Spot Fleets, dan Amazon ECS Cluster. Sumber daya terkelola ini dikonfigurasi secara khusus untuk memastikan AWS Batch operasi yang optimal. Memodifikasi Batch-managed sumber daya ini secara manual, kecuali dinyatakan secara eksplisit dalam AWS Batch dokumentasi, dapat mengakibatkan perilaku tak terduga yang mengakibatkan INVALID Lingkungan Komputasi, perilaku penskalaan instans yang kurang optimal, pemrosesan beban kerja yang tertunda, atau biaya tak terduga. Modifikasi manual ini tidak dapat didukung secara deterministik oleh layanan. AWS Batch Selalu gunakan Batch API yang didukung atau konsol Batch untuk mengelola Lingkungan Komputasi Anda.

Nama peran atau ARN salah

Penyebab paling umum lingkungan komputasi memasuki INVALID status adalah peran AWS Batch layanan atau peran Amazon EC2 Spot Fleet memiliki nama atau Nama Sumber Daya Amazon (ARN) yang salah. Ini lebih umum dengan lingkungan komputasi yang dibuat menggunakan AWS CLI atau AWS SDK. Saat Anda membuat lingkungan komputasi di Konsol Manajemen AWS, AWS Batch membantu Anda memilih peran layanan atau Spot Fleet yang benar. Namun, misalkan Anda memasukkan nama atau ARN secara manual dan memasukkannya secara tidak benar. Kemudian, lingkungan komputasi yang dihasilkan jugaINVALID.

Namun, misalkan Anda memasukkan nama atau ARN secara manual untuk sumber daya IAM dalam AWS CLI perintah atau kode SDK Anda. Dalam hal ini, tidak AWS Batch dapat memvalidasi string. Sebaliknya, AWS Batch harus menerima nilai buruk dan berusaha menciptakan lingkungan. Jika AWS Batch gagal menciptakan lingkungan, lingkungan bergerak ke INVALID status, dan Anda melihat kesalahan berikut.

Untuk peran layanan yang tidak valid:

CLIENT_ERROR - Not authorized to perform sts:AssumeRole (Service: AWSSecurityTokenService; Status Code: 403; Error Code: AccessDenied; Request ID: dc0e2d28-2e99-11e7-b372-7fcc6fb65fe7)

Untuk peran Armada Spot yang tidak valid:

CLIENT_ERROR - Parameter: SpotFleetRequestConfig.IamFleetRole is invalid. (Service: AmazonEC2; Status Code: 400; Error Code: InvalidSpotFleetRequestConfig; Request ID: 331205f0-5ae3-4cea-bac4-897769639f8d) Parameter: SpotFleetRequestConfig.IamFleetRole is invalid

Salah satu penyebab umum untuk masalah ini adalah skenario berikut. Anda hanya menentukan nama peran IAM saat menggunakan AWS CLI atau AWS SDK, bukan Nama Sumber Daya Amazon (ARN) lengkap. Bergantung pada bagaimana Anda membuat peran, ARN mungkin berisi awalan aws-service-role jalur. Misalnya, jika Anda membuat peran AWS Batch layanan secara manual menggunakan prosedur diMenggunakan peran terkait layanan untuk AWS Batch, ARN peran layanan Anda mungkin terlihat seperti berikut ini.

arn:aws:iam::123456789012:role/AWSBatchServiceRole

Namun, jika Anda membuat peran layanan sebagai bagian dari wizard jalankan pertama konsol hari ini, ARN peran layanan Anda mungkin terlihat seperti berikut ini.

arn:aws:iam::123456789012:role/aws-service-role/AWSBatchServiceRole

Masalah ini juga dapat terjadi jika Anda melampirkan kebijakan AWS Batch tingkat layanan (AWSBatchServiceRole) ke peran non-layanan. Misalnya, Anda mungkin menerima pesan kesalahan yang menyerupai berikut ini dalam skenario ini:

CLIENT_ERROR - User: arn:aws:sts::account_number:assumed-role/batch-replacement-role/aws-batch is not authorized to perform: action on resource ...

Untuk mengatasi masalah ini, lakukan salah satu hal berikut.

  • Gunakan string kosong untuk peran layanan saat Anda membuat lingkungan AWS Batch komputasi.

  • Tentukan peran layanan dalam format berikut:arn:aws:iam::account_number:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch.

Bila Anda hanya menentukan nama peran IAM saat menggunakan AWS CLI atau AWS SDK, AWS Batch asumsikan bahwa ARN Anda tidak menggunakan awalan aws-service-role jalur. Karena itu, kami sarankan Anda menentukan ARN lengkap dari IAM role Anda ketika membuat lingkungan komputasi.

Untuk memperbaiki lingkungan komputasi yang salah dikonfigurasi seperti ini, lihat Memperbaiki lingkungan kom putasi INVALID.

Memperbaiki lingkungan kom putasi INVALID

Bila Anda memiliki lingkungan komputasi dalam INVALID status, perbarui untuk memperbaiki parameter yang tidak valid. Untuk aNama peran atau ARN salah, perbarui lingkungan komputasi menggunakan peran layanan yang benar.

Untuk memperbaiki lingkungan komputasi yang salah dikonfigurasi
  1. Buka AWS Batch konsol di https://console.aws.amazon.com/batch/.

  2. Dari bilah navigasi, pilih yang Wilayah AWS akan digunakan.

  3. Di panel navigasi, pilih Compute environments (Lingkungan komputasi).

  4. Pada halaman Compute environment, pilih tombol radio di sebelah lingkungan komputasi yang akan diedit. Anda harus memilih lingkungan komputasi sebelum opsi di menu T indakan tersedia.

  5. Pilih T ind akan dan kemudian Edit.

  6. Di halaman Update compute environment (Perbarui lingkungan komputasi), untuk Service role (Peran layanan), pilih IAM role yang akan digunakan dengan lingkungan komputasi Anda. Konsol AWS Batch hanya menampilkan peran yang memiliki hubungan kepercayaan yang benar untuk lingkungan komputasi.

    Tip

    Untuk petunjuk tentang cara membuat peran terkait layanan, lihatMenggunakan peran untuk AWS Batch.

  7. Pilih Save (Simpan) untuk memperbarui lingkungan komputasi Anda.