Gambaran Umum

T: Apa kelebihan Amazon SQS dibandingkan dengan sistem antrean pesan asal atau paket?

Amazon SQS memberikan beberapa keuntungan dibandingkan dengan membuat perangkat lunak sendiri untuk mengelola antrean pesan, atau menggunakan sistem antrean pesan sumber terbuka atau komersial yang memerlukan waktu awal yang signifikan untuk pengembangan dan konfigurasi.

Alternatif ini memerlukan pemeliharaan perangkat keras dan sumber daya administrasi sistem yang sudah ada. Kerumitan mengonfigurasi dan mengelola sistem ini ditambah dengan kebutuhan penyimpanan pesan berulang yang memastikan pesan tersebut tidak hilang jika perangkat keras mengalami kegagalan.

Sebaliknya, Amazon SQS hanya memerlukan sedikit konfigurasi dan tanpa perlu overhead administratif. Amazon SQS bekerja dalam skala massal, yang memproses miliaran pesan setiap hari. Anda dapat menskalakan naik atau turun besarnya lalu lintas yang Anda kirim ke Amazon SQS tanpa konfigurasi apa pun. Amazon SQS juga memberikan durabilitas pesan yang sangat tinggi, yang memberi kepercayaan diri lebih kepada Anda dan pemangku kepentingan.

T. Apa yang membedakan Amazon SQS dari Amazon SNS?

Amazon SNS memungkinkan aplikasi mengirimkan pesan waktu kritis ke berbagai pelanggan melalui mekanisme "push", sehingga tidak perlu memeriksa atau "melakukan polling" secara berkala terhadap pembaruan. Amazon SQS adalah layanan antrean pesan yang digunakan oleh aplikasi terdistribusi untuk bertukar pesan melalui model polling, dan dapat digunakan untuk memisahkan komponen pengiriman dan penerimaan. 

T. Apa yang membedakan Amazon SQS dari Amazon MQ?

Jika Anda menggunakan perpesanan dengan aplikasi yang sudah ada, dan ingin memindahkan pesan ke cloud dengan cepat dan mudah, kami merekomendasikan untuk mempertimbangkan Amazon MQ. Layanan ini mendukung API dan protokol standar industri sehingga Anda dapat beralih dari perantara pesan berbasis standar ke Amazon MQ tanpa perlu membuat ulang kode perpesanan di aplikasi Anda. Jika Anda sedang membuat aplikasi produk baru di cloud, kami merekomendasikan untuk mempertimbangkan Amazon SQS dan Amazon SNS. Amazon SQS dan SNS adalah layanan topik dan antrean pesan yang ringan dan terkelola sepenuhnya yang menskalakan hampir tanpa batas dan memberikan API yang sederhana dan mudah digunakan. 

T: Apakah Amazon SQS menyediakan pengurutan pesan?

Ya. Antrean FIFO (first-in-first-out) mempertahankan urutan yang sama persis pada pesan yang dikirim dan diterima. Jika menggunakan antrean FIFO, Anda tidak perlu menempatkan informasi berurutan pada pesan Anda. Untuk informasi selengkapnya, baca Logika Antrean FIFO di Panduan Pengembang Amazon SQS.

Antrean standar memberikan kemampuan FIFO longgar, yang berupaya mempertahankan urutan pesan. Namun, karena antrean standar dirancang untuk dapat diskalakan secara massal menggunakan arsitektur terdistribusi tinggi, penerimaan pesan dengan urutan yang sama persis seperti saat dikirim tidak dapat dipastikan.

T: Apakah Amazon SQS menjamin pengiriman pesan?

Antrean standar memberikan pengiriman setidaknya satu kali, yang artinya, masing-masing pesan dikirim setidaknya satu kali.

Antrean FIFO memberikan pemrosesan tepat satu kali, yang artinya, masing-masing pesan dikirim satu kali dan tetap tersedia sampai pelanggan memproses atau menghapusnya. Penggandaan tidak dimasukkan ke antrean.

T. Apa yang membedakan Amazon SQS dari Amazon Kinesis Streams?

Amazon SQS menawarkan antrean yang andal, mudah diskalakan, dan dengan host untuk menyimpan pesan saat dikirimkan antar-aplikasi atau antar-layanan mikro. Layanan ini memindahkan data antar-komponen aplikasi terdistribusi dan membantu Anda melakukan pemisahan komponen ini. Amazon SQS memberikan konstruksi perangkat tengah seperti antrean huruf mati dan manajemen poison-pill. Layanan ini juga memberikan API layanan web generik dan dapat diakses dengan bahasa pemrograman apa pun yang didukung oleh AWS SDK. Amazon SQS mndukung antrean standar dan FIFO.

Amazon Kinesis Streams memungkinkan pemrosesan real-time pada streaming data berukuran besar dan kemampuan untuk membaca dan memutar ulang rekaman ke berbagai Aplikasi Amazon Kinesis. Amazon Kinesis Client Library (KCL) mengirimkan semua rekaman untuk kunci partisi yang ditentukan ke prosesor rekaman yang sama, sehingga memudahkan untuk membuat berbagai aplikasi yang membaca dari streaming Amazon Kinesis yang sama (misalnya, untuk melakukan perhitungan, agregasi, dan pemfilteran).

Untuk informasi selengkapnya, lihat Dokumentasi Amazon Kinesis.

T: Apakah Amazon menggunakan Amazon SQS untuk aplikasinya?

Ya. Pengembang di Amazon menggunakan Amazon SQS untuk berbagai aplikasi yang memproses pesan dalam jumlah besar setiap hari. Proses bisnis utama di Amazon.com dan Amazon Web Services menggunakan Amazon SQS.

Penagihan

T: Berapa banyak biaya Amazon SQS?

Anda hanya membayar apa yang Anda gunakan, tanpa ada biaya minimum.

Biaya Amazon SQS dihitung per permintaan, ditambah biaya transfer data untuk data yang ditransfer keluar dari Amazon SQS (kecuali jika data ditransfer menuju instans Amazon EC2 atau fungsi AWS Lambda di wilayah yang sama). Untuk uraian harga mendetail setiap jenis antrean dan wilayah, lihat Harga Amazon SQS.

T: Apa yang dapat saya lakukan dengan Amazon SQS Tingkat Gratis?

