AWS でのプロジェクト

モダンウェブアプリケーションを構築する

ウェブアプリケーションのデプロイ、データベースへの接続、ユーザーの行動分析

はじめに: Python でのモダンウェブアプリケーションの構築

ステップバイステップの手順に従って、最初のモダンアプリケーションを構築します。

概要

このチュートリアルでは、最初のモダンアプリケーションを AWS で構築します。 モダンアプリケーションは、ビジネスロジックを分離し、リユースとイテレーションを最適化し、可能な限りオーバーヘッドを除去します。モダンアプリは、インフラストラクチャのメンテナンスタスクを自動化しながらコードを書くことに専念できるサービスを使用して構築されています。

ここでは、Mythical Mysfits というサンプルウェブサイトを構築し、訪問者が空想上の生き物 (Mysfit) をペットとして引き取ることができるようにします。www.mythicalmysfits.com で、このウェブサイトが実際に動作している様子を確認できます。

チュートリアルのこのバージョンは、チュートリアルの Python言語バージョンと同じものです。このチュートリアルを別の言語で試したい場合は、メインブランチにアクセスし、そこから好みのプログラミング言語を選択してください (ページの下にスクロールしてください)。

学習内容

このチュートリアルでは、Well-Architected のサンプルウェブアプリケーションを作成するステップが説明されます。このウェブアプリケーションをフロントエンドのウェブサーバーでホストし、バックエンドのデータベースに接続する方法を学習します。また、ユーザー認証のセットアップ方法を学習し、ユーザー行動の収集と分析ができるようになります。

このサイトには、気に入った Mysfit に「いいね」を付ける機能や、選んだ Mysfit を引き取るために予約しておく機能など、基本的な機能が用意されています。後ほど分析できるよう、ユーザーの行動についてのインサイトを収集することもできます。

アプリケーションのアーキテクチャ

アプリケーションのアーキテクチャ図には、Mythical Mysfits を構成するサービスの構造と、それらがどのように連携するかが示されています。下の図で説明されているサービスについてあまりよく知らなくても心配する必要はありません。チュートリアルを進めながら、各サービスについて詳細に説明し、それらに精通するために利用できるリソースも紹介していきます。

全アプリケーションのアーキテクチャ

モジュール

アプリケーションのアーキテクチャ図には、Mythical Mysfits を構成するサービスの構造と、それらがどのように連携するかが示されています。下の図で説明されているサービスについてあまりよく知らなくても心配する必要はありません。チュートリアルを進めながら、各サービスについて詳細に説明し、それらに精通するために利用できるリソースも紹介していきます。

以下のようなモジュールで、Mythical Mysfits を実装します。

  1. 静的ウェブサイトの作成。ウェブサイトの静的コンテンツ (画像、静的テキストなど) を提供する Amazon Simple Storage Service (S3) を使って静的ウェブサイトを構築します。
  2. 動的ウェブサイトの構築。AWS Fargate によってコンテナとしてデプロイされた API バックエンドマイクロサービスを使用して、ウェブサーバーでアプリケーションロジックをホストします。
  3. Mysfit データの保存。Mysfit データすべてを外部に置き、Amazon DynamoDB のマネージド NoSQL データベースに保持します。
  4. ユーザー登録の追加。Mythical Mysfits の訪問者が「いいね」や Mysfit の引き取りを行えるよう、ユーザーによる登録、認証、承認の機能を有効化します。AWS API Gateway および Amazon Cognito との統合によりこれを実現します。
  5. ユーザークリックの把握。クリックストリーム分析マイクロサービスによってユーザーの行動を把握します。AWS Lambda と Amazon Kinesis Firehose を使用してウェブサイトでのクリックを記録し、分析します。 

アプリケーションの作成と変更のデプロイは、完全にプログラム的に実行します。必要なインフラストラクチャコンポーネントを作成するコマンドは、AWS コマンドラインインターフェイスを使用して実行します。これには AWS CodeCommit、CodeBuild、CodePipeline を利用するフルマネージド CI/CD スタックが含まれます。また、必要な開発タスクすべては、自分のブラウザ内で、クラウドベースの IDE である AWS Cloud9 を使用して完成させます。

 AWS の体験

初心者

 所要時間

2~3 時間

 完了までのコスト

使用するサービスの多くは AWS 無料利用枠内です。無料利用枠が適用できない場合でも、このサンプルアプリケーションのコストは合計で 1 USD/日未満です。

 チュートリアルの前提条件

この学習過程を完了するには、次のものが必要です。
✓ AWS アカウントと管理者レベルのアクセス権**

 

*この見積もりは、ユーザーがチュートリアルの全体で推奨設定に従い、24 時間以内にすべてのリソースを終了させることを前提としています。

**過去 24 時間以内に作成されたアカウントは、この学習に必要なリソースへのアクセス権がまだ付与されていない可能性があります。

 GitHub で試す

静的ウェブサイトの構築: Mythical Mysfits