配属先で「その処理はキューに積んでおいて」「エスキューエスに投げて」といった会話が飛び交い、ついていけないと感じていませんか?ここで出てくるSQSは、AWSのメッセージキュー「Amazon SQS」のことです。
この記事では、そのAmazon SQSを「順番待ちの整理券発行機」というたとえ話を軸に、仕組みから現場での使いどころ、似たサービスとの違い、料金の考え方までまとめて解説します。
結論から言うと、Amazon SQSとはやってほしい用件をいったん預かって、受け取る側が取りに来るまで消さずに待たせておくサービスです。
この記事でわかること
- Amazon SQSがどんなサービスか(たとえ話つき)
- キューの仕組みと、現場で出会う場面・つまずきやすい点
- SNSとの違いやLambdaとのつながり、Amazon SQSの料金と無料枠
Amazon SQSとは?一言でいうと「順番待ちの整理券発行機」
Amazon SQS(エスキューエス)とは、AWSが提供するメッセージキューのサービスです。正式には「Amazon Simple Queue Service」といいます。キューとは、順番に並んだ待ち行列のことです。
AWS公式は、SQSを使うと「ソフトウェアコンポーネント間で任意の量のメッセージを送信、保存、受信することができ、メッセージを失ったり、他のサービスを利用する必要もありません」と説明しています。
ここで、役所や銀行の整理券の機械を思いうかべてください。窓口がどれだけ混んでいても、来た人はまず整理券を取って座って待てます。窓口の人は、自分のペースで一枚ずつ呼び出せます。
Amazon SQSがやっているのは、これとまったく同じことです。用件を出す側は、キューに一枚積んだらすぐ次の仕事へ移れます。処理する側は、手が空いたときに取りに行きます。
なぜこの形が便利なのかというと、送る側と処理する側を切りはなせるからです。急に来客が増えても、待合室に並んでもらえば窓口はあふれません。処理する側が止まっていても、用件は消えずに残ります。
ここが大事な点です。Amazon SQSは、何かを計算してくれる道具ではありません。用件をあずかって、順番に渡すためだけの道具です。