Tingkat Gratis Amazon SQS memberikan Anda 1 juta permintaan setiap bulan tanpa biaya.

Berbagai aplikasi berskala kecil dapat beroperasi sepenuhnya dalam batas Tingkat Gratis ini. Namun demikian, biaya transfer data masih dapat berlaku. Untuk informasi selengkapnya, lihat Harga Amazon SQS.

Tingkat Gratis ini adalah tawaran bulanan. Penggunaan gratis tidak diakumulasikan sepanjang bulan.

T: Apakah saya akan dikenai tagihan atas semua permintaan Amazon SQS?

Ya, untuk permintaan apa pun di luar tingkat gratis. Semua permintaan Amazon SQS dapat dikenai biaya, dan ditagihkan dengan tarif yang sama.

T: Apakah biaya operasi batch Amazon SQS lebih tinggi dari permintaan lain?

Tidak. Operasi batch (SendMessageBatch, DeleteMessageBatch, dan ChangeMessageVisibilityBatch) semuanya berbiaya sama seperti permintaan Amazon SQS lain. Dengan mengelompokkan pesan ke dalam batch, Anda dapat mengurangi biaya Amazon SQS.

T: Bagaimana saya akan dikenai biaya dan ditagihkan atas penggunaan Amazon SQS?

Tidak ada biaya awal untuk mulai menggunakan Amazon SQS. Pada akhir bulan, kartu kredit Anda secara otomatis akan dikenai biaya atas penggunaan bulan tersebut.

Anda dapat melihat biaya periode penagihan saat ini kapan saja di situs web AWS:

  1. Masuk ke akun AWS.
  2. Di bawah Akun Layanan Web Anda, pilih Aktivitas Akun.

T: Bagaimana cara melacak dan mengelola biaya yang berkaitan dengan antrean Amazon SQS saya?

Anda dapat menandai dan melacak antrean untuk sumber daya dan manajemen biaya menggunakan tag alokasi biaya. Tag adalah label metadata yang terdiri dari pasangan nilai utama. Misalnya, Anda dapat memberikan tag antrean menurut pusat biaya lalu mengelompokkan dan melacak biaya Anda berdasarkan pada pusat biaya ini.

Untuk informasi selengkapnya, baca Memberi Tag Antrean Amazon SQS Anda di Panduan Pengembang Amazon SQS. Untuk informasi selengkapnya tentang pemberian tag alokasi biaya sumber daya AWS, baca Menggunakan Tanda Alokasi Biaya di Panduan Pengguna Manajemen Penagihan dan Biaya AWS.

T: Apakah harga tersebut termasuk potongan pajak? >>

Kecuali dinyatakan lain, harga tersebut tidak termasuk pajak dan beban biaya yang berlaku, termasuk PPN dan pajak penjualan yang berlaku.

Untuk pelanggan dengan alamat penagihan Jepang, penggunaan AWS di wilayah mana pun tunduk pada Pajak Konsumsi Jepang. Untuk informasi selengkapnya, baca FAQ Pajak Konsumsi Amazon Web Services.

Fitur, fungsionalitas, dan antarmuka

T: Apakah saya dapat menggunakan Amazon SQS dengan AWS lain?

Ya. Anda dapat membuat aplikasi yang lebih fleksibel dan dapat diskalakan menggunakan Amazon SQS dengan layanan komputasi seperti Amazon EC2, Amazon EC2 Container Service (Amazon ECS), dan AWS Lambda, serta dengan penyimpanan dan layanan database seperti Amazon Simple Storage Service (Amazon S3), dan Amazon DynamoDB.

T: Bagaimana cara berinteraksi dengan Amazon SQS?

Anda dapat mengakses Amazon SQS menggunakan AWS Management Console, yang membantu dalam membuat antrean Amazon SQS dan mengirim pesan dengan mudah.

Amazon SQS juga menyediakan API layanan web. Layanan ini juga berintegrasi dengan AWS SDK, yang memungkinkan Anda bekerja dengan bahasa pemrograman pilihan Anda.

T: Tindakan API apa yang tersedia untuk Amazon SQS?

Untuk informasi tentang operasi antrean pesan, baca Referensi API Amazon SQS.

T: Siapa yang dapat melakukan operasi di antrean pesan?

Hanya pemilik akun AWS (atau akun AWS yang telah didelegasi haknya oleh pemilik akun tersebut) yang dapat melakukan operasi di antrean pesan Amazon SQS.

T: Apakah saya dapat menggunakan Java Message Service (JMS) dengan Amazon SQS?

Ya. Anda dapat memanfaatkan skala, biaya murah, dan ketersediaan yang tinggi pada Amazon SQS tanpa khawatir dan overhead yang tinggi dengan menjalankan klaster JMS Anda sendiri.

Amazon memberikan Amazon SQS Java Messaging Library yang menerapkan spesifikasi JMS 1.1 dna menggunakan Amazon SQS sebagai penyedia JMS. Untuk informasi selengkapnya, baca Menggunakan JMS dengan Amazon SQS di Panduan Pengembang Amazon SQS.

T: Bagaimana cara Amazon SQS mengidentifikasi pesan?

Semua pesan memilki ID unik global yang dikembalikan oleh Amazon SQS pada saat pesan dikirim ke antrean pesan. ID tersebut diperlukan untuk melakukan tindakan lebih lanjut pada pesan, tetapi bermanfaat untuk melacak catatan pesan khusus di antrean pesan.

Pada saat Anda menerima pesan dari antrean pesan, respons mencakup penanganan catatan yang harus Anda berikan pada saat menghapus pesan.

Untuk informasi selengkapnya, baca Antrean dan Pengidentifikasi Pesan di Panduan Pengembang Amazon SQS.

T: Bagaimana cara Amazon SQS menangani pesan yang tidak dapat diproses?

Di Amazon SQS, Anda dapat menggunakan API atau konsol untuk mengonfigurasi antrean surat mati, yang menerima pesan dari antrean sumber lain. Saat mengonfigurasi antrean surat mati, Anda diminta untuk mengatur izin yang sesuai untuk redrive antrean surat mati menggunakan RedriveAllowPolicy.

RedriveAllowPolicy menyertakan parameter untuk izin redrive antrean surat mati. Ini mendefinisikan antrean sumber mana yang dapat menentukan antrean surat mati sebagai objek JSON.

