サーバーレスの解説(AWS認定クラウドプラクティショナーシラバス用語)

サーバーレスの解説(AWS認定クラウドプラクティショナーシラバス用語)
目次

サーバーレスとは

サーバーレス(Serverless)とは、アプリケーションやサービスを構築・実行する際に、ユーザー(開発者やインフラ管理者)が基盤となるサーバーのプロビジョニング(構築)、OSのパッチ当て、容量の計画、メンテナンスといった煩雑なインフラ管理を意識することなく、ビジネスロジックの実現に集中できるクラウドコンピューティングの実行モデル・アーキテクチャの概念です。「サーバーレス」という言葉には「サーバーが存在しない」という意味ではなく、「物理的なサーバーや仮想サーバーの存在を『ユーザーが管理する必要がない(意識しなくてよい)』」という意味が込められています。クラウドプロバイダー(AWSなど)がサーバーの割り当て、スケーリング、可用性の確保などの運用タスクをすべて裏側で自動的に処理してくれます。これにより、インフラ運用にかかる多大な労力とコストを削減し、アジリティ(俊敏性)を高め、より早く価値のあるサービスを市場に提供することが可能になる、現代のクラウド開発において最も重要かつ人気のあるアプローチの一つです。

具体例

サーバーレスアーキテクチャを採用したシステムの例を、従来のサーバーあり(EC2など)のシステムと比較してみましょう。

  • 従来のサーバー運用(EC2): ウェブサイトを公開する場合、EC2インスタンスを起動し、Linuxを初期設定し、ApacheなどのWebサーバーソフトをインストールし、セキュリティパッチを定期的に適用する必要があります。さらに、アクセス増に備えて常時2台のサーバーを起動しておくなど、待機中も料金が発生します。
  • サーバーレス運用(API Gateway + Lambda): 同じウェブサイトのバックエンドを作る場合、開発者はプログラムの「コード(関数)」だけを書き、AWS Lambdaにアップロードします。ユーザーからのリクエストが来ると、API Gatewayがそれを受け取り、Lambdaをトリガーします。AWSが必要なリソースをその一瞬だけ自動で用意してコードを実行します。OSの管理もパッチ当ても不要で、アクセスがない夜間は料金がゼロになります。

このように、サーバーレスは「運用のアウトソース」と「究極の従量課金」を実現する仕組みです。

もう少し詳しく

サーバーレス・アーキテクチャを構成するサービスには、一般的に以下のような4つの重要な特徴があります。
1. インフラストラクチャの管理不要: サーバーのセットアップやOSレベルのメンテナンスが完全に不要です。
2. 自動スケーリング: リクエストが0から数万に急増しても、クラウドプロバイダーが自動的かつ瞬時にリソースを拡張し、リクエストが減れば自動的に縮小します。
3. 価値に対する支払い(従量課金): サーバーの起動時間ではなく、関数が実行された回数や時間、消費されたリソース(ストレージ容量など)に対してのみ料金が発生します。アイドル状態では費用がかかりません。
4. 高可用性の組み込み: デフォルトで複数のアベイラビリティゾーン(AZ)にまたがって冗長化されており、フォールトトランス(耐障害性)が組み込まれているため、ユーザーが可用性のための設計を行う手間が省けます。

AWSにおける代表的なサーバーレスコンピューティングサービスはAWS Lambdaですが、サーバーレスの概念はコンピューティングに留まりません。データベース領域ではAmazon DynamoDBやAmazon Aurora Serverless、ストレージ領域ではAmazon S3、連携・メッセージング領域ではAmazon SNS、SQS、EventBridgeなど、インフラ管理を抽象化し自動スケールするフルマネージドサービスも広義の「サーバーレス」構成要素として扱され、これらを組み合わせてシステム全体を構築することが推奨されています。

試験でのポイント

AWS認定クラウドプラクティショナー(CLF-C02)試験において、「サーバーレス」という概念自体が直接問われることはもちろん、サーバーレスサービスの利点や、EC2との比較についての問題が頻出します。

  • サーバーレスの定義とメリット: 「インフラストラクチャ(サーバー)の管理・プロビジョニングが不要」「アイドル時のコストが発生しない」「自動的にスケールする」という3つの大きな特徴をしっかり理解しておきましょう。
  • 代表的なサービスの識別: AWS Lambda、Amazon DynamoDB、Amazon API Gateway、Amazon S3などがサーバーレス(またはそれに近いフルマネージド)サービスとして挙げられます。試験で「サーバーの管理が不要なコンピュートサービスはどれか?」と問われたら、アクセス制限なしで動作するLambda(またはFargate)を選択します。
  • 運用負荷の軽減: 責任共有モデルの観点から見ると、サーバーレスサービスを利用することで、OSのパッチ適用やインフラのセキュリティ管理といったユーザーの責任範囲が大幅にAWS側に移行し、運用負荷が軽減される点も重要です。

関連する用語

サーバーレスアーキテクチャの中核を担うコンピューティングサービスがAWS Lambdaです。また、サーバーレス環境でのデータの永続化には、柔軟にスケールするNoSQLデータベースであるAmazon DynamoDBが最適です。さらに、コンテナ化されたアプリケーションをサーバーレスで実行したい場合には、基盤となるEC2インスタンスの管理を不要にするコンテナ向けサーバーレスコンピュートエンジンであるAWS Fargateが使用されます。

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