構成概要
この構成例のクラウドレベル:
基礎編
入門編:該当するユースケースの知識が全くない方が対象
基礎編:該当するユースケースの入門知識がある方が対象
応用編:該当するユースケースにある程度精通している方が対象
この構成例で解決できる課題・困りごと:
Web サイトをサーバーレスアーキテクチャで構築したい
利用が少ない時間帯もあるが、常に利用できる状態にしておきたい
厳密にリクエスト量が見積もれない新規事業や新しいプロダクト開発したい
エッジサービスを使ってコンテンツ配信を最適化したい
自前で直接 S3 に HTML や JavaScript などのソースコードをデプロイしたい
この構成例の概算料金:
18.63 ドル (月額)
この構成例のメリット:
サーバレスサービスを用いて、ウェブアプリケーションを構築する例です
サーバーレスサービスな構成であるため、アプリケーションの可用性担保や運用保守の大部分を軽減することが可能となります
必要な時だけコンピュートリソースを利用する形になるので、ランニングコストを極力抑えた形でアプリケーションの運用ができます
Content Delivery Network (CDN) サービスである Amazon CloudFront を用いて、静的コンテンツのキャッシュを行うことで、オリジン側のリクエスト負荷の軽減を行うと共に、エンドユーザーへのレスポンス速度を向上させることでユーザーエクスペリエンスの向上に貢献します
この構成例を構築する手順として、まず、静的なコンテンツを Web ホスティングするために Amazon S3 を用いることで HTML, CSS, JavaScript, 画像ファイル,動画ファイルといった静的なコンテンツを Web ホスティングします
次に、動的にアプリケーションの処理を行う役割として Amazon API Gateway と AWS Lambda, Amazon DynamoDB のセットを紐付けます
※ Amazon API Gateway では、APIのインターフェース部分をカスタマイズできるだけではなく、バックエンドの処理をするモジュールとして HTTP エンドポイントやLambda 関数が指定できます
※ 今回は、データを格納する先として DynamoDB を選択しておりますが、お客様の要件に併せてお好きなものをご選択いただけます最後に、ユーザーからのエンドポイントとして Amazon CloudFront を用いて、カスタムドメインやコンテンツキャッシュの有効化の設定などを行います
※ AWS Certificate Manager を用いることで、 カスタムドメインを利用した SSL/TLS 証明書を無料で導入いただけます
※ カスタムドメインが必要な場合、Amazon Route 53 を用いてオリジナルのドメインを取得およびホスティングすることが可能です