Setelah Anda membuat antrean surat mati, ia menerima pesan setelah jumlah maksimum upaya pemrosesan tidak dapat diselesaikan. Anda dapat menggunakan antrean surat mati untuk mengisolasi pesan yang tidak dapat diproses untuk analisis selanjutnya.

Untuk informasi selengkapnya, lihat Menggunakan Antrean Surat Mati Amazon SQS di Panduan Developer Amazon SQS.

T: Apa itu batas waktu visibilitas?

Batas waktu visibilitas adalah periode waktu selama Amazon SQS mencegah komponen lain yang memakai data agar tidak menerima dan memproses pesan. Untuk informasi selengkapnya, baca Batas Waktu Visibilitas di Panduan Pengembang Amazon SQS.

T: Apakah Amazon SQS mendukung metadata pesan?

Ya. Pesan Amazon SQS dapat berisi hingga 10 atribut metadata. Anda dapat menggunakan atribut pesan untuk memisahkan isi pesan dengan metadata yang menjelaskannya. Hal ini membantu untuk memproses dan menyimpan informasi dengan kecepatan dan efisiensi yang lebih tinggi karena aplikasi Anda tidak harus memeriksa seluruh pesan sebelum memahami bagaimana cara memprosesnya.

Atribut pesan Amazon SQS membentuk atribut rangkap tiga berisi nama-tipe-nilai. Tipe yang didukung mencakup string, biner, dan angka (termasuk angka bulat, bilangan titik mengambang, dan rangkap). Untuk informasi selengkapnya, baca Menggunakan Atribut Pesan Amazon SQS di Panduan Pengembang Amazon SQS.

T: Bagaimana cara saya menentukan nilai waktu dalam antrean?

Untuk menentukan nilai waktu dalam antrean, Anda dapat meminta atribut SentTimestamp pada saat menerima pesan. Mengurangi nilai tersebut dengan hasil waktu saat ini pada nilai waktu dalam antrean.

T: Berapa latensi yang biasanya ada pada Amazon SQS?

Latensi biasa pada permintaan API SendMessage, ReceiveMessage, dan DeleteMessage adalah dalam puluhan atau ratusan milidetik.

T: Untuk akses anonim, apa nilai atribut SenderId untuk pesan?

Apabila ID akun AWS tidak tersedia (misalnya, pada saat pengguna anonim mengirim pesan), Amazon SQS akan memberikan alamat IP.

T: Apa itu polling panjang Amazon SQS?

Polling panjang Amazon SQS adalah cara untuk mencari pesan dari antrean Amazon SQS Anda. Sementara polling pendek reguler segera kembali, bahkan jika antrean pesan yang sedang dilakukan polling kosong, polling panjang tidak mengembalikan respons hingga pesan sampai di antrean pesan, atau batas waktu polling panjang.

Polling panjang membuatnya terjangkau untuk mencari pesan dari antrean Amazon SQS sesaat setelah pesan tersebut tersedia. Menggunakan polling panjang dapat mengurangi biaya penggunaan SQS, karena Anda dapat mengurangi jumlah penerimaan yang kosong. Untuk informasi selengkapnya, baca Polling Panjang Amazon SQS di Panduan Pengembang Amazon SQS.

T: Apakah ada biaya tambahan atas penggunaan polling panjang Amazon SQS?

Tidak. Panggilan ReceiveMessage polling panjang ditagihkan sama persis dengan panggilan ReceiveMessage polling pendek.

T: Kapan sebaiknya saya menggunakan polling panjang Amazon SQS, dan kapan sebaiknya saya menggunakan polling pendek Amazon SQS?

Di hampir semua kasus, polling panjang Amazon SQS lebih dipilih daripada polling pendek. Permintaan polling panjang memungkinkan pelanggan antrean Anda menerima pesan secepatnya setelah pesan tersebut sampai di antrean Anda sementara mengurangi jumlah instans ReceiveMessageResponse kosong yang dikembalikan.

Polling panjang Amazon SQS menghasilkan kinerja yang lebih tinggi dengan biaya yang lebih terjangkau pada sebagian besar kasus penggunaan. Namun demikian, jika aplikasi Anda perlu respons cepat dari panggilan ReceiveMessage, Anda mungkin tidak dapat memanfaatkan polling panjang tanpa beberapa modifikasi pada aplikasi Anda.

Misalnya, jika aplikasi Anda menggunakan utas tunggal untuk melakukan polling berbagai antrean, pengalihan dari polling pendek ke polling panjang mungkin tidak akan bekerja, karena utas tunggal akan menunggu batas waktu polling panjang pada antrean mana pun yang kosong, yang menunda pemrosesan antrean apa pun yang mungkin berisi pesan.

Dalam aplikasi tersebut, penggunaan utas tunggal untuk memproses hanya satu antrean merupakan praktik yang baik, yang memungkinkan aplikasi untuk mengambil manfaat yang diberikan oleh polling panjang Amazon SQS.

T: Nilai berapa yang sebaiknya saya gunakan untuk batas waktu polling panjang saya?

Umumnya, Anda harus menggunakan maksimum 20 detik untuk batas waktu polling panjang. Karena nilai batas waktu polling panjang mengurangi jumlah instans ReceiveMessageResponse kosong yang dikembalikan, coba atur batas waktu polling panjang setinggi mungkin.

Jika batas waktu maksimum 20 detik tidak bekerja untuk aplikasi Anda (lihat misalnya pada pertanyaan sebelumnya), atur batas waktu polling panjang yang lebih singkat, selama 1 detik.

Semua AWS SDK bekerja dengan polling panjang 20 detik secara default. Jika Anda tidak menggunakan AWS SDK untuk mengakses Amazon SQS, atau jika Anda mengonfigurasi AWS SDK untuk secara khusus memiliki batas waktu yang lebih singkat, Anda perlu mengubah klien Amazon SQS Anda untuk memungkinkan permintaan yang lebih panjang atau untuk menggunakan batas waktu polling panjang yang lebih singkat.

T: Apa itu AmazonSQSBufferedAsyncClient untuk Java?

AmazonSQSBufferedAsyncClient untuk Java memberikan impelementasi antarmuka AmazonSQSAsyncClient dan menambahkan beberapa fitur penting:

  • Batch otomatis berbagai permintaan SendMessage, DeleteMessage, atau ChangeMessageVisibility tanpa perubahan aplikasi yang diperlukan
  • Pencarian pesan sebelumnya ke dalam bufer lokal yang memungkinkan aplikasi Anda segera memproses pesan dari Amazon SQS tanpa perlu menunggu pesan diambil

