Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Amazon Web Services

Serverless Web Apps using Amazon DynamoDB - Part 3 (日本語)

Amazon Web Services and Amazon via AWS Skill Builder

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it

概要

いよいよミッションの仕上げです。 このラボでは、DynamoDB を使用してミッション指示書の生成システムを完成させて公開します。このラボは、3 部からなるシリーズのパート 3 です。パート 1 では、DynamoDB のテーブルを作成し、ミッションデータを入力しました。パート 2 では、ミッションデータを取得する Lambda 関数を作成し、テストしました。パート 3 ではこの 3 回シリーズの締めくくりとして、Amazon API Gateway を使用して API を設定し、Lambda 関数経由で DynamoDB テーブルから情報取得を行う公開ウェブサイトを作ります。3 回のラボで学習した知識を活用して、世界を救う任務にスーパーヒーローを送り出しましょう。

取り上げるトピック

このラボを修了すると、以下のことができるようになります。

  • Amazon API Gateway で DynamoDB テーブルにアクセスする Lambda 関数の API を作成する
  • 独自 API 用の SDK を作成する
  • Amazon S3 でコンテンツを設定して公開する

… そして、これから立ち向かうミッションに関する詳細情報をスーパーヒーローに提供することもできるようになります。

アイコンキー

このラボでは、さまざまな種類の手順と注記への注意を促すため、各種アイコンが使用されています。以下のリストは、各アイコンの目的を説明したものです。

  • コマンド: 実行する必要があるコマンドを表す。
  • 想定される出力: 出力のサンプルであり、コマンドまたは編集済みファイルの出力を確認するときに使用する。
  • 注意: ヒントや重要なガイダンス。
  • 追加情報: 詳細情報が記載されている場所を示す。
  • 検討: あるコンセプトを自分の環境でどのように応用できるかを考えたり、学習中のトピックについて議論したりする時間。

ラボの前提条件

Introduction to Amazon DynamoDB のラボを受講して、主要な概念を理解しておく必要があります。これは 3 つのシリーズのうち、3 つ目のラボです。それぞれのラボは独立していますが、このラボは以前学習した内容に基づいて構成されているため、内容をより理解するために、事前に Serverless Web Apps using Amazon DynamoDB - Part 1Serverless Web Apps using Amazon DynamoDB - Part 2 を受講することをお勧めします。

AWS のその他のサービス

このラボで必要としない AWS のサービスは、このラボにアクセスしている間、IAM ポリシーによって無効にされています。さらに、このラボで使用されるサービスの機能はラボに必要なものに限定されており、場合によってはラボの設計の観点から意図的にさらに制限されています。このラボガイドに指定されていないサービスを使用したりアクションを実行したりすると、エラーが発生することがあります。

Amazon DynamoDB

Amazon DynamoDB は、数ミリ秒単位のレイテンシーをあらゆる規模で一貫して必要とするアプリケーションに対応できる、高速かつ柔軟な NoSQL データベースサービスです。フルマネージド型のクラウドデータベースであり、ドキュメントストアモデルと key-value ストアモデルの両方に対応しています。フレキシブルなデータモデルと信頼性の高いパフォーマンスにより、モバイル、ウェブ、ゲーム、アドテック、IoT など多くのアプリケーションに最適です。

Amazon DynamoDB を使用して作成したデータベーステーブルには、任意の量のデータを保存して取り出すことができ、どのような量のリクエストトラフィックも処理できます。ユーザーによって指定されたリクエスト量と保存データ量を処理するために、テーブルのデータとトラフィックは Amazon DynamoDB によって自動的に十分な数のサーバーに分散され、パフォーマンスは一定で高速に保たれます。

Amazon DynamoDB の詳細については、https://aws.amazon.com/documentation/dynamodb/ を参照してください。料金については、https://aws.amazon.com/dynamodb/pricing/ を参照してください。

AWS Lambda

AWS Lambda は、クラウド内で提供されるコンピューティングサービスです。コンピューティング性能の規模を変更できるため、デベロッパーはウェブスケールコンピューティングを簡単に実現できます。コードを AWS Lambda にアップロードすると、コードの実行に使用するサーバーのプロビジョニングや管理が AWS Lambda によって行われます。AWS Lambda では、Node.js、Java、Python など多様なコーディング言語がサポートされています。 AWS Lambda には、以下の 2 つの使用方法があります。

  • AWS Lambda がイメージファイルのアップロードなどのイベントに応じてコードを実行する、イベントドリブン型のコンピューティングサービスとしての使用方法。このラボではこれを実習します。
  • Amazon API Gateway を使用した HTTP リクエストまたは API 呼び出しを受けて、お客様のコードを実行するコンピューティングサービスとしての使用法。

AWS Lambda を使用することで、Amazon が提供する経済的なメリットを受けることができます。Lambda では、必要な場合にのみコードが実行され、自動的にスケーリングして 1 日に数件のリクエストから 1 秒に数千件のリクエストまでに対応できます。Lambda を使用すると、Amazon S3 や Amazon DynamoDB といった AWS のサービスに対するデータ処理トリガーの作成、Amazon Kinesis に保存されるストリーミングデータの処理、AWS の規模、パフォーマンス、セキュリティを活用して稼働する独自のバックエンドの作成が簡単に行えます。

このラボガイドでは、AWS の基本的な概念について順に説明します。ただし、Lambda の概念については簡単な概要のみを記載しています。詳細については、https://aws.amazon.com/documentation/lambda/ で Lambda に関する Amazon Web Services の公式ドキュメントを参照してください。 料金詳細については、https://aws.amazon.com/lambda/pricing/ を参照してください。

Amazon API Gateway

Amazon API Gateway は完全マネージド型サービスで、規模にかかわらず、開発者は簡単に API を作成、公開、メンテナンス、モニタリング、保護できます。AWS マネジメントコンソールで数回クリックするだけで、バックエンドサービスからのデータ、ビジネスロジック、機能をアプリケーションで利用するための「正面玄関」として機能する API を作成できます。この API は、Amazon Elastic Compute Cloud (Amazon EC2) で実行されるワークロード、AWS Lambda で実行されるコード (このラボで後ほど確認します)、あるいは任意のウェブアプリケーションで使用できます。Amazon API Gateway では、同時に発生した何十万件もの API コールの受け入れおよび処理に関するタスクにすべて対応します。これには、トラフィック管理、認可とアクセスコントロール、モニタリング、API バージョンの管理が含まれます。

ドキュメントについては、https://aws.amazon.com/documentation/apigateway/ を参照してください。料金詳細については、https://aws.amazon.com/api-gateway/pricing/ を参照してください。

Reviews

Start your review of Serverless Web Apps using Amazon DynamoDB - Part 3 (日本語)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.