【サーバーレスを実現】AWSサービス - DXファーストステップ

【サーバーレスを実現】AWSサービス

2021.09.14

データ管理

AWSとは?

AWSとはAmazon Web Servicesの略で、Amazonが提供している100以上のクラウドコンピューティングサービスの総称です。といいえ、クラウドコンピューティングとは何かがわからないと、AWSとはどんなサービスかも理解できません。そこで、ここではまずクラウドコンピューティングについて解説します。

クラウドコンピューティングとは、インターネットを介してサーバー・ストレージ・データベース・ソフトウェアといったコンピューターを使った様々なサービスを利用することを指します。クラウドコンピューティングでは、手元に1台のPCとインターネットに接続できる環境さえあれば、サーバーや大容量のストレージ、高速なデータベースなどを必要な分だけ利用できるわけです。

AWS Lambda

 AWS Lambdaとは、サーバを用意することなく、AWS上で任意の小さな関数(プログラム)を実行するためのサービスです。このAWS Lambdaは、様々なイベントを受け取って、それをトリガーに用意したプログラムを実行することができます。

 AWS Lambdaはコードがトリガーされたときのみ、100ミリ秒単位で金額が発生するだけなので、サーバを立ち上げて常駐させておくのに比べて大きなコストメリットがあります。また、イベントは同時に1つではなく、並行して受け取りそれぞれ処理することができます。そのため、急なトラフィック増大にも自動でスケーリングされ対応することができます。

 プログラミング言語としてはNode.js、Java、C#、Go、Pythonなどをサポートしていますので、本書で利用するPythonでもプログラムを書くことが可能です。このAWS Lambdaの活用により、サーバレスでアプリケーションを構築することが可能になります。

Amazon API Gateway

 Amazon API Gatewayとは、スケーラブルなAPIエンドポイントを提供するサービスです。つまり、大量のトラフィックがあっても対応可能な、クライアントからのアクセス用のWeb URLを利用することができます。

 Webアプリケーションでは、URLにリクエストがあると、そのリクエストに応じた処理を行いレスポンスを返します。この処理をサーバレスアプリケーションに置き換えると、以下のようになります。

  1. Amazon API Gatewayで用意したURLにリクエスト
  2. そのリクエストに応じてAWS Lambdaを呼び出し処理を実行
  3. レスポンスを返す

Amazon DynamoDB

 Amazon DynamoDBは、スループットを自動的にスケーリングするサーバレスデータベースです。データを保護するために継続的にバックアップが行われ、10ミリ秒単位のレスポンスを実現できる、NoSQLデータベースです。

 読み込みキャパシティ、書き込みキャパシティ、データストレージの量に応じて費用が発生します。

 読み込みスループットは、強力な整合性のある読み込みなら1秒あたり1回ごとに1キャパシティを消費し、毎月25キャパシティユニットまでは無料、それ以降はユニットごとに料金が発生します。

 書き込みスループットは、1秒あたりの(1KBまでの)書き込み1回ごとに1キャパシティを消費し、毎月25キャパシティユニットまでは無料、それ以降はユニットごとに料金が発生します。

 データストレージは毎月最初の25GBまでは無料で、それ以降は月額で料金が発生します。

 キャパシティについても1時間あたり90,000アクセスを超えるアクセスがなければ無料で使用することができる、大きなコストメリットがあるサービスです。

まとめ

今回はAWSにつて分かりやすく解説致しました。