Dengan bekerja sama, batching otomatis dan pencarian sebelumnya meningkatkan throughput dan mengurangi latensi aplikasi Anda sementara mengurangi biaya dengan melakukan permintaan Amazon SQS yang lebih sedikit. Untuk informasi selengkapnya, baca Melakukan Buffer Sisi Klien dan Batch Permintaan di Panduan Pengembang Amazon SQS.

T: Di mana saya dapat mengunduh AmazonSQSBufferedAsyncClient for Java?

Anda dapat mengunduh AmazonSQSBufferedAsyncClient sebagai bagian dari AWS SDK for Java.

T: Apakah saya harus membuat ulang aplikasi saya untuk menggunakan AmazonSQSBufferedAsyncClient for Java?

Tidak. AmazonSQSBufferedAsyncClient untuk Java diterapkan sebagai penggantian drop-in untuk AmazonSQSAsyncClient yang sudah ada.

Jika Anda memperbarui aplikasi untuk menggunakan AWS SDK terbaru dan mengubah klien Anda untuk menggunakan AmazonSQSBufferedAsyncClient for Java bukan AmazonSQSAsyncClient, aplikasi akan mendapat manfaat tambahan yaitu batching otomatis dan pencarian sebelumnya.

T: Bagaimana cara berlangganan antrean pesan Amazon SQS untuk menerima pemberitahuan dari topik-topik Amazon SNS?

  1. Pada konsol Amazon SQS, pilih antrean standar Amazon SQS.
  2. Di bawah Tindakan Antrean, pilih Berlangganan Antrean pada Topik SNS dari daftar drop-down.
  3. Pada kotak dialog, pilih topik dari Pilih daftar drop-down Topik, dan klik Berlangganan.

Untuk informasi selengkapnya, baca Berlangganan Antrean pada Topik Amazon SNS di Panduan Pengembang Amazon SQS.

T: Apakah saya dapat menghapus semua pesan dalam antrean pesan tanpa menghapus antrean pesan itu sendiri?

Ya. Anda dapat menghapus semua pesan dalam antrean pesan Amazon SQS menggunakan tindakan PurgeQueue.

Apabila Anda membersihkan antrean pesan, semua pesan yang sebelumnya terkirim ke antrean pesan akan dihapus. Karena antrean pesan Anda dan atributnya masih ada, tidak perlu mengonfigurasi ulang antrean pesan; Anda tetap dapat menggunakannya.

Untuk menghapus pesan tertentu saja, gunakan tindakan DeleteMessage atau DeleteMessageBatch.

Untuk informasi selengkapnya, baca Tutorial ini: Membersihkan Pesan dari Antrean Amazon SQS.

Antrean FIFO

T: Di wilayah mana antrean FIFO tersedia?

Antrean FIFO tersedia di semua wilayah AWS tempat Amazon SQS tersedia. Lihat di sini untuk detail ketersediaan wilayah Amazon SQS.

T: Berapa banyak salinan pesan yang akan saya terima?

Antrean FIFO dirancang agar tidak pernah memasukkan pesan duplikat. Meski begitu, pembuat pesan Anda mungkin memasukkan duplikat dalam skenario tertentu: misalnya, jika pembuat pesan mengirimkan sebuah pesan, namun tidak menerima respons, lalu ia mengirimkan ulang pesan yang sama. API Amazon SQS menyediakan fungsionalitas penghapusan duplikat yang mencegah pembuat pesan mengirimkan duplikat. Duplikat apa pun yang dimasukkan oleh pembuat pesan akan dihapus dalam 5 menit interval penghapusan duplikat.

Untuk antrean standar, Anda mungkin terkadang menerima salinan duplikat pesan (pengiriman setidaknya sekali). Jika Anda menggunakan antrean standar, Anda harus merancang aplikasi Anda menjadi idempoten (artinya, aplikasi Anda tidak boleh terpengaruh ketika memproses pesan yang sama lebih dari satu kali).

Untuk informasi selengkapnya, baca Pemrosesan Tepat-Sekaligus di Panduan Pengembang Amazon SQS.

T: Apakah antrean Amazon SQS yang saya gunakan sebelumnya diubah ke antrean FIFO?

Tidak, antrean standar Amazon SQS (nama baru untuk antrean yang ada) tetap tidak berubah, dan Anda tetap dapat membuat antrean standar. Antrean ini terus menyediakan skalabilitas dan throughput tertinggi; namun, Anda tidak akan mendapatkan jaminan penyusunan dan duplikat yang mungkin terjadi.

Antrean standar cocok untuk banyak skenario, seperti distribusi kerja dengan beberapa pelanggan idempoten.

T: Bisakah saya mengonversikan antrean standar saat ini ke antrean FIFO?

Tidak. Anda harus memilih jenis antrean saat Anda membuatnya. Meski begitu, Anda tetap dapat berpindah ke antrean FIFO. Untuk informasi selengkapnya, baca Berpindah Dari Antrean Standar ke Antrean FIFO di Panduan Pengembang Amazon SQS.

T: Apakah antrean FIFO Amazon SQS kompatibel untuk versi sebelumnya?

Untuk memanfaatkan fungsionalitas antrean FIFO, Anda harus menggunakan AWS SDK terbaru.

Antrean FIFO menggunakan tindakan API seperti antrean standar, dan mekanika untuk menerima dan menghapus pesan serta mengubah batas waktu visibilitas yang sama. Namun, saat mengirimkan pesan, Anda harus menentukan ID grup pesan. Untuk informasi selengkapnya, baca Logika Antrean FIFO di Panduan Pengembang Amazon SQS.

T: Layanan AWS atau layanan eksternal apa yang kompatibel dengan antrean FIFO Amazon SQS?

Beberapa layanan AWS atau layanan eksternal yang mengirimkan pemberitahuan ke Amazon SQS mungkin tidak kompatibel dengan antrean FIFO, meski memungkinkan Anda mengatur antrean FIFO sebagai target.

Fitur layanan AWS berikut saat ini tidak kompatibel dengan anteran FIFO:

Untuk informasi tentang kompatibilitas layanan lain dengan antrean FIFO, lihat dokumentasi layanan Anda.

