Pelajari cara mengonfigurasi redrive antrian huruf mati di Amazon SQS - Amazon Simple Queue Service

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

Pelajari cara mengonfigurasi redrive antrian huruf mati di Amazon SQS

Anda dapat menggunakan penggerak ulang antrian huruf mati untuk memindahkan pesan yang tidak dikonsumsi dari antrian huruf mati yang ada. Secara default, redrive antrian huruf mati memindahkan pesan dari antrian huruf mati ke antrian sumber. Namun, Anda juga dapat mengonfigurasi antrian lain sebagai tujuan redrive jika kedua antrian adalah tipe yang sama. Misalnya, jika antrian huruf mati adalah antrian FIFO, antrian tujuan redrive harus berupa antrian FIFO juga. Selain itu, Anda dapat mengonfigurasi kecepatan redrive untuk mengatur kecepatan di mana Amazon SQS memindahkan pesan.

catatan

Ketika pesan dipindahkan dari antrian FIFO ke DLQ FIFO, ID deduplikasi pesan asli akan diganti dengan ID pesan asli. Ini untuk memastikan bahwa deduplikasi DLQ tidak akan mencegah penyimpanan dua pesan independen yang kebetulan berbagi ID deduplikasi.

Antrian surat mati menggerakkan ulang pesan sesuai urutan penerimaannya, dimulai dengan pesan tertua. Namun, antrian tujuan menyerap pesan yang digerakkan ulang, serta pesan baru dari produsen lain, sesuai dengan urutan penerimaannya. Misalnya, jika produser mengirim pesan ke antrian FIFO sumber saat secara bersamaan menerima pesan yang digerakkan ulang dari antrian surat mati, pesan yang digerakkan ulang akan terjalin dengan pesan baru dari produser.

catatan

Tugas redrive mengatur ulang periode retensi. Semua pesan yang digerakkan ulang dianggap pesan baru dengan pesan baru messageID dan ditetapkan ke pesan enqueueTime yang digerakkan ulang.

Mengonfigurasi redrive antrian huruf mati untuk antrean standar yang ada menggunakan Amazon SQS API

Anda dapat mengonfigurasi redrive antrian huruf mati menggunakan tindakanSendMessageBatch,ReceiveMessage, dan API: DeleteMessageBatch

Tindakan API Deskripsi

StartMessageMoveTask

Memulai tugas asinkron untuk memindahkan pesan dari antrian sumber tertentu ke antrian tujuan tertentu.

ListMessageMoveTasks

Mendapat tugas pergerakan pesan terbaru (hingga 10) di bawah antrian sumber tertentu.

CancelMessageMoveTask

Membatalkan tugas pergerakan pesan tertentu. Pergerakan pesan hanya dapat dibatalkan ketika status saat ini sedang BERJALAN.

Mengonfigurasi redrive antrian huruf mati untuk antrean standar yang ada menggunakan konsol Amazon SQS

  1. Buka konsol Amazon SQS di https://console.aws.amazon.com/sqs/.

  2. Di panel navigasi, pilih Antrian.

  3. Pilih nama antrian yang telah Anda konfigurasikan sebagai antrian huruf mati.

  4. Pilih Mulai DLQ redrive.

  5. Di bawah konfigurasi Recrive, untuk tujuan Pesan, lakukan salah satu hal berikut:

    • Untuk mengarahkan ulang pesan ke antrean sumbernya, pilih Recrive to source queue (s).

    • Untuk mengarahkan ulang pesan ke antrian lain, pilih Recrive ke tujuan kustom. Kemudian, masukkan Nama Sumber Daya Amazon (ARN) dari antrian tujuan yang ada.

  6. Di bawah Pengaturan kontrol kecepatan, pilih salah satu dari berikut ini:

    • Sistem dioptimalkan - Dorong ulang pesan antrian huruf mati dengan jumlah maksimum pesan per detik.

    • Kecepatan maks khusus - Dorong ulang pesan antrian huruf mati dengan kecepatan maksimum pesan per detik khusus. Tarif maksimum yang diizinkan adalah 500 pesan per detik.

      • Disarankan untuk memulai dengan nilai kecil untuk kecepatan maks Kustom dan memverifikasi bahwa antrian sumber tidak kewalahan dengan pesan. Dari sana, secara bertahap tingkatkan nilai kecepatan maks Kustom, terus memantau status antrian sumber.

  7. Setelah Anda selesai mengonfigurasi redrive antrian huruf mati, pilih Recrive messages.

    penting

    Amazon SQS tidak mendukung pemfilteran dan modifikasi pesan saat mengarahkan ulang pesan dari antrian huruf mati.

    Tugas redrive antrian huruf mati dapat berjalan maksimal 36 jam. Amazon SQS mendukung maksimal 100 tugas redrive aktif per akun.

  8. Jika Anda ingin membatalkan tugas redrive pesan, pada halaman Detail untuk antrian Anda, pilih Batalkan drive ulang DLQ. Saat membatalkan redrive pesan yang sedang berlangsung, pesan apa pun yang telah berhasil dipindahkan ke antrian tujuan pindahnya akan tetap berada dalam antrean tujuan.

Mengkonfigurasi izin antrian untuk redrive antrian huruf mati

Anda dapat memberi pengguna akses ke tindakan antrean huruf mati tertentu dengan menambahkan izin ke kebijakan Anda. Izin minimum yang diperlukan untuk redrive antrian huruf mati adalah sebagai berikut:

Izin Minimum Metode API yang diperlukan
Untuk memulai redrive pesan
  • Tambahkansqs:StartMessageMoveTask,, sqs:ReceiveMessagesqs:DeleteMessage, dan sqs:GetQueueAttributes antrian huruf mati. Jika antrian huruf mati atau antrian sumber asli dienkripsi (juga dikenal sebagai antrian SSE), kms:Decrypt untuk kunci KMS apa pun yang telah digunakan untuk mengenkripsi pesan juga diperlukan.

  • Tambahkan antrian tujuan. sqs:SendMessage Jika antrian tujuan dienkripsi, kms:GenerateDataKey dan kms:Decrypt juga diperlukan.

Untuk membatalkan redrive pesan yang sedang berlangsung
  • Tambahkansqs:CancelMessageMoveTask,, sqs:ReceiveMessagesqs:DeleteMessage, dan sqs:GetQueueAttributes antrian huruf mati. Jika antrian huruf mati dienkripsi (juga dikenal sebagai antrian SSE), juga diperlukan. kms:Decrypt

Untuk menampilkan status pemindahan pesan
  • Tambahkan sqs:ListMessageMoveTasks dan sqs:GetQueueAttributes antrian huruf mati.

Untuk mengonfigurasi izin untuk pasangan antrian terenkripsi (antrian sumber dengan antrian huruf mati)

Gunakan langkah-langkah berikut untuk mengonfigurasi izin minimum untuk redrive antrian huruf mati:

  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Kebijakan.

  3. Buat kebijakan dengan izin berikut dan lampirkan ke pengguna atau peran IAM login Anda:

    • sqs:StartMessageMoveTask

    • sqs:CancelMessageMoveTask

    • sqs:ListMessageMoveTasks

    • sqs:ListDeadLetterSourceQueues

    • sqs:ReceiveMessage

    • sqs:DeleteMessage

    • sqs:GetQueueAttributes

    • Resource<DLQ_region><DLQ_accountId><DLQ_name>ARN dari antrian huruf mati (misalnya, “arn:aws:sqs::: “).

    • sqs:SendMessage

    • ResourceARN dari antrian tujuan (misalnya, “arn:aws:sqs: < DestQueue _region>: < _accountID>: < _name> “). DestQueue DestQueue

    • kms:Decrypt— Memungkinkan tindakan dekripsi.

    • kms:GenerateDataKey

    • Resource<region><accountId><keyId_used to encrypt the message body>ARN dari kunci enkripsi KMS apa pun yang telah digunakan untuk mengenkripsi pesan dalam antrian sumber asli (misalnya, “arn:aws:kms: ::key/ “).

    • <region><accountId><keyId_used for the destination queue>ARN Sumber Daya dari kunci enkripsi KMS yang digunakan untuk antrian tujuan redrive (misalnya, “arn:aws:kms: ::key/ “).

    Kebijakan akses Anda harus menyerupai yang berikut:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sqs:StartMessageMoveTask", "sqs:CancelMessageMoveTask", "sqs:ListMessageMoveTasks", "sqs:ReceiveMessage", "sqs:DeleteMessage", "sqs:GetQueueAttributes", "sqs:ListDeadLetterSourceQueues" ], "Resource": "arn:aws:sqs:<DLQ_region>:<DLQ_accountId>:<DLQ_name>" }, { "Effect": "Allow", "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:<DestQueue_region>:<DestQueue_accountId>:<DestQueue_name>" }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:<region>:<accountId>:key/<keyId>" } ] }
Untuk mengonfigurasi izin menggunakan pasangan antrian yang tidak terenkripsi (antrian sumber dengan antrian huruf mati)

Gunakan langkah-langkah berikut untuk mengonfigurasi izin minimum untuk antrian huruf mati standar yang tidak terenkripsi. Izin minimum yang diperlukan adalah menerima, menghapus, dan mendapatkan atribut dari antrian huruf mati, dan mengirim atribut ke antrian sumber.

  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Kebijakan.

  3. Buat kebijakan dengan izin berikut dan lampirkan ke pengguna atau peran IAM login Anda:

    • sqs:StartMessageMoveTask

    • sqs:CancelMessageMoveTask

    • sqs:ListMessageMoveTasks

    • sqs:ListDeadLetterSourceQueues

    • sqs:ReceiveMessage

    • sqs:DeleteMessage

    • sqs:GetQueueAttributes

    • Resource<DLQ_region><DLQ_accountId><DLQ_name>ARN dari antrian huruf mati (misalnya, “arn:aws:sqs::: “).

    • sqs:SendMessage

    • ResourceARN dari antrian tujuan (misalnya, “arn:aws:sqs: < DestQueue _region>: < _accountID>: < _name> “). DestQueue DestQueue

    Kebijakan akses Anda harus menyerupai yang berikut:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sqs:StartMessageMoveTask", "sqs:CancelMessageMoveTask", "sqs:ListMessageMoveTasks", "sqs:ReceiveMessage", "sqs:DeleteMessage", "sqs:GetQueueAttributes", "sqs:ListDeadLetterSourceQueues" ], "Resource": "arn:aws:sqs:<DLQ_region>:<DLQ_accountId>:<DLQ_name>" }, { "Effect": "Allow", "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:<DestQueue_region>:<DestQueue_accountId>:<DestQueue_name>" } ] }