並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 78件

新着順 人気順

sqsの検索結果1 - 40 件 / 78件

  • Amazon SQS を使ったアプリケーションを本番で運用する際に考慮すべき基本的な 5 つのこと

    Amazon SQS は可用性やスケーラビリティの高いメッセジキューサービスであり、AWS の代表的なサービスの 1 つと言えるでしょう。ところが、本番の運用に耐えられるアプリケーションにしようと思うと考えることが意外に多いものです。本エントリーでは簡単なサンプルアプリケーションをベースに、本番で運用するために考慮すべき点・注意点について見ていきます。題材として扱うのが SQS なだけで、SQS 以外を使ったアプリケーションにも応用できる内容もあるでしょう。 なお、SQS には Standard queue と FIFO queue がありますが、Standard queue を使う前提とします。 アジェンダは次のとおりです。 サンプルアプリケーション 1. ログ 2. At-least-once delivery と visibility timeout 3. デプロイ 4. 異常系 5

      Amazon SQS を使ったアプリケーションを本番で運用する際に考慮すべき基本的な 5 つのこと
    • SQSを用いたクレジットカード決済の非同期化 - ZOZO TECH BLOG

      こんにちは、カート決済部カート決済サービスブロックの林です。普段はZOZOTOWN内のカートや決済の機能開発、保守運用、リプレイスを担当しています。 弊社ではカートや決済機能のリプレイスを進めており、これまでにカート投入のキャパシティコントロールや在庫データのクラウドリフトを実現しています。 techblog.zozo.com techblog.zozo.com 本記事では新たにクレジットカード決済処理を非同期化したリプレイス事例を紹介します。 はじめに 背景・課題 非同期化のシステム構成 パターン1 - 完全非同期化パターン パターン2 - 非同期・同期切り替えパターン パターン3 - ポーリングパターン システム構成の決定 メッセージングサービスの選定 効果 今後の展望 まとめ さいごに はじめに 本章では、非同期化前のZOZOTOWNのクレジットカード決済を用いた注文処理の流れを説明

        SQSを用いたクレジットカード決済の非同期化 - ZOZO TECH BLOG
      • AWS でバッチ処理・定期実行する4つの方法(EC2,EventBridge,SQS,ECS,Lambda)

        AWS上でバッチ処理を行う場合に、 どのAWSサービスが選択肢として考えられるかどのAWSサービスを選択すればいいのかについて考えていきます。 AWSでバッチ処理・定期実行する方法を4つ紹介し、それぞれ特徴やメリットとデメリットがありますので、この点について記載していきます。 バッチ処理・定期実行方式のパターンと特徴を知って適切な手段を選択しよう!という記事です。 まずはどのような構築方法があるかについて記載していきます。

          AWS でバッチ処理・定期実行する4つの方法(EC2,EventBridge,SQS,ECS,Lambda)
        • SQS + Lambda という⾮同期処理 ⻩⾦パターン再⼊⾨ #AWSDevDay / SQS-Lambda-DevDay2022

          Talked at AWS Dev Day Japan 2022. - 解説動画 : https://www.youtube.com/watch?v=hT7Se0oFEkU - イベントページ: https://aws.amazon.com/jp/events/devday/japan/ - Pr…

            SQS + Lambda という⾮同期処理 ⻩⾦パターン再⼊⾨ #AWSDevDay / SQS-Lambda-DevDay2022
          • [レポート] SNSとSQSとLambdaによるスケーラブルでサーバーレスなイベント駆動アーキテクチャ #reinvent #svs303 | DevelopersIO

            こんにちは。サービスグループの武田です。 開催中のre:Invent 2020でScalable serverless event-driven architectures with SNS, SQS & Lambdaのセッションを視聴しましたのでレポートします。 何度か配信がありますので視聴したい方はスケジュールを確認してみてください。 AWS re:Invent 2020 セッション概要 スピーカー Justin Pirtle(AWS Speaker) タイトル Scalable serverless event-driven architectures with SNS, SQS & Lambda SVS303 イベント駆動型のサーバレスアーキテクチャは、アプリケーションをシームレスに拡張して、ほぼすべての需要に対応できるようにし、従量課金と最小限の運用オーバーヘッドの恩恵を受けます

              [レポート] SNSとSQSとLambdaによるスケーラブルでサーバーレスなイベント駆動アーキテクチャ #reinvent #svs303 | DevelopersIO
            • AWSのSESとSQSを活用したメール受信機能の実装 | Wantedly Engineer Blog

              はじめにこんにちは、ウォンテッドリーのEnablingチームでバックエンドエンジニアをしている冨永(@kou_tominaga)です。Enablingチームでは技術的な取り組みを社外にも発信すべく、週替わりで技術ブログをリレー形式で執筆する事となりました。この技術ブログは第1回目の投稿です。 採用管理システムのWantedly Hireにメール受信機能を実装しました。メール受信は一見単純そうに見えますが、信頼性や安全性を考慮すると様々な検討事項があります。 この記事を通して、メール受信機能を実装する際の設計判断や考慮点について理解を深めていただければ幸いです。特に、AWSのSES(Simple Email Service)やSQS(Simple Queue Service)を使ったシステム設計に興味がある方に参考になる内容となっています。 目次はじめに 背景 課題 やったこと(取り組み・改

                AWSのSESとSQSを活用したメール受信機能の実装 | Wantedly Engineer Blog
              • マルチテナントソリューションでAmazon SQSを使う | Amazon Web Services

                Amazon Web Services ブログ マルチテナントソリューションでAmazon SQSを使う AWS SaaS Factoryチームのシニアパートナーソリューションアーキテクト Raju Patel によって書かれた記事です。 モダンアプリケーションは、サービス統合、バッチ処理、またはワークフローオーケストレーションの一部として、キューイングに依存することがよくあります。キューは、システムの環境に拡張性と耐障害性を追加するうえ重要です。 これは、キューイング戦略をマルチテナントソリューションのワークロードにどのように適用するかを考える必要がある、Software-as-a-Service(SaaS)環境では特に当てはまります。SaaS アプリケーションのキューイングモデルを設計する際には、データの分離、パフォーマンス、および運用を考慮する必要があります。 多くの組織がアマゾンウ

                  マルチテナントソリューションでAmazon SQSを使う | Amazon Web Services
                • Lambda + SQS サーバーレスアプリのデプロイ後に発生した Amazon DevOps Guru インサイトに対応してみる | DevelopersIO

                  Lambda + SQS サーバーレスアプリのデプロイ後に発生した Amazon DevOps Guru インサイトに対応してみる いわさです。 先日見慣れない通知を受信しました。 30 分 ~ 1 時間ごとに 2 ~ 3 通繰り返し受信しています。 { : "InsightId": "AMxSFH12NiEZZsr-jfHFv2kAAAAAAAAAAo9JEljAspyrigPkDSFhyIgEF5aXkZgR", "InsightDescription": "SQS triggered Lambda does not have a Dead Letter Queue", "InsightSeverity": "medium", "StartTime": 1669356000000, "Anomalies": [ { "Id": "AcnYFT7UD35NVOSXRDW6XZX67EOH

                    Lambda + SQS サーバーレスアプリのデプロイ後に発生した Amazon DevOps Guru インサイトに対応してみる | DevelopersIO
                  • BaggageをREST/gRPC/SQSで伝播できるようにした話 - Qiita

                    なお、弊社はベンダーとしてはDatadog、言語としてはGoを使っているのでその前提でこのブログを書きますが、その他のベンダー、言語でも参考になると思います。 Baggageに含めるとよさそうなもの よくあげられる例としては、UserIDやProductID、ソースIPアドレスなどのリクエストに紐づくデータが挙げられます。注意点として、誤って外部のベンダーにBaggageが渡ってしまう(注意しないとあり得ます)ことを考慮し、セキュアな情報は含めないようにすべきです。 他には、featureフラグを運用しているのであれば、feature情報をBaggageに含めると良いでしょう。 BFFなどの通信の入り口でどのfeatureかを判断し、その後のマイクロサービス間での通信はその情報を常に渡してあげることでマイクロサービス全体で同じfeatureを提供することができます。 以前、軽量featur

                      BaggageをREST/gRPC/SQSで伝播できるようにした話 - Qiita
                    • SNS・SQS・Lambdaを使ったファンアウト構成の注意点 - NRIネットコムBlog

                      こんにちは。上村です。 以前、SNSとSQSにてファンアウトを構成*1しLambdaにメッセージを処理させる仕組みを構築したことがあります。 AWS経験が浅い中での作業だったので、非常に学びになりました。 その中で、注意ポイントがいくつかあると感じたので本記事で紹介していきます。 本記事で触れないこと SQS設計の上での注意点 標準キューと FIFO キューを使い分ける 適切に可視性タイムアウトを設定する DLQを設計する Lambda設計の上での注意点 べき等性を考慮する 性能試験なども踏まえてメモリを設定する バッチサイズを意識したスクリプトを組む まとめ 本記事で触れないこと 本構成で利用しているサービスの起動方法や構築方法には触れません。 SNSからSQSへ送信したメッセージをLambdaが処理するよう最低限できている前提で、各設定値をどう注意して決めたのかについて本記事で紹介して

                        SNS・SQS・Lambdaを使ったファンアウト構成の注意点 - NRIネットコムBlog
                      • goqite is a persistent message queue Go library built on SQLite and inspired by AWS SQS (but much simpler)

                        goqite (pronounced Go-queue-ite) is a persistent message queue Go library built on SQLite and inspired by AWS SQS (but much simpler). $ go get github.com/maragudk/goqite See goqite on Github Examples Queue package main import ( "context" "database/sql" "fmt" "log" "time" _ "github.com/mattn/go-sqlite3" "github.com/maragudk/goqite" ) func main() { // Bring your own database connection, since you pr

                        • AWS Lambda now supports partial batch response for SQS as an event source

                          AWS Lambda now supports partial batch response for SQS as an event source. With this feature, when messages on an SQS queue fail to process, Lambda marks a batch of records in a message queue as partially successful and allows reprocessing of only the failed records. By processing information at a record-level instead of batch-level, AWS Lambda has removed the need of repetitive data transfer, inc

                            AWS Lambda now supports partial batch response for SQS as an event source
                          • AWS再入門ブログリレー Amazon SQS編 | DevelopersIO

                            こんにちは、もこ@札幌オフィスです。 当エントリは弊社コンサルティング部による『AWS 再入門ブログリレー 2020』の 5日目のエントリです。 このブログリレーの企画は、普段 AWS サービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、 今一度初心に返って、基本的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。 AWS をこれから学ぼう!という方にとっては文字通りの入門記事として、またすでにAWSを活用されている方にとっても AWSサービスの再発見や2020 年のサービスアップデートのキャッチアップの場となればと考えておりますので、ぜひ最後までお付合い頂ければ幸いです。 では、さっそくいってみましょう。5日目のテーマはAmazon SQSです。 Amazon SQSとは? Amazon SQSとは「Amazon Simple

                              AWS再入門ブログリレー Amazon SQS編 | DevelopersIO
                            • Amazon SQSのロングポーリング設定でコストを99%削減した話 - Uzabase for Engineers

                              こんにちは。 NewsPicksエンジニアの美濃部です。 NewsPicksではAWSをインフラ基盤として利用しているのですが、この記事では実際に行ったSQSのコスト削減の話をしたいと思います。 結論から話すとタイトルにもありますが「SQSでメッセージを受信する時にはショートポーリングではなくロングポーリングにした方が大体においてコストが下がります」という内容です。 この話の発端はコスト削減の余地がないかを検討していてSQSのコストが高すぎないかと感じたところから調査が始まりました。SQSはAPIリクエスト数に応じた従量課金なのですがAPIリクエスト数を確認するとやはり多すぎると感じました。(ここはかなり感覚的なところなので何をもって多いと判断したかと言われると困るのですが) NewsPicksでは「SQS+ワーカープロセス」で非同期処理を行うシステムがいくつかあり、これはよくあるワーカー

                                Amazon SQSのロングポーリング設定でコストを99%削減した話 - Uzabase for Engineers
                              • [アップデート] AWS LambdaがAmazon SQSをイベントソースとしたバッチ処理で部分応答をサポートしました | DevelopersIO

                                Amazon SQSをイベントソースとしたLambda関数のバッチ処理において、一部の失敗したメッセージのIDを返すことで成功したメッセージは削除され失敗したメッセージはキューに残せるようになりました。 こんにちは。サービスグループの武田です。 AWS LambdaはPythonやJavaScriptで書かれた処理をクラウド上で実行できるAWSのFaaSです。さまざまなサービスと統合されていますが、そのひとつとしてAmazon SQSがあります。イベントソースマッピングという機能を使用することで、SQSへのメッセージ送信をトリガーとしてLambda関数を実行できます。SQSをイベントソースとしたLambda関数のトリガーは、バッチ処理として複数のメッセージをまとめて処理させることができます。さて複数のメッセージをまとめて処理する場合に起こる問題として、一部は成功するが一部は失敗してしまった

                                  [アップデート] AWS LambdaがAmazon SQSをイベントソースとしたバッチ処理で部分応答をサポートしました | DevelopersIO
                                • Amazon SQS と処理の重複 前編 ~ 可視性タイムアウトの役割 - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS

                                  テクニカルインストラクターの杉本圭太です ! 最近読んで面白かった漫画は「百木田家の古書暮らし」です。 Amazon Simple Queue Service (SQS) を使用することで、アプリケーション同士の通信を非同期にして、さらに信頼性やスケールを高められます。しかし SQS を使用する場合「処理重複が発生する可能性があるため、冪等性 (べき等性) の考慮が必要」と言われますが、どんな場合に処理重複が発生するのかは把握できていますか ? ▼ SQS を使用したシステムの概要 SQS では処理重複を制御するために「可視性タイムアウト」や「FIFO キュー」の機能がありますが、これらを使用しただけで処理重複がゼロになる訳ではありません。そのため、それぞれの機能が何を制御してくれるのかを理解することは、SQS をより適切に扱うために重要です。しかし同時に理解が難しい部分でもあります。 そ

                                    Amazon SQS と処理の重複 前編 ~ 可視性タイムアウトの役割 - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
                                  • New – Enhanced Dead-letter Queue Management Experience for Amazon SQS Standard Queues | Amazon Web Services

                                    AWS News Blog New – Enhanced Dead-letter Queue Management Experience for Amazon SQS Standard Queues Hundreds of thousands of customers use Amazon Simple Queue Service (Amazon SQS) to build message-based applications to decouple and scale microservices, distributed systems, and serverless apps. When a message cannot be successfully processed by the queue consumer, you can configure Amazon SQS to st

                                      New – Enhanced Dead-letter Queue Management Experience for Amazon SQS Standard Queues | Amazon Web Services
                                    • AWS SQS + Lambda + SES でメール送信システムを作る - 小さなエンドウ豆

                                      AWS SQS + Lambda + SES でメール送信システムを作る Web サービスを運営しているとメールを送信したいタイミングが山程あります。 例えば、ユーザーの新規登録時、定期的に送信するメルマガ用途は多岐に渡ります。 メール送信の仕組みをモノリシックにサービスの一部として組み込むとパフォーマンスが低下してしまう恐れがあります。 そこでどのような設計にすれば悩んでいたところ、SQS をすすめられてため調査してみました。 また SES や SNS としった AWS による通知系のサービスと連携されることで完全マネージドな通知サービスとして構築を目指します。 Amazon Simple Queue Service(SQS) 名前の通りキューイングのサービスです。 キューには 2 種類あり、標準キューと FIFO キューが選べます。 2 つの違いは配信の順序です。 標準キューの配信順序

                                        AWS SQS + Lambda + SES でメール送信システムを作る - 小さなエンドウ豆
                                      • SQS + EventBridge Pipes でのインフライトメッセージの削除

                                        この記事は AWS LambdaとServerless Advent Calendar 2022 の24日目の記事です。 EvenBridge Pipes のイベントソースに SQS キューを利用したときのインフライトメッセージの削除処理について試していきます。 インフライトメッセージとは、キューに入っているメッセージをコンシューマーが受信したけど、キューから未削除のメッセージのことです。以下の状態のメッセージです。 はじめに サービス間を疎結合につなぐ選択肢としてメッセージキューがあります。AWS だと Amazon SQS を選択する方が多いでしょう。 この SQS に入っているメッセージを処理するコンシューマーとしての Lambda が本当に最高です。理由は以下のスライドに書かれている通り、受信処理にまつわる様々な実装を Lambda サービス側にオフロードし、実装者はメッセージを扱

                                          SQS + EventBridge Pipes でのインフライトメッセージの削除
                                        • AWS SQS + Lambdaの同時実行数の挙動について

                                          SQSをイベントソースとするLambdaに同時実行数の制限をつけた場合どのような動きになるのか確認した。 Lambdaの同時実行数について AWS Lambda開発者ガイド 『Lambda 関数の同時実行数の管理』 によると 同時実行数とは、ある時点で関数が処理しているリクエストの数を指します。 とある。 この同時実行数には、 AWSから課されるアカウント(かつリージョン)単位の同時実行数の制限 ユーザが任意で関数単位に課す同時実行数の制限 の二つの制限がある。 後者は予約された同時実行数と呼ばれ、アカウント単位の同時実行数を関数毎にどう分け合うかというリソース配分としての意味の他、Lambdaの下流にいるリソースへのアクセス数を制限し過負荷から保護するため用途でも使用される。 同時実行数を超えた場合、関数の呼び出しは行われずスロットリングによるエラーが返される。 SQS + Lambda

                                          • AWSでよく使うSQS+Lambdaの組み合わせで気をつけるべきこと - Qiita

                                            今回はSQS+Lambdaを組み合わせて使う場合に気をつけるべきことについて書きました サーバレスなアーキテクチャを考えた時に、何かと候補に上がる組み合わせだと思います 一部、自分が体験した失敗から学んだこともあるので、反省の復習をしつつ同じ失敗をする人が減ってくれれば良いなと思います なんでSQS+Lambdaなのか? そもそもこの組み合わせを選ぶのはなぜか?ということですが サーバレスなアーキテクチャを組みたい Lambdaを使用するにはトリガーとして全段にサービスが必要(SQS、APIGateway・・・など) Lambdaの処理が失敗した場合、再実行したい このような理由からSQS+Lambdaの組み合わせを選択します 【ケース①】SQSの標準キューはメッセージの配信を1回”以上”保証する SQSの標準キューとはこれです 「少なくとも1回の配信」とあります 複数回同じメッセージが配

                                              AWSでよく使うSQS+Lambdaの組み合わせで気をつけるべきこと - Qiita
                                            • Amazon SQSデッドレターキューにメッセージが入ったらSlackに通知するしくみをAWS CDKで構築する | DevelopersIO

                                              こんにちは。サービスグループの武田です。 Amazon SQSやAWS Lambdaなどには、処理が失敗した際にメッセージを退避させるしくみとしてデッドレターキュー(以下、DLQ)というものが用意されています。DLQを用意しておくことで無制限のリトライを防止したり、デバッグに役立てることができます。 とはいえ、肝心のDLQにメッセージが入ったことを検知できなければ何の意味もありません。今回はDLQにメッセージが入った際に、Slackに通知されるしくみをAWS CDKを利用して構築してみました。 なお、ソースコードはGitHubに上がっています。 TAKEDA-Takashi/aws-cdk-sqs-dlq-alert-slack 環境 今回は次のような環境で検証しました。 $ node -v v10.19.0 $ sw_vers ProductName: Mac OS X ProductV

                                                Amazon SQSデッドレターキューにメッセージが入ったらSlackに通知するしくみをAWS CDKで構築する | DevelopersIO
                                              • Understanding how AWS Lambda scales with Amazon SQS standard queues | Amazon Web Services

                                                AWS Compute Blog Understanding how AWS Lambda scales with Amazon SQS standard queues Update March 21, 2024: The information explaining Lambda scaling behavior in this article has been superseded by https://aws.amazon.com/blogs/compute/introducing-faster-polling-scale-up-for-aws-lambda-functions-configured-with-amazon-sqs. Update Dec 8, 2021: AWS Lambda now supports partial batch responses for Amaz

                                                  Understanding how AWS Lambda scales with Amazon SQS standard queues | Amazon Web Services
                                                • 非同期メッセージングでSQSを使う際に検討したこと

                                                  背景と目的 マイクロサービス間で非同期メッセージングを実現するために、いくつかメッセージブローカーとしての選択肢があります。例えばAWSのサービスだとSQS, Kinensis, MKSなどが挙げられます。 今回はSQSがサービス間の非同期メッセージングを実現するために利用できるかを調査した時の観点をまとめました。 概要 まず非同期メッセージングの概要を整理します。 非同期メッセージングの役割 ネットワークを介してプロセス間でメッセージを送受信するには、同期的な通信と非同期的な通信があります。 同期的な通信はクライアントがリクエストを発行し、レスポンスを待つという形式になります。 リクエスト先のサービスが対応可能である必要がある レスポンスが返ってくるまでブロッキングされる すぐにリクエストが処理される リクエスト先のサービスの呼び出し方を知る必要がある 非同期的な通信はプロデューサー(あ

                                                    非同期メッセージングでSQSを使う際に検討したこと
                                                  • [アップデート] AWS LambdaのAmazon SQSイベントソースで最大同時実行数を指定できるようになりました | DevelopersIO

                                                    こんにちは。サービス部の武田です。 AWS Lambdaはイベントソースマッピングという機能を利用することで、イベントソースとなるサービスを自動でポーリングしLambda関数をバッチ処理として呼び出せます。 これまでAmazon SQSをイベントソースとして利用する際に、Lambda関数の同時実行数を制限したい場合は「同時実行の予約」で指定していました。しかしこの方法では、制限数を超えたメッセージはキューに返され再試行を待つことになり、適切に設定されていないとすべてのメッセージを正しく処理できませんでした。 今回のアップデートでイベントソースマッピングの設定として同時実行数を指定できるようになりました。これにより、制限数を超えた場合はメッセージの読み取りが停止され、メッセージはそのままキューに残り読み取られるのを待つようになります。 やってみた 最大同時実行数を指定した場合としなかった場合

                                                      [アップデート] AWS LambdaのAmazon SQSイベントソースで最大同時実行数を指定できるようになりました | DevelopersIO
                                                    • ステップスケーリングポリシーを使ってSQSキューの長さでECSサービスタスクを爆速オートスケーリングしてみた | DevelopersIO

                                                      はじめに おはようございます、もきゅりんです。 ECSサービスのオートスケーリングしてますか? ユースケースも少ないかとは思いますが、とにかく爆速でオートスケーリングしたくなることもありますよね? (春ですし) ということで、本稿はステップスケーリングポリシーを使ってSQSキューの長さでECSサービスタスクを爆速オートスケーリングしてみました。 最初に注意 下記ご注意下さい。 この構成は、高速スケーリングにするために、高解像度のカスタムメトリクスを取得します。高解像度のメトリクス発行およびアラームの課金には注意して下さい。また、とりあえずやってみましたが、本当にこの構成を実装することが真なのかどうか、これで要件が満たせるのかどうか、他に適切な構成がないかどうかなどはよくよく検討する課題があるものだと考えます。 やりたいこと AWS のサービスによって生成されたメトリクスは、デフォルトで標準

                                                        ステップスケーリングポリシーを使ってSQSキューの長さでECSサービスタスクを爆速オートスケーリングしてみた | DevelopersIO
                                                      • Amazon SQSとShoryukenを使ったバックグラウンド処理を検討してみる - ユニファ開発者ブログ

                                                        Webエンジニアのほんまです。 弊社ではインフラの管理コストを極力減らすため、AWSのマネージドサービスへの利用を推奨しています。(例:RDS -> Aurora) その中の一つに「バックグラウンドジョブに使うキューストアに Amazon SQS を使う」というものがあります。 SQSを使うことで急な負荷増減やデータ消失への対応といった悩ましい問題から解放されます。 Ruby on Rails で Amazon SQSをストアとするバックグラウンドジョブフレームワークだと Shoryuken がよく使われている印象です。 今回、Amazon SQS と Shoryuken でバッググラウンド処理を動かす方法、そして本番運用を見据えて検討が必要な事項を調査したのでシェアしたいと思います。 動かしてみる キューの作成 Railsアプリケーションの作成 ワーカープロセスの起動 エラー処理の確認

                                                          Amazon SQSとShoryukenを使ったバックグラウンド処理を検討してみる - ユニファ開発者ブログ
                                                        • Amazon Simple Queue Service (SQS) – 15 年が経過した今もキューを実行中! | Amazon Web Services

                                                          Amazon Web Services ブログ Amazon Simple Queue Service (SQS) – 15 年が経過した今もキューを実行中! 時の流れは早いものです! 私は、2006 年に Amazon Simple Queue Service (SQS) の本稼働の開始についての記事を書きました。その頃は、15 年後にまだブログを書いていること、そして、このサービスが、非常に多くの異なるタイプのウェブスケールアプリケーションのアーキテクチャの基本でありながら、引き続き急速な成長を続けていることは考えてもいませんでした。 SQS の最初のベータ版は、2004 年後半にひっそりと発表されました。そのベータ版以降、当社は多くの機能を追加しましたが、元の説明 (「分散アプリケーションコンポーネント間でメッセージをバッファリングするための信頼性が高くスケーラブルなホストされたキュ

                                                          • 【AWS グラレコ解説】アプリケーション同士の疎結合を実現。「Amazon SQS」をグラレコで解説 - 変化を求めるデベロッパーを応援するウェブマガジン | AWS

                                                            ※ 本連載では、様々な AWS サービスをグラフィックレコーディングで紹介する awsgeek.com を、日本語に翻訳し、図の解説をしていきます。awsgeek.com は Amazon Web Services, Inc. プリンシパル・テクニカル・エバンジェリスト、ジェリー・ハーグローブが運営しているサイトです。 これまでのグラレコ解説はこちら » 近年、「モノリス」と呼ばれる単一の大きなアプリケーションから、複数のモジュールで構成される「マイクロサービス」あるいは「サーバーレス」と呼ばれるアーキテクチャへ移行するケースが増えてきています。 今回ご紹介する Amazon Simple Queue Service (Amazon SQS) は、マイクロサービス や サーバーレスアーキテクチャ において、アプリケーション間をつなぐ、コーディネーターのような役割を担うサービスです。具体的に

                                                              【AWS グラレコ解説】アプリケーション同士の疎結合を実現。「Amazon SQS」をグラレコで解説 - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
                                                            • [アップデート] Amazon SQS で AWS JSON プロトコルがプレビューとして利用出来るようになったので何が変わるのかを確認してみた | DevelopersIO

                                                              [アップデート] Amazon SQS で AWS JSON プロトコルがプレビューとして利用出来るようになったので何が変わるのかを確認してみた いわさです。 今朝、Amazon SQS に関する次のアナウンスがありました。 「なんだかよくわからないがパフォーマンスが向上するのか?」という感じだったので、少し掘り下げてみてみました。 AWS JSON プロトコルに Amazon SQS の API が対応した(プレビュー) 上記のアナウンスに色々書いてあるのですが、変更点としては SQS を AWS API 経由で呼び出す際に、従来の方法(クエリプロトコル)の他に、AWS JSON プロトコルと呼ばれる形式もサポートとしたよという点があります。 この形式を使うことで HTTP 経由で API を呼び出す際のリクエストとレスポンスの形式がより効率的な形式になり、処理レイテンシーの削減やクライ

                                                                [アップデート] Amazon SQS で AWS JSON プロトコルがプレビューとして利用出来るようになったので何が変わるのかを確認してみた | DevelopersIO
                                                              • aws-sdk-railsでSQSをActive Jobのアダプターとして使う - LCL Engineers' Blog

                                                                はじめに この記事はLCL Advent Calendar 2021 - 4日目です。 qiita.com バックエンドエンジニアの星野です。このアドベントカレンダー同じ人しかいないって?気のせいです。 LCLのバッチジョブ実行基盤解説記事の最後のエントリになります。 最終日はSQSとActive Jobについてです。この記事ではActive Jobそのものについては解説しませんのでRailsガイドを適宜参照してください。 railsguides.jp Ruby on Railsの非同期処理でActive Jobを使う場合はアダプターを選択する必要があります。 SidekiqやResqueなどRedisをバックエンドにしたアダプターが人気がありますがRedisの管理をしなければならず、シンプルにperform_laterしたいだけの要件に対して大掛かりになりすぎることがあります。*1 そこ

                                                                  aws-sdk-railsでSQSをActive Jobのアダプターとして使う - LCL Engineers' Blog
                                                                • Amazon SQSを使ってAWS Step Functionsで長時間かかる処理が終わるのを待つ | DevelopersIO

                                                                  Amazon SQSのFIFOキューを使うことで正確にメッセージの処理状態を把握することができます。 このことを活用することで外部APIコールなどの長時間かかる可能性のある処理が終わるのを待ってから次のメッセージの処理に移る実装ができます。 AWS Step Functionsの中に(外部APIの呼び出しなどで)長時間かかることもある処理がある場合に、その処理の結果を待ち、重複を防ぐために処理中は新しい処理のリクエストをしないという仕組みが必要になり、実装してみました。 重複の発生する実装(SQS未使用の実装) 次の手順で1分毎に実行するStep Functionsを定義します。 $ sls create --template aws-python3 --path sample-app $ cd sample-app $ sls plugin install -n serverless-p

                                                                    Amazon SQSを使ってAWS Step Functionsで長時間かかる処理が終わるのを待つ | DevelopersIO
                                                                  • LambdaとSQSを使ってWebhookによるスパイクに対応する - DROBEプロダクト開発ブログ

                                                                    はじめに CTOの都筑(@tsuzukit2)です。 DROBE では様々な外部サービスを利用していますが、事前に設定しておく事で外部サービス側で特定のイベントが発生した際に DROBE 側に HTTP のリクエストを送ってくれる仕組みを多く利用しています。 Webhook のわかりやすい例としては、例えば SendGrid のような外部サービスでメールの配信を行っている場合に、実際にメールの配信結果がどうだったかをアプリケーションで確実に検知したいといった場合に、SendGrid での配信完了イベントをトリガーとした Webhook を設定します。 SendGrid の Webhook を使ってメールの配信完了を Application で検知する例 こういった仕組みを使う事で、アプリケーション側ではメールの送信をリクエストした事だけではなく、メールがしっかりと配信された事、もしくはエラ

                                                                      LambdaとSQSを使ってWebhookによるスパイクに対応する - DROBEプロダクト開発ブログ
                                                                    • Introducing maximum concurrency of AWS Lambda functions when using Amazon SQS as an event source | Amazon Web Services

                                                                      AWS Compute Blog Introducing maximum concurrency of AWS Lambda functions when using Amazon SQS as an event source This blog post is written by Solutions Architects John Lee and Jeetendra Vaidya. AWS Lambda now provides a way to control the maximum number of concurrent functions invoked by Amazon SQS as an event source. You can use this feature to control the concurrency of Lambda functions process

                                                                        Introducing maximum concurrency of AWS Lambda functions when using Amazon SQS as an event source | Amazon Web Services
                                                                      • API GatewayからSQSのFIFOキューにメッセージをPOSTする | DevelopersIO

                                                                        表題の構成を試す機会があったので、その手順をご紹介します。 (今回はコンソールでゴリゴリ作業していきます) SQSの作成 まずはSQSのFIFOキューを作成しましょう。2020年7月9日にSQSもコンソールのデザインが新しくなり見やすくなりました。 キューに適当な名前を付けます。FIFOキューの場合は名前の最後に.fifoをつける必要がある点に注意しましょう。 また、今回は「コンテンツに基づく重複削除」にチェックを入れました。これで自動的にSQS側で重複削除IDを付与してくれます。重複削除IDを自分で付けたい場合は、このチェックを外しておきます。 (後はデフォルトで作成しました) FIFOキュー(myqueue.fifo)が作成できました。 API Gatewayに付与するIAM Roleの作成 次に、API GatewayからSQSへメッセージを送るためのIAMポリシーを作成します。 サ

                                                                          API GatewayからSQSのFIFOキューにメッセージをPOSTする | DevelopersIO
                                                                        • Amazon SQS Now Supports a High Throughput Mode for FIFO Queues (Preview)

                                                                          Amazon SQS now supports a preview of a high throughput mode for FIFO queues, allowing you to process up to 3000 messages per second per API action. This is a tenfold increase compared to current SQS FIFO queue throughput quota. Amazon SQS is a fully managed message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications. Amazon SQS off

                                                                            Amazon SQS Now Supports a High Throughput Mode for FIFO Queues (Preview)
                                                                          • LocalStack と samlocal コマンドで SQS x Lambda 構成をローカル環境で実行する - kakakakakku blog

                                                                            開発中に AWS Lambda 関数をローカル環境で実行するなら AWS SAM CLI の sam local invoke -e event.json コマンドを使えば良く,また AWS Lambda 関数のベストプラクティスに載っている Lambda ハンドラーをコアロジックから分離します。 を意識して実装すれば,単体テストを軸に動作確認を進めることもできる. とは言え,実際に AWS Lambda 関数のイベントソースマッピング(トリガー設定)を確認したいこともあり,今回は AWS SAM を使って構築する Amazon SQS キューと AWS Lambda 関数の組み合わせを samlocal コマンドを使って LocalStack にデプロイして動作確認をしてみた.結果的に期待した通りに動いた❗️ \( 'ω')/ LocalStack 便利すぎ〜 🚀 アーキテクチャ図

                                                                              LocalStack と samlocal コマンドで SQS x Lambda 構成をローカル環境で実行する - kakakakakku blog
                                                                            • アプリケーションをゆるやかに「つなぐ」Amazon SQSの特徴と魅力|コラム|クラウドソリューション|サービス|法人のお客さま|NTT東日本

                                                                              2020.08.26| Writer:NTT東日本アベ アプリケーションをゆるやかに「つなぐ」Amazon SQSの特徴と魅力 導入前に知っておきたいAWSの主要サービスについての基礎がわかる無料のお役立ち資料はこちらからダウンロードできます。 分散アプリケーションでは、個々のサービスが複雑に絡み合っています。それゆえ、1つのサービスに問題が発生すると他サービスにも影響が出てしまうということが少なくありません。Amazon SQSはサービス間をゆるやかに「つなぐ」ことで影響範囲を限定し、開発コストの大幅な削減が期待できるサービスです。 今回は、Amazon SQSの特徴と基本的な仕組み、活用方法などをご紹介します。 Amazon SQSとは Amazon SQS(Simple Queue Service)は、AWSが提供する「サーバーレスでキューイングを実現できる」サービスです。Amazo

                                                                                アプリケーションをゆるやかに「つなぐ」Amazon SQSの特徴と魅力|コラム|クラウドソリューション|サービス|法人のお客さま|NTT東日本
                                                                              • 「これから始めるAWS SQS!メッセージキューと上手に付き合うワンランク上の実装を解説😎」低コストなモダナイズ開発の実践 | Ragate

                                                                                こんにちは! AWS SQS って具体的に何ができるのか、よくわからない方が多いのでは?と思います。 本記事では、メッセージキューを使用したユースケースと、そのプログラミング方法を紹介します。 サービス開発の中で AWS SQS を一切使用しないという選択も可能ですが、ユースケースによっては実装コスト・リスクを大きく軽減できる可能性があります、是非覚えていってください。 想定する読者 AWS サーバーレスで開発を行っているヒトメッセージキューを扱ったことがないヒトAWS SQS の概要から実装方法を知りたいヒト はじめに AWS SQS でできること 非同期での処理実行 例えば、財務システムの開発で帳票を PDF 出力できる機能を考えてみましょう。 PDF 出力には、財務システムの持つ様々な計算ロジックを起動させる必要があり、PDF 出力完了までに10秒以上の時間を要する可能性があるとしま

                                                                                  「これから始めるAWS SQS!メッセージキューと上手に付き合うワンランク上の実装を解説😎」低コストなモダナイズ開発の実践 | Ragate
                                                                                • Amazon SQSワーカーのアーキテクチャーをLambdaイベントソース/EventBridge Pipes/独自の3パターンで比較してみた | DevelopersIO

                                                                                  各実装方式の詳細は以下のとおりです 1. Lambdaイベントソース型 Lambdaのイベントソースマッピングを利用すると、SQS・Kinesis Data Streamなど様々なソースにポーリングを行い、Lambdaを呼び出せます。 イベントソースが暗黙にポーリングやSQSメッセージの受信・削除をするため、Lambdaアプリケーションは受け取ったメッセージの処理ロジックだけを記述します。 def lambda_handler(event, context): for message in event['Records']: print(message['body']) 覚えることが少なくて済み、管理も楽なため、SQSコンシューマーの初手としておすすめできる一方で、最大の問題点はLambdaの制約に縛れることです。 メッセージ処理が15分を超えたり、10GBを超える潤沢なメモリが必要だった

                                                                                    Amazon SQSワーカーのアーキテクチャーをLambdaイベントソース/EventBridge Pipes/独自の3パターンで比較してみた | DevelopersIO