T: Apakah antrean FIFO Amazon SQS kompatibel dengan Amazon SQS Buffered Asynchronous Client, Amazon SQS Extended Client Library for Java, atau Amazon SQS Java Message Service (JMS) Client?

Antrean FIFO saat ini tidak kompatibel dengan Amazon SQS Buffered Asynchronous Client.

Antrean FIFO kompatibel dengan Amazon SQS Extended Client Library for Java dan Amazon SQS Java Message Service (JMS) client.

T: Metrik AWS CloudWatch apa yang didukung antrean FIFO Amazon SQS?

Antrean FIFO mendukung semua metrik yang didukung antrean standar. Untuk antrean FIFO, semua perkiraan metrik menghasilkan jumlah yang akurat. Misalnya, metrik AWS CloudWatch berikut didukung:

  • ApproximateNumberOfMessagesDelayed - Jumlah pesan dalam antrean yang ditangguhkan dan tidak tersedia untuk segera dibaca.
  • ApproximateNumberOfMessagesVisible - Jumlah pesan tersedia untuk diambil dari antrean.
  • ApproximateNumberOfMessagesNotVisible - Jumlah pesan yang berada dalam pengiriman (terkirim ke klien namun belum dihapus atau belum mencapai ujung jendela visibilitas mereka).

T: Apa itu grup pesan?

Pesan dikelompokkan dalam "bundel" yang disusun terpisah dalam antrean FIFO. Untuk setiap ID grup, semua pesan akan dikirim dan diterima dalam urutan yang ketat. Meski begitu, pesan dengan nilai ID grup berbeda mungkin dikirim dan diterima di luar susunan. Anda harus menghubungkan ID grup pesan dengan pesan. Jika Anda tidak memberikan ID grup pesan, tindakan akan gagal.

Jika beberapa host (atau utas berbeda pada host yang sama) mengirimkan pesan dengan ID grup pesan yang sama dengan yang dikirim ke antrean FIFO, maka Amazon SQS akan mengirimkan pesan sesuai urutan masuk untuk diproses. Untuk memastikan Amazon SQS mempertahankan urutan pesan dikirim dan diterima, pastikan beberapa pengirim mengirimkan setiap pesan dengan ID grup pesan yang unik.

Untuk informasi selengkapnya, baca Logika Antrean FIFO di Panduan Pengembang Amazon SQS.

T: Apakah antrean FIFO Amazon SQS mendukung beberapa pembuat pesan?

Ya. Satu pembuat pesan atau lebih dapat mengirimkan pesan ke antrean FIFO. Pesan disimpan sesuai urutan saat berhasil diterima oleh Amazon SQS.

Jika beberapa pembuat pesan mengirimkan pesan secara paralel, tanpa menunggu respons berhasil dari tindakan SendMessage atau SendMessageBatch, urutan antar pembuat pesan mungkin tidak dipertahankan. Respons tindakan SendMessage atau SendMessageBatch berisi urutan akhir yang digunakan antrean FIFO untuk menempatkan pesan dalam antrean sehingga kode beberapa pembuat pesan paralel Anda dapat menentukan urutan akhir pesan dalam antrean.

T: Apakah antrean FIFO Amazon SQS mendukung beberapa konsumen?

Secara rancangan, antrean FIFO Amazon SQS tidak menyajikan pesan dari grup pesan yang sama ke lebih dari satu konsumen dalam satu waktu. Namun, jika antrean FIFO Anda memiliki beberapa grup pesan, Anda dapat memanfaatkan konsumen paralel yang memungkinkan Amazon SQS menyajikan pesan dari grup pesan berbeda ke konsumen berbeda pula.

T: Bisakah saya menggunakan antrean dead letter dengan antrean FIFO?

Ya. Tetapi, Anda harus menggunakan antrean dead letter FIFO bersama dengan antrean FIFO. (Sama halnya, Anda hanya dapat menggunakan antrean dead letter standar dengan antrean standar.)

T: Berapa kuota throughput untuk antrean FIFO Amazon SQS?

Secara default, antrean FIFO mendukung hingga 3.000 pesan per detik dengan batching, atau hingga 300 pesan per detik (300 operasi kirim, terima, atau hapus per detik) tanpa batching. Jika Anda memerlukan throughput yang lebih tinggi, Anda dapat mengaktifkan mode throughput tinggi untuk FIFO di konsol Amazon SQS, yang akan mendukung hingga 30.000 pesan per detik dengan batching, atau hingga 3.000 pesan per detik tanpa batching.

T: Apakah terdapat batasan khusus untuk atribut antrean FIFO?

Nama antrean FIFO harus berakhiran dengan sufiks .fifo. Sufiks tersebut terhitung pada batas nama antrean 80 karakter. Untuk menentukan apakah antrean adalah FIFO, Anda dapat memeriksa apakah nama antrean berakhir dengan sufiks tersebut.

Keamanan dan keandalan

T: Seberapa andal penyimpanan data saya di Amazon SQS?

Amazon SQS menyimpan semua antrean pesan dan pesan di dalam satu wilayah AWS yang memiliki ketersediaan tinggi bersama dengan beberapa Availability Zone (AZ) yang redundan, sehingga tidak ada satu pun kegagalan komputer, jaringan atau AZ yang dapat membuat pesan tidak bisa diakses Untuk informasi selengkapnya, lihat Wilayah dan Availability Zone dalam Panduan Pengguna Amazon Relational Database Service.

T: Bagaimana saya dapat mengamankan pesan dalam antrean pesan?

Mekanisme autentikasi memastikan bahwa pesan yang disimpan di dalam antrean pesan Amazon SQS diamankan dari akses yang tidak terotorisasi. Anda dapat mengontrol orang yang dapat mengirimkan pesan ke antrean pesan dan orang yang dapat menerima pesan dari antrean pesan. Untuk keamanan tambahan, Anda dapat membuat aplikasi Anda agar mengenkripsi pesan sebelum ditempatkan dalam antrean pesan.

Amazon SQS memiliki sistem izin berbasis sumber daya tersendiri yang menggunakan kebijakan tertulis dalam bahasa yang sama dengan kebijakan AWS Identity and Access Management (IAM): contohnya, Anda dapat menggunakan variabel, sama seperti kebijakan IAM. Untuk informasi selengkapnya, baca Contoh Kebijakan Amazon SQS di Panduan Pengembang Amazon SQS.

