0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS学習メモ 】アプリケーションインテグレーションとは?SQS・SNS・Step Functionsの違いと使い分け

Posted at

こんにちは。miyoshiです。

AWSクラウドプラクティショナー試験に向けた学習メモです。
今回はアプリケーションを「つなぐ」ための重要な仕組み

アプリケーションインテグレーション(Application Integration)

その代表サービスを整理しておきます。


前回の記事も一緒にご覧ください

【AWS学習メモ 】API Gatewayとは?サーバレスAPIの玄関口


✅ アプリケーションインテグレーションとは?

複数のアプリや処理を連携・統合して、全体としてスムーズに動作する仕組みのこと。
AWSでは、マイクロサービスやサーバーレス構成でもよく使われます。

たとえば:

  • Webアプリで注文 → 在庫確認 → 決済 → 通知
  • それぞれの処理を別々のサービスで担当
    → それらを非同期かつ安全に連携するのが「アプリケーションインテグレーション」です。

✅ 代表的なサービスと役割

サービス名 主な用途 特徴
Amazon SQS メッセージの順番待ち・バッファ 後で処理する/非同期化
Amazon SNS 一斉通知・ブロードキャスト 「1対多」で通知する
AWS Step Functions 複雑な処理の流れを定義 処理の順番・条件分岐・エラー対応

✅ Amazon SQS(Simple Queue Service)

💡 何ができる?

  • メッセージを一時的に保管して、順番に処理できる
  • 送る側と受け取る側を切り離せる(非同期処理)

✅ よくある使い方

  • ユーザーの注文 → SQSに入れる → 後でLambdaが処理
  • ログの収集・処理のバッファとして使う

✅ 特徴

  • FIFOキューで順番も保証できる
  • リトライや再配信も自動
  • 大量リクエストでも安定して処理できる

✅ Amazon SNS(Simple Notification Service)

💡 何ができる?

  • メッセージを複数の宛先に一斉送信できる
  • 通知のパブリッシュ/サブスクライブ型

✅ よくある使い方

  • 新規ユーザー登録 → 管理者にメール通知
  • ECアプリで注文完了 → SNS経由でメール+Lambda起動+Slack通知

✅ 特徴

  • 複数の宛先(Lambda、SQS、メール、SMSなど)に同時配信
  • フィルターで宛先ごとに条件分岐も可能
  • 信頼性・再送も担保されている

✅ AWS Step Functions

💡 何ができる?

  • 複雑な処理の順番・条件・状態遷移をグラフィカルに制御できる
  • Lambdaなど複数のAWSサービスをつなげてフローを作成

✅ よくある使い方

  • 本人確認 → メール通知 → DB登録 → 結果を通知
  • バッチ処理やデータ変換フローを安全に自動化

✅ 特徴

  • 状態管理、エラー処理、リトライ、タイムアウトなど自動
  • GUIで視覚的にフローが見える(管理しやすい)
  • 分岐・並列処理・待機など細かな制御が可能

✅ まとめ:使い分けのポイント

シーン 適したサービス 理由
非同期に順番に処理したい SQS メッセージを順番待ちにできる
複数の相手に通知したい SNS 一斉通知に最適
複雑な処理の流れを制御したい Step Functions 条件分岐や状態管理が得意

✅ 実際の連携イメージ(フロー)

ユーザーが注文ボタンをクリック
       ↓
API Gateway が HTTP リクエストを受信
       ↓
Lambda でバリデーション → SQS にメッセージを送信
       ↓
別の Lambda が SQS を監視し、在庫確認と処理実行
       ↓
処理完了後 SNS で通知(メール・Slack・アプリ通知)
       ↓
全体の流れを Step Functions で定義して自動制御

✅ ポイント

「同期 or 非同期?」 でまず判断

「1対1 or 1対多?」 でSQSかSNSかを選ぶ

処理が複雑なら Step Functions を検討する


この記事が、アプリケーションインテグレーションの基本理解に役立てば幸いです!

疑問・コメント・フィードバックなど大歓迎です🙌

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?