Lambda・S3・EventBridge・SNS もまとめて紹介
「AWSという言葉はよく聞くけれど、結局何なのかよくわからない」
そんな方に向けて、この記事では AWSの基本 と、代表的なサービスである Lambda、S3、EventBridge、SNS についてわかりやすく解説します。
AWSは、Amazonが提供しているクラウドサービスの総称です。サーバー、ストレージ、データベース、ネットワーク、通知、監視など、システムを動かすために必要な機能をインターネット経由で利用できます。AWS公式では、AWSは世界中のデータセンターから 200を超えるフル機能のサービス を提供していると案内されています。
AWSとは?
AWSは正式には Amazon Web Services といいます。これまで自社でサーバーを購入して設置していたような作業を、AWS上で必要な分だけすぐに使えるのが大きな特徴です。AWS公式サイトでも、低料金で利用でき、料金は基本的に 使った分だけ支払う 仕組みと説明されています。
たとえば、昔ながらのシステム構築では、サーバー機器を購入し、設置し、障害対策や容量設計をしてからようやく利用開始でした。一方でAWSなら、必要なときに必要な台数や容量をすぐに確保し、不要になれば停止や削除もできます。このため、初期費用を抑えやすく、スピード感をもってシステムを作れるのが魅力です。
AWSを使うメリット
AWSのメリットは、大きく分けると次のような点です。
まず、すぐに使い始められること です。物理機器の購入や設置を待たずに、管理画面から短時間で環境を作れます。次に、拡張しやすいこと です。利用者が増えたり、保存データが増えたりしても、必要に応じて柔軟に拡張できます。さらに、使った分だけ課金されるサービスが多いこと も初心者や小規模運用に向いています。AWSは、スタートアップから大企業、政府機関まで幅広く使われているクラウド基盤です。
AWSの主要サービスをざっくり理解しよう
AWSには非常に多くのサービスがありますが、初心者のうちは「何をするサービスなのか」をざっくりつかむことが大切です。
今回紹介する4つは、特に使う機会の多いサービスです。
- Lambda:プログラムを実行する
- S3:ファイルやデータを保存する
- EventBridge:イベントをきっかけに処理をつなぐ
- SNS:通知を送る
これらは単体でも便利ですが、組み合わせることで非常に強力になります。たとえば「毎日決まった時間に処理を実行し、結果を保存し、異常があれば通知する」といった仕組みを作れます。EventBridgeはAWSサービスやSaaS、独自アプリケーションからのイベントを受け取り、ターゲットへルーティングするサーバーレスのイベントバスです。SNSはアプリケーション間通知や、SMS・メールなどの通知配信に使えるマネージドメッセージングサービスです。
Lambdaとは?
AWS Lambda は、サーバーを意識せずにプログラムを実行できるサービスです。AWS公式では、Lambdaは サーバーのプロビジョンや管理をすることなくコードを実行するためのサーバーレスコンピューティングサービス と説明されています。さらに、イベントが発生したときにコードを実行し、基盤となるコンピューティングリソースはAWS側で管理されます。
たとえば、以下のような使い方ができます。
- S3にファイルがアップロードされたら自動で処理する
- 毎日18時にデータ取得処理を動かす
- Webアプリの一部機能をAPI経由で実行する
- 異常を検知したときだけ通知処理を走らせる
Lambdaの魅力は、普段は待機サーバーを立てておかなくてよい 点です。必要なときだけ実行されるので、無駄が少なく、管理の手間も小さくなります。料金ページでも、無料利用枠として月あたり100万件の無料リクエストなどが案内されています。
S3とは?
Amazon S3 は、AWSの代表的なストレージサービスです。正式には Amazon Simple Storage Service といい、AWS公式ドキュメントでは、スケーラビリティ、データ可用性、セキュリティ、パフォーマンスを提供する オブジェクトストレージサービス と説明されています。
簡単にいうと、S3は「AWS上の大きな保管庫」のようなものです。画像、CSV、バックアップファイル、ログ、Webサイトの静的ファイルなど、さまざまなデータを保存できます。AWS公式サイトでは、S3は 99.999999999%のデータ耐久性 と 99.99%の可用性 を持つよう設計されていると案内されています。
S3の主な用途としては、次のようなものがあります。
- バックアップデータの保管
- ログファイルの保存
- 画像や動画の保存
- 分析用データの蓄積
- 静的Webサイトの公開
また、S3は単なる保存場所ではありません。S3にファイルが置かれたことをきっかけに通知や別処理を起動する仕組みも用意されています。S3のイベント通知機能では、特定のイベントが発生したときに通知を受け取れるとAWSは案内しています。
EventBridgeとは?
Amazon EventBridge は、イベントを受け取り、条件に応じて別の処理へつなぐサービスです。AWS公式では、独自アプリケーション、SaaSアプリケーション、AWSサービスからデータを取り込み、ターゲットにルーティングする サーバーレスイベントバス と説明されています。
少し難しく聞こえるかもしれませんが、役割はシンプルです。
「何かが起きた」というイベントを受け取り、
「そのとき、何を動かすか」を決めるサービスです。
たとえば、次のような使い方があります。
- 毎日決まった時間にLambdaを起動する
- AWS上の特定イベントを検知して処理を実行する
- 複数のシステム間でイベント連携を行う
EventBridgeの強みは、イベント駆動型の設計 をしやすいことです。AWSの料金ページでは、250以上のAWSサービスが自動的にイベントバスへイベントを送信すると説明されています。つまり、AWS内のさまざまな変化をきっかけに、自動処理をつなぎやすいということです。
SNSとは?
Amazon SNS は、通知を送るためのサービスです。正式には Amazon Simple Notification Service といい、AWS公式では、アプリケーション間通知や、SMS、プッシュ通知、メールなどによる通知配信に使える フルマネージドのPub/Subサービス と説明されています。
たとえば、次のような場面で使われます。
- システムエラーが起きたら管理者へメール通知
- バッチ処理完了を関係者へ通知
- 監視アラートをSlackやメールに連携
- アプリケーション間のメッセージ配信
SNSは「誰かに知らせる」ことが得意です。LambdaやCloudWatch、S3などと組み合わせることで、システム運用の自動通知を簡単に作れます。料金ページでは、Amazon SQS や AWS Lambda への配信時にはメッセージそのものの通知配信課金ではなく、転送されるデータ量に関する課金が説明されています。
4つのサービスを組み合わせるとどうなる?
AWSの便利さは、各サービスを組み合わせたときにより実感できます。
たとえば、次のような流れです。
- EventBridgeが毎日18時にイベントを発生させる
- Lambdaが起動してデータ取得や集計を行う
- 処理結果をS3へ保存する
- 異常や完了結果をSNSで通知する
このように、サーバーを常時立てっぱなしにしなくても、必要なときだけ自動で動く仕組みを作れます。実際にAWS公式でも、EventBridgeはイベントをターゲットへルーティングでき、Lambdaはイベントに応じてコードを実行し、S3はデータ保存を担い、SNSは通知配信を担うサービスとして案内されています。
AWSはどんな人に向いている?
AWSは、大規模システムを作る企業だけのものではありません。最近では、個人開発、ブログ運営、小規模な自動化、社内ツール作成などでも広く使われています。たとえば、次のような人に向いています。
- サーバー管理の手間を減らしたい人
- 自動化の仕組みを作りたい人
- データ保存やバックアップを安全に行いたい人
- 通知や定期実行を組み合わせた仕組みを作りたい人
小さく始めて、必要に応じて広げられるのがAWSの魅力です。
まとめ
AWSとは、Amazonが提供するクラウドサービス群のことで、サーバー、ストレージ、通知、イベント連携などを必要な分だけ利用できる仕組みです。
今回紹介した4つのサービスを一言でまとめると、次のようになります。
- Lambda:プログラムを実行するサービス
- S3:データやファイルを保存するサービス
- EventBridge:イベントをきっかけに処理をつなぐサービス
- SNS:メールやSMSなどで通知するサービス
AWSは最初は少し難しそうに見えますが、ひとつずつ役割を理解すると全体像が見えてきます。まずは「保存する」「実行する」「つなぐ」「知らせる」という4つの視点で理解すると、かなりわかりやすくなります。