Amazon SQS mendukung protokol HTTP over SSL (HTTPS) dan Transport Layer Security (TLS). Kebanyakan klien secara otomatis dapat berunding untuk menggunakan versi terbaru TLS tanpa perubahan kode atau konfigurasi apa pun. Amazon SQS mendukung versi 1.0, 1.1, dan 1.2 dari protokol Transport Layer Security (TLS) di semua wilayah.

T: Mengapa terdapat operasi ReceiveMessage dan DeleteMessage yang terpisah?

Saat Amazon SQS mengembalikan pesan kepada Anda, pesan akan tetap berada dalam antrean baik Anda menerima benar-benar menerima pesan atau tidak. Anda bertanggung jawab untuk menghapus pesan dan permintaan penghapusan mengakui bahwa Anda telah memproses pesan.

Jika Anda tidak menghapus pesan, Amazon SQS akan mengirimkan kembali pesan tersebut saat menerima permintaan penerimaan lain. Untuk informasi selengkapnya, baca Batas Waktu Visibilitas di Panduan Pengembang Amazon SQS.

T: Dapatkah pesan yang telah dihapus diterima kembali?

Tidak. Antrean FIFO tidak pernah memasukkan pesan duplikat.

Untuk antrean standar, dalam keadaan tertentu, Anda mungkin menerima pesan yang dihapus sebelumnya untuk kali kedua. 

T: Apa yang terjadi jika saya mengirimkan permintaan DeleteMessage pada pesan yang dihapus sebelumnya?

Saat Anda mengirimkan permintaan DeleteMessage pada pesan yang dihapus sebelumnya, Amazon SQS akan menghasilkan respons berhasil.

Server-Side encryption (SSE)

T: Apa kelebihan server-side encryption (SSE) untuk Amazon SQS?

Server-side encryption (SSE) memungkinkan Anda untuk mengirimkan data sensitif dalam antrean terenkripsi. SSE melindungi konten pesan pada antrean Amazon SQS menggunakan kunci yang dikelola dalam AWS Key Management Service (AWS KMS). SSE mengenkripsi pesan segera setelah Amazon SQS menerimanya. Pesan kemudian disimpan dalam bentuk terenkripsi dan Amazon SQS mendekripsikan pesan hanya saat mereka terkirim ke konsumen yang sah.

Untuk informasi selengkapnya, lihat Melindungi Data Menggunakan Server-Side Encryption (SSE) dan AWS KMS dalam Panduan Pengembang Amazon SQS

T: Bisakah saya menggunakan SNS, Cloud Watch Events, dan S3 Events dengan antrean terenkripsi?

Ya. Untuk melakukan hal ini Anda perlu mengaktifkan kompatibilitas antar layanan AWS (misal Amazon CloudWatch Events, Amazon S3, serta Amazon SNS), dan Antrean dengan SSE. Untuk panduan mendetail lihat Bagian kompatibilitas di Panduan Pengembang SQS.  

T: Di wilayah mana antrean dengan SSE tersedia?

Enkripsi di sisi server (SSE) untuk Amazon SQS tersedia di semua wilayah AWS tempat Amazon SQS tersedia. Lihat di sini untuk detail ketersediaan wilayah Amazon SQS.

T: Bagaimana cara mengaktifkan SSE untuk antrean Amazon SQS baru atau yang sudah ada?

Untuk mengaktifkan SSE untuk antrean baru atau yang sudah ada menggunakan API Amazon SQS, tentukan ID kunci master konsumen (CMK): alias, ARN alias, ID kunci, atau ARN kunci dari CMK yang dikelola AWS atau CMK kustom dengan mengatur atribut KmsMasterKeyId tindakan CreateQueue atau SetQueueAttributes.

Untuk panduan selengkapnya, lihat Membuat Antrean Amazon SQS dengan Server-Side Encryption dan Mengonfigurasi Server-Side Encryption (SSE) untuk Antrean Amazon SQS yang Sudah Ada di Panduan Pengembang Amazon SQS.

T: Jenis antrean Amazon SQS apa yang dapat menggunakan SSE?

Baik antrean standar maupun FIFO mendukung SSE.

T: Izin apa yang saya perlukan untuk menggunakan SSE dengan Amazon SQS?

Sebelum Anda dapat menggunakan SSE, Anda harus mengonfigurasikan kebijakan kunci AWS KMS untuk mengizinkan enkripsi antrean serta enkripsi dan dekripsi pesan.

Untuk mengaktifkan SSE untuk antrean, Anda dapat menggunakan kunci master konsumen (CMK) yang dikelola AWS untuk Amazon SQS atau CMK kustom. Untuk informasi lebih lanjut, lihat Kunci Master Konsumen pada Panduan Pengembang AWS KMS.

Untuk mengirimkan pesan ke antrean terenkripsi, pembuat pesan harus memiliki izin kms:GenerateDataKey dan kms:Decrypt untuk CMK.

Untuk menerima pesan dari antrean terenkripsi, konsumen harus memiliki izin kms:Decrypt untuk CMK apa pun yang digunakan untuk mengenkripsi pesan pada antrean spesifik. Jika antrean bertindak sebagai antrean dead letter, konsumen juga harus memiliki izin kms:Decrypt untuk CMK apa pun yang digunakan untuk mengenkripsi pesan pada antrean sumber.

Untuk informasi selengkapnya, lihat Izin Apa yang Saya Perlukan untuk Menggunakan SSE? di Panduan Pengembang Amazon SQS.

T: Apakah terdapat biaya atas penggunaan SSE dengan Amazon SQS?

Tidak ada biaya Amazon SQS tambahan. Namun, terdapat biaya untuk panggilan dari Amazon SQS ke AWS KMS. Untuk informasi lebih lanjut, lihat Harga AWS Key Management Service.

Biaya penggunaan AWS KMS tergantung pada periode penggunaan ulang kunci data yang dikonfigurasikan untuk antrean Anda. Untuk informasi selengkapnya, lihat Bagaimana Cara Memperkirakan Biaya Penggunaan AWS KMS? di Panduan Pengembang Amazon SQS.

T: Apa yang dienkripsi SSE untuk Amazon SQS dan bagaimana cara kerja enkripsi tersebut?

