AWS の開始方法
サーバーレスのウェブアプリケーションを構築する
AWS Lambda、Amazon API Gateway、AWS Amplify、Amazon DynamoDB、および Amazon Cognito を使用
はじめに: サーバーレスのウェブアプリケーションを構築する
ステップバイステップの指示に従って、ユーザーが Wild Rydes フリートからユニコーンライドをリクエストできるシンプルなサーバーレスウェブアプリケーションを作成する
概要
このチュートリアルでは、ユーザーが Wild Rydes フリートからユニコーンライドをリクエストできるシンプルなサーバーレスウェブアプリケーションを作成します。アプリケーションの HTML ベースのユーザーインターフェイスによって、ユーザーはライドする場所を指定できます。またアプリケーションでバックエンドの RESTful ウェブサービスとやり取りすることにより、リクエストを送信して近くのユニコーンを手配できます。アプリケーションはさらに、ユーザーがユニコーンライドをリクエストする前に、サービスに登録してログインするための機能を提供します。
前提条件
このチュートリアルを完了するには、AWS アカウント、インストールされている AWS CLI、アプリにマッピングを追加するための ArcGIS 登録アカウント、テキストエディタ、およびウェブブラウザが必要です。AWS アカウントをまだお持ちでない場合は、「AWS 環境の設定入門ガイド」に従って簡単な概要を確認してください。
アプリケーションのアーキテクチャ
アプリケーションのアーキテクチャは、AWS Lambda、Amazon API Gateway、Amazon DynamoDB、Amazon Cognito、および AWS Amplify コンソール を使用します。Amplify コンソールは、継続的デプロイと、HTML、CSS、JavaScript、およびユーザーのブラウザにロードされたイメージファイルなどを含む静的なウェブリソースのホストを提供します。ブラウザで実行される JavaScript は、Lambda と API Gateway を使用して構築されたパブリックバックエンド API からデータを送受信します。Amazon Cognito は、バックエンド API を保護するためのユーザー管理機能と認証機能を提供します。さらに、DynamoDB は API の Lambda 関数によってデータを格納できる永続レイヤーを提供します。
静的ウェブホスティング
AWS Amplify は、HTML、CSS、JavaScript、およびユーザーのブラウザに読み込まれたイメージファイルを含む静的なウェブリソースをホストします。
ユーザー管理
Amazon Cognito は、バックエンド API を保護するためのユーザー管理機能と認証機能を提供します。
サーバーレスバックエンド
Amazon DynamoDB は、API の Lambda 関数によってデータを格納できる永続レイヤーを提供します。
RESTful API
ブラウザで実行される JavaScript は、Lambda と API Gateway を使用して構築されたパブリックバックエンド API からデータを送受信します。
AWS エクスペリエンス
初心者
所要時間
2 時間
完了までにかかるコスト
このアーキテクチャで使用される各サービスは、AWS 無料利用枠の対象となります。無料利用枠を利用できない場合、この学習過程を完了するための費用は 0.25 USD* 未満です。
必要なもの
使用するテクノロジー:
- AWS アカウント**
- AWS CLI
- アプリにマッピングを追加するための ArcGIS アカウント
- テキストエディタ
- 推奨ブラウザ: Chrome の最新バージョン
- AWS Lambda
- Amazon API Gateway
- AWS Amplify
- Amazon DynamoDB
- Amazon Cognito
*この見積もりでは、ユーザーがチュートリアル全体で推奨される構成に従い、24 時間以内にすべてのリソースを終了することを前提としています。
**過去 24 時間以内に作成されたアカウントは、このチュートリアルに必要なリソースへのアクセス権がまだ付与されていない可能性があります。
最終更新日
2023 年 9 月 5 日
モジュール
このチュートリアルは 5 つのモジュールに分かれています。それぞれのモジュールは、これから構築する内容のシナリオとアーキテクチャの実装と作業の検証に役立つステップバイステップの手順について解説します。
- 静的ウェブサイトをホストする (15 分): 継続的デプロイのビルトインでウェブアプリケーションの静的リソースをホストするように AWS Amplify を設定する
- ユーザーを管理する (30 分): ユーザーのアカウントを管理するための Amazon Cognito ユーザープールを作成する
- サーバーレスバックエンドを構築する (30 分): ウェブアプリケーションのリクエストを処理するためのバックエンドプロセスを構築する
- RESTful API をデプロイする (15 分): Amazon API Gateway を使用して、前のモジュールで RESTful API として構築した Lambda 関数を公開する
- リソースを終了する (10 分): このチュートリアルで作成したすべてのリソースを終了する