月額合計料金:18.63 (USD)
この構成例で使用したサービスと概算料金内訳
サービス
|
項目
|
数量
|
単価
|
料金 (USD)
|
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Amazon S3
|
|
|
|
|
||||||||||||
Amazon API Gateway
(REST API)
|
リクエスト回数 |
100,000 * 3 = 300,000 (リクエスト/月) ※2 |
4.25 USD/100万リクエスト |
1.275 |
||||||||||||
AWS Lambda
|
|
|
|
|
||||||||||||
Amazon DynamoDB
(オンデマンドモード)
|
|
|
|
|
||||||||||||
Amazon CloudFront
|
|
|
|
|
||||||||||||
Amazon Route 53
|
ホストゾーン |
1 ※後述のとおりホストゾーン以外の DNS クエリ等の料金に関しては、本試算から外すものとします。 |
0.50 USD/ホストゾーン |
0.5 |
||||||||||||
AWS Certificate Manager
|
SSL/TLS 証明書 |
※プライベートキーにアクセスの無い ACM プライベート CA から発行するプライベート証明書は無料 |
0 USD |
0 |
東京リージョンでのご利用を想定しています。
1 ヶ月を 730 時間として計算しています。
ウェブアプリケーションについては下記の想定で試算を行っています。
月間 10 万ページビュー
1 ページビューあたり静的コンテンツが 30 コンテンツ
1 コンテンツあたり平均オブジェクトサイズが 25 KB
1 ページビューあたりのAPIリクエストが平均 3 回
Amazon S3 に保管されている静的コンテンツへのリクエストに対する Amazon CloudFront (CDN) のキャッシュヒット率は 80 %
※1 「 1 ページビューあたり静的コンテンツが 30 コンテンツ」なので「月間 10 万ページビュー」とした時に 300 万コンテンツとなるのと、「Amazon S3 に保管されている静的コンテンツへのリクエストに対する Amazon CloudFront (CDN) のキャッシュヒット率は 80 %」を考慮しております。
※2 「 1 ページビューあたりの API リクエストが平均 3 回」なので「月間 10 万ページビュー」とした時に 30 万回実行される計算です。
※3「 1 ページビューあたり静的コンテンツが 30 コンテンツ」なので「月間 10 万ページビュー」とした時に 300 万コンテンツとなるのと、「 1 コンテンツあたり平均オブジェクトサイズが 25 KB 」なので、 GB の単位に変換した後の値を掛け合わせた数値がデータアウトの量となります。
その他の想定
Amazon S3 には常に 1 GB の配信用の静的コンテンツを保持する (変動は考慮しないものとする) 。
Amazon API Gateway のキャッシュ機能は用いず、データ転送にかかる費用は本試算には含まないものとする。
AWS Lambda では 512 MB のメモリ設定で、API Gateway 1 つとセットになっており、平均実行秒数は 1 秒と仮定ものとする。
Amazon Route53 上ではドメインの取得は行わず、別のサービスで取得したドメインのサブドメインを Hosted Zone に権限委譲しているものとします (また、DNS クエリの料金 [0.40 USD 100 万クエリごと]は本試算から外すものとします) 。
データベースには Amazon DynamoDB (オンデマンドモード) を用い、下記の前提で試算を行うものとする。
✓常に 5 GB のデータを保持する(変動は考慮しないものとする) 。
✓読み出し要求は 1 WRU のリクエストが 150,000 回 発生したものとする。
※本来は「書き込み (1 KB まで) については、 1 回につき書き込みリクエストが 1 単位発生し、トランザクション書き込みでは 1 回につき書き込みリクエストが 2 単位発生する」ため、消費 WRU に前後はあるが、本ケースでは考慮しないものとする。
✓書き込み要求は 1 RRU のリクエストが 50,000 回 発生したものとする。
※本来は「強力な整合性のある読み込み (4 KB まで) 1 回につき 1 単位、トランザクション読み込み 1 回につき 2 単位、結果整合性のある読み込み 1 回につき 0.5 単位の読み込みリクエストが発生する」ため、消費 RRU に前後はあるが本ケースでは考慮しないものとする。
※ DynamoDB の詳しい情報は下記の料金ページをご参照ください。
https://aws.amazon.com/jp/dynamodb/pricing/
無料枠について (2024/07 現在)
Amazon CloudFront には下記の無料枠があり、本試算ではこの分を抜いて試算を行っています。
データ転送アウト: 1 TB のデータ送信
HTTPS リクエスト:1000 万件の HTTP および HTTPS リクエスト 毎月 1 年間
AWS Lambda には下記の無料枠があり、本試算では無料枠を超えた部分について計算を行い、料金として表記しています。
リクエスト回数: 1 か月ごとに 100 万件リクエストが無料
コンピューティング時間: 320 万 GB-秒のコンピューティング時間が無料
Amazon DynamoDB には 25 GB / 月のデータストレージ無料枠があり、本試算ではこの分を抜いて試算を行っています。
※無料利用枠の詳しい情報は下記のページをご参照ください。
https://aws.amazon.com/free/
※ 2024 年 7 月 18 日時点での試算です
この AWS サービスに関する参考情報
本構成を作るための参考記事
関連する Blackbelt 資料
関連する 10 のことシリーズ資料