SSE mengenkripsi badan pesan dalam antrean Amazon SQS.

SSE tidak mengenkripsi komponen-komponen berikut:

  • Metadata antrean (nama dan atribut antrean)
  • Metadata pesan (ID, tanda waktu, dan atribut pesan)
  • Metrik per-antrean

Amazon SQS membuat kunci data berdasarkan kunci master pelanggan (CMK) yang dikelola AWS untuk Amazon SQS atau CMK kustom guna memberikan enkripsi amplop serta dekripsi pesan untuk periode waktu yang dapat dikonfigurasi (dari 1 menit hingga 24 jam).

Untuk informasi selengkapnya, baca Apa yang Dienkripsi SSE untuk Amazon SQS? di Panduan Pengembang Amazon SQS.

T: Algoritme apa yang digunakan SSE untuk Amazon SQS guna mengenkripsi pesan?

SSE menggunakan algoritme AES-GCM 256.

T: Apakah SSE membatasi transaksi per detik (TPS) atau jumlah antrean yang dapat dibuat dengan Amazon SQS?

SSE tidak membatasi throughput (TPS) Amazon SQS. Jumlah antrean SSE yang dapat Anda buat terbatas pada hal berikut:

  • Periode penggunaan ulang kunci data (1 menit hingga 24 jam).
  • Kuota per-akun AWS KMS (100 TPS secara default).
  • Jumlah pengguna atau akun IAM yang mengakses antrean.
  • Adanya backlog besar (backlog yang lebih besar memerlukan panggilan AWS KMS lebih banyak).

Misalnya, mari kita asumsikan hal berikut:

  • Anda mengatur periode penggunaan ulang kunci data menjadi 5 menit (300 detik).
  • Akun KMS Anda memiliki kuota TPS AWS KMS sebesar 100 TPS.
  • Anda menggunakan antrean Amazon SQS tanpa backlog dan dengan 1 IAM pengguna untuk
  • Tindakan SendMessage atau ReceiveMessage pada semua antrean.

Dalam hal ini, Anda dapat menghitung jumlah maksimal teoretis dari antrean Amazon SQS dengan SSE sebagai berikut:

300 detik × 100 TPS / 1 pengguna IAM = 30.000 antrean

T: Bagaimana saya dapat memperkirakan biaya penggunaan AWS KMS saya?

Untuk memperkirakan biaya dan memahami tagihan AWS Anda lebih dalam, Anda mungkin ingin mengetahui seberapa sering Amazon SQS menggunakan CMK Anda.

Catatan: Meski rumus berikut dapat memberikan Anda pemahaman yang sangat bagus akan perkiraan biaya, biaya sebenarnya mungkin lebih tinggi karena sifat distribusi Amazon SQS.

Untuk menghitung jumlah permintaan API per antrean (R), gunakan rumus berikut:

R = B / D * (2 * P + C)

B adalah periode tagihan (dalam hitungan detik)

D adalah periode penggunaan ulang kunci data (dalam hitungan detik)

P adalah jumlah pokok pembuat yang mengirimkan ke antrean Amazon SQS.

C adalah jumlah pokok konsumen yang menerima dari antrean Amazon SQS.

Penting: Secara umum, pokok pembuat dikenakan biaya dua kali lipat dari biaya pokok konsumen. Untuk informasi selengkapnya, lihat Bagaimana Cara Kerja Periode Penggunaan Ulang Kunci Data? di Panduan Pengembang Amazon SQS.

Jika pembuat dan konsumen memiliki pengguna IAM yang berbeda, biaya akan meningkat.

Untuk informasi selengkapnya, lihat Bagaimana Saya Memperkirakan Biaya Penggunaan AWS KMS? di Panduan Pengembang Amazon SQS

Kepatuhan

T: Apakah Amazon SQS bersertifikasi PCI DSS?

Ya. Amazon SQS bersertifikasi PCI DSS Tingkat 1. Untuk informasi selengkapnya, lihat Kepatuhan PCI.

T: Apakah Amazon SQS mematuhi syarat HIPAA?

Ya, AWS telah memperluas program kepatuhan HIPAA untuk memasukkan Amazon SQS sebagai Layanan yang Memenuhi Syarat HIPAA. Jika Anda memiliki Perjanjian Rekanan Bisnis (BAA) dengan AWS, Anda dapat menggunakan Amazon SQS untuk membuat aplikasi yang patuh HIPAA, menyimpan pesan saat dalam transit, dan mengirimkan pesan—termasuk pesan yang berisi informasi kesehatan dilindungi (PHI).

Jika Anda telah menjalankan BAA dengan AWS, Anda bisa mulai menggunakan Amazon SQS secara langsung. Jika Anda tidak memiliki BAA atau memiliki pertanyaan tentang penggunaan AWS untuk aplikasi patuh HIPAA Anda, hubungi kami untuk informasi selengkapnya.

Catatan: Jika Anda lebih memilih untuk mentransfer PHI melalui Amazon SQS (atau jika Anda memiliki pesan dengan ukuran lebih besar dari 256 KB), sebagai gantinya Anda dapat mengirimkan beban pembayaran pesan Amazon SQS melalui Amazon S3 menggunakan Amazon SQS Extended Client Library for Java (Amazon S3 adalah Layanan yang Memenuhi Syarat HIPAA, tidak termasuk penggunaan Amazon S3 Transfer Acceleration). Untuk informasi selengkapnya, lihat Menggunakan Amazon SQS Extended Client Library for Java di Panduan Pengembang Amazon SQS.

Limit dan batasan

T: Berapa lama saya dapat menyimpan pesan di antrean pesan Amazon SQS?

Retensi pesan yang lebih panjang memberikan fleksibilitas lebih besar untuk memungkinkan interval lebih panjang antara produksi dan konsumsi pesan.

Anda dapat mengonfigurasi periode retensi pesan Amazon SQS menjadi nilai dari 1 menit hingga 14 hari. Konfigurasi default adalah 4 hari. Setelah kuota retensi pesan tercapai, pesan Anda akan dihapus secara otomatis.

T: Bagaimana cara mengonfigurasi Amazon SQS agar mendukung retensi pesan yang lebih panjang?

Untuk mengonfigurasi periode retensi pesan, atur atribut MessageRetentionPeriod menggunakan konsol atau menggunakan metode Distributiveness. Gunakan atribut ini untuk menentukan jumlah detik untuk mempertahankan pesan dalam Amazon SQS.