Amazon SQSの仕組みと使いどころ
登場人物は3つだけ
Amazon SQSを理解する近道は、登場人物を3つに分けて覚えることです。
- プロデューサー — 用件をキューへ送る側。整理券を発行してもらう人
- キュー — 用件が並んで待つ場所。整理券の待ち行列そのもの
- コンシューマー — キューから取り出して処理する側。窓口の人
ここで、SQSの性格を1つだけ覚えてください。SQSは自分から配りに行きません。コンシューマーのほうから「何か来てる?」と取りに行く形です。
この「取りに行く」やり方には、空振りがつきものです。そこでロングポーリングという仕組みがあります。キューが空のとき、公式の説明では「次のメッセージが到着するまで、最大で 20 秒」待ってくれます。空振りの問い合わせが減るので、あとで説明する料金にも効いてきます。
標準キューとFIFOキュー
キューには2種類あり、性格がはっきり違います。
標準キューは「ほぼ無制限の数のトランザクション/秒」をさばけます。ただし配信は「少なくとも 1 回」で、公式も「複数のメッセージのコピーが配信されることもあります」と明記しています。順序も「ベストエフォート型」です。
FIFOキューは名前のとおり、先に入れたものが先に出ます。重複のない「Exactly-Once 処理」も特徴です。
迷ったら標準キューで構いません。順番が狂うと困る処理や、二重に実行されたら困る処理のときだけFIFOを選びます。
取り出したメッセージがすぐ消えない理由
初心者がいちばん驚くのが、取り出しても消えないという動きです。これは可視性タイムアウトという仕組みによるものです。
コンシューマーが受け取ると、そのメッセージはキューに残ったまま、ほかのコンシューマーからは見えなくなります。この時間は初期値で30秒、最長で受信から12時間です。
処理が終わったら、コンシューマーが自分で削除します。削除しないまま時間が過ぎると、メッセージはまた見えるようになります。つまり処理の途中で落ちても用件は失われません。よくできた仕組みです。
用件が待てる長さも決まっています。保持期間の初期値は4日で、最長14日、最短60秒です。
それでも失敗し続けるメッセージは出てきます。その受け皿がデッドレターキュー(DLQ)です。公式の説明では、受信の回数が上限を超えたメッセージを、元のキューに結びつけたDLQへ移します。壊れた1件が行列を止め続けるのを防ぐための、隔離用の置き場です。
新社会人がAmazon SQSに出会う場面
入社1〜3年目でありがちなのは、「その重い処理は後ろに回して」と頼まれる場面です。
たとえば、申し込みボタンを押した直後に、確認メールの送信と帳票の作成が走るとします。これを画面のなかで全部やると、利用者は待たされます。そこでキューに積んで、あとで処理する形に変えるわけです。
覚えておくと強いのは、次の順番で確かめることです。
- どのキューに、誰が用件を積んでいるかを確かめる
- そのキューを、どのプログラムが取りに来ているかを見る
- 失敗した用件がDLQにたまっていないかを見る
つまずきやすいのは「同じ処理が2回走った」という相談です。標準キューでは重複が起こりえるので、キューを疑う前に、2回動いても結果が変わらない作りになっているかを確かめます。同じ用件を2回処理しても平気にしておく考え方を、冪等性(べきとうせい)と呼びます。
もうひとつは「メッセージが減らない」という相談です。原因は削除のし忘れか、処理が可視性タイムアウトより長くかかっているかのどちらかが大半です。
Amazon SQSと関連サービスの違い・つながり
いちばん混同されやすいのがSNSとの違いです。名前も並びも似ていますが、役割は正反対に近いものです。
SNSは、投げたその場で登録者全員へ配ります。受け取る側が止まっていたら、そのぶんは届きません。いっぽうSQSは、いったん貯めておき、受け取る側が取りに来るのを待ちます。
たとえるなら、SNSが校内放送、SQSが職員室の伝言メモです。放送は聞き逃したら終わりですが、メモは机に残っていて、戻ってきたときに読めます。
そして現場では、この2つを組み合わせるのが定番です。SNSのトピックにSQSのキューを登録しておくと、一斉に配りつつ、受け取る側の都合で処理できます。「聞き逃しの無い一斉放送」が作れる、というわけです。
取り出す側としてよく組まれるのがLambdaです。キューに用件が届くと自動で動き、処理が成功すればメッセージの削除まで面倒を見てくれます。用件が増えれば動く数も増えるので、行列の長さに合わせて自然に伸び縮みします。
もちろんEC2の上で、取りに行くプログラムを動かし続ける形もよくあります。処理が長い仕事や、常に動かしておきたい仕事はこちらが向きます。
行列の長さを見張るのがCloudWatchです。待っている件数や、いちばん古い用件が何秒待たされているかを見て、たまりすぎたら知らせます。詰まりに気づけるかどうかは、この監視で決まります。
誰がキューへ送れて、誰が取り出せるかの制御はIAMが担当します。用件の中身には利用者の情報が入りがちなので、送れる相手と取り出せる相手は必要な範囲にしぼるのが基本です。
現場ノート:キューは件数ではなく「いちばん古い用件の待ち時間」で見る
監視の設計を長く担当してきた立場から、Amazon SQSで最初に見る指標を1つだけ挙げます。ApproximateAgeOfOldestMessage、キューの中でいちばん長く待っている用件が何秒待たされているか、です。
件数(ApproximateNumberOfMessagesVisible)で監視する設計もよく見かけますが、これはしきい値を決めるのが難しいと感じています。処理が速い日は1万件たまっても数分で消え、遅い日は100件でも1時間残ります。件数のアラームは忙しい日ほど鳴りっぱなしになり、やがて誰も見なくなります。
待ち時間で見ると、しきい値を業務の言葉で決められます。「確認メールは5分以内に届いてほしい」なら300秒でアラーム、という決め方です。報告のときも「キューが2,000件たまっています」より「いちばん古い用件が12分待っています」のほうが、聞く側にすぐ伝わります。
もうひとつ、DLQは「0件であること」を監視します。DLQに入った用件は、放っておいても自動では直りません。作ったまま誰も見ていないDLQは、引き継いだ環境でいちばんよく見かける置き去りです。
可視性タイムアウトは、処理にかかる時間に対して余裕を持たせて決めます。初期値の30秒のまま1分かかる処理をつなぐと、終わる前に用件がまた見えるようになり、同じ処理が二重に走ります。「同じ処理が2回動いた」という相談は、まずここを疑うと早いです。
Amazon SQSの料金と無料枠
Amazon SQSの課金は、とてもわかりやすく「リクエストの回数」だけで決まります。以下は執筆時点(2026年9月)の東京リージョンの公式料金の内容です。
まず、公式は「すべてのお客様は、毎月 Amazon SQS リクエストを 100 万件まで無料で行えます」としています。この無料枠は最初の12か月ではなく、毎月ずっと使えます。
- 無料枠 — 毎月100万リクエストまで無料
- 標準キュー — 100万リクエストあたり0.40 USD
- FIFOキュー — 100万リクエストあたり0.50 USD
- 同じリージョン内のデータ転送 — 無料
ここで気をつけたいのが、リクエストの数えかたです。送信・受信・削除は、それぞれが1リクエストになります。用件を1件さばくだけで3回ぶん進む、と思っておくと見積もりを外しません。
空振りの受信も1リクエストです。だからこそ、さきほどのロングポーリングが効きます。何もない行列を短い間隔でのぞき続けると、回数だけが増えていきます。
大きさの数えかたにも決まりがあります。公式は「ペイロードは 64 KB ごとにまとめて 1 件のリクエストとして請求されます」としています。メッセージは最大で1 MiBまで送れますが、その場合は16リクエストぶんの請求になります。
個人の練習用なら、まず無料枠を超えません。データ転送も、同じリージョンの中で送り受けするぶんには料金がかかりません。リージョンをまたぐ場合とインターネットとのやりとりだけ、標準のデータ転送料金が別にかかります。
なお料金はリージョンによって違い、見直されることもあります。実際に使う前には、かならず公式の料金ページで最新の内容を確認してください。
Amazon SQSのまとめ
ここまでの要点を整理します。
- Amazon SQSは、用件をあずかって順番に渡す整理券発行機のようなサービス
- 取り出しても消えず、削除するまで残る。だから途中で落ちても失われない
- 課金はリクエストの回数だけ。毎月100万件まで無料で使える
まずは自分の現場で、画面の裏側に回されている処理がないかを探してみてください。行列のどこで詰まっているかを追えるようになると、障害対応のときに動ける人になれます。

コメント