Anda dapat menggunakan atribut MessageRetentionPeriod untuk mengatur periode retensi pesan dari 60 detik (1 menit) hingga 1.209.600 detik (14 hari). Untuk informasi selengkapnya tentang penggunaan atribut pesan ini, lihat Referensi API Amazon SQS.

T: Bagaimana cara mengonfigurasi ukuran pesan maksimum untuk Amazon SQS?

Untuk mengonfigurasi ukuran pesan maksimum, gunakan konsol atau metode SetQueueAttributes untuk mengatur atribut MaximumMessageSize. Atribut ini menentukan jumlah byte yang dapat dimuat pesan Amazon SQS. Atur atribut ini hingga nilai di antara 1.024 byte (1 KB), dan 262.144 byte (256 KB). Untuk informasi selengkapnya, baca Menggunakan Atribut Pesan Amazon SQS di Panduan Pengembang Amazon SQS.

Untuk mengirimkan pesan yang lebih besar dari 256 KB, gunakan Amazon SQS Extended Client Library for Java. Pustaka ini memungkinkan Anda mengirimkan pesan Amazon SQS yang memuat referensi ke muatan pesan dalam Amazon S3 yang bisa berukuran sebesar 2 GB.

T: Data seperti apa yang dapat saya sertakan dalam sebuah pesan?

Amazon SQS dapat memuat hingga 256 KB data teks, termasuk XML, JSON dan teks tak berformat. Karakter Unicode berikut diterima:

#x9 | #xA | #xD | [#x20 to #xD7FF] | [#xE000 to #xFFFD] | [#x10000 to #x10FFFF]

Untuk informasi selengkapnya, lihat situs web Spesifikasi XML 1.0.

T: Seberapa besar antrean pesan Amazon SQS?

Satu antrean pesan Amazon SQS dapat memuat jumlah pesan yang tak terbatas. Meski begitu, terdapat kuota 120.000 untuk jumlah pesan dalam pengiriman untuk antrean standar dan 20.000 untuk antrean FIFO. Pesan akan dikirimkan setelah diterima dari antrean oleh komponen konsumen, tetapi belum dihapus dari antrean tersebut.

T: Berapa banyak antrean pesan yang dapat saya buat?

Anda dapat membuat berapa pun jumlah antrean pesan.

T: Apakah terdapat limit ukuran nama antrean pesan Amazon SQS?

Nama antrean dibatasi hingga 80 karakter.

T: Apakah terdapat pembatasan pada nama antrean Amazon SQS?

Anda dapat menggunakan karakter alfanumerik, tanda hubung (-), dan garis bawah (_).

T: Dapatkah saya menggunakan kembali sebuah nama antrean pesan?

Nama antrean pesan harus unik dalam akun dan wilayah AWS. Anda dapat menggunakan kembali nama antrean setelah menghapus antrean pesan tersebut.

Berbagi antrean

T: Bagaimana cara membagikan antrean pesan?

Anda dapat menghubungkan pernyataan kebijakan akses (dan menentukan izin yang diberikan) bersama dengan antrean pesan yang dibagikan. Amazon SQS menyediakan API untuk pembuatan dan pengelolaan pernyataan kebijakan akses:

  • AddPermission
  • RemovePermission
  • SetQueueAttributes
  • GetQueueAttributes

Untuk informasi selengkapnya, lihat Referensi API Amazon SQS.

T: Siapa yang membayar akses antrean bersama?

Pemilik antrean pesan membayar akses antrean pesan bersama.

T: Bagaimana cara mengidentifikasi pengguna AWS lain yang ingin saya beri antrean pesan?

API Amazon SQS menggunakan nomor akun AWS untuk mengidentifikasi pengguna AWS.

T: Apa yang perlu saya sediakan untuk pengguna AWS yang ingin saya beri antrean pesan?

Untuk membagikan antrean pesan dengan pengguna AWS, sediakan URL lengkap dari antrean pesan yang ingin Anda bagikan. Operasi CreateQueue dan ListQueues akan menghasilkan URL ini sebagai responsnya.

T: Apakah Amazon SQS mendukung akses anonim?

Ya. Anda dapat mengonfigurasi kebijakan akses yang memungkinkan pengguna anonim untuk mengakses antrean pesan.

T: Kapan saya harus menggunakan izin API?

Izin API memberikan antarmuka untuk membagikan akses untuk antrean pesan ke pengembang. Namun, API ini tidak dapat mengizinkan akses bersyarat atau kasus penggunaan lebih lanjut.

T: Kapan saya harus menggunakan operasi SetQueueAttributes dengan objek JSON?

Operasi SetQueueAttributes mendukung bahasa kebijakan akses penuh. Contohnya, Anda dapat menggunakan bahasa kebijakan untuk membatasi akses ke antrean pesan dengan alamat IP dan waktu dalam sehari. Untuk informasi selengkapnya, baca Contoh Kebijakan Amazon SQS di Panduan Pengembang Amazon SQS.

Akses layanan dan wilayah

T: Di wilayah mana Amazon SQS tersedia?

Untuk ketersediaan wilayah layanan, lihat Tabel Wilayah Infrastruktur Global AWS.

T: Dapatkah saya membagikan pesan antara antrean di wilayah yang berbeda?

Tidak. Setiap antrean pesan Amazon SQS bersifat independen dalam tiap wilayah.

T: Apakah terdapat perbedaan harga antara wilayah?

Harga Amazon SQS sama untuk semua wilayah, kecuali China (Beijing) Untuk informasi selengkapnya, lihat Harga Amazon SQS.

T: Bagaimana struktur harga antara berbagai wilayah?

Anda dapat mentransfer data antar Amazon SQS dan Amazon EC2 atau AWS Lambda tanpa biaya tambahan dalam satu wilayah yang sama.

Saat Anda mentransfer data antara Amazon SQS dan Amazon EC2 atau AWS Lambda dalam wilayah yang berbeda, Anda akan dikenakan tarif transfer data normal. Untuk informasi selengkapnya, lihat Harga Amazon SQS.

Pelajari selengkapnya tentang harga Amazon SQS

Kunjungi halaman harga
Siap membuat?
Memulai dengan Amazon SQS
Ada pertanyaan lagi?
Hubungi kami