How to Speed Up Your AWS Lambda Functions (Japanese)
Offered By: Amazon Web Services via AWS Skill Builder
Course Description
Overview
シナリオ
あなたは AnyCompany, Inc. の DevOps エンジニアで、会社の製品 API のパフォーマンスを改善する責任を負っています。製品データは Amazon DynamoDB テーブルに保存されます。顧客はリクエストを AWS Lambda 関数にマッピングする Amazon API Gateway エンドポイントを介して、このデータを操作します。このアプリケーションでは次のアクションを処理します。
- 新しい製品を作成する HTTP Post メソッド
- 製品のリストを取得する HTTP Get メソッド
- 製品 ID によって製品を取得する HTTP Get メソッド
- 製品を削除する HTTP Delete メソッド
顧客によると、すべてのリクエストの応答時間が 100 ミリ秒未満になることを期待しているものの、平均してそれ以上の時間がかかっています。応答時間が 1 秒以上になる場合もあるということです。このような問題は、アプリケーションに負荷がかかっている場合 (1 秒あたりのリクエスト数が約 200) に発生しやすくなります。
あなたの任務は製品 API を最適化して、平均応答時間をできるだけ速め、応答に 1 秒以上かかる状況を解決することです。AWS Cloud9 を開発環境およびテスト環境として使用し、Lambda 関数を最適化して顧客の期待に応えます。Locust というオープンソースの負荷テストツールを使用して、アプリケーションに対する負荷を生成します。
ラボの概要
今回は Lambda について詳しく学習します。DevOps エンジニアとして、サーバーレスアプリケーションの Lambda 応答時間を改善する必要があります。このラボを終えるまでに、同時実行、関数のメモリサイズ、コールドスタート、Lambda 関数を使用して最善の結果を実現する方法を理解します。Lambda 関数のライフサイクルを確認し、関数のパフォーマンスを最適化する方法を学びます。
目標
本ラボを修了すると、次のことができるようになります。
- AWS サーバーレスアプリケーションモデル (AWS SAM) を使用して Lambda 関数をデプロイする。
- Lambda 関数のパフォーマンス特性を確認し、パフォーマンス向上の可能性を判断する。
- Lambda 関数のメモリサイズ制限を調整し、パフォーマンスを最適化する。
- Lambda 関数のライフサイクルに関する知識を適用し、関数を最適化するステップを決定する。
- Lambda 関数で、プロビジョニングされた同時実行と予約された同時実行を設定する。
- プロビジョニングされた同時実行と予約された同時実行を使用して、Lambda 関数のパフォーマンスを最適化する。
技術知識の前提条件
このラボでは、Locust というオープンソースの負荷テストツールを使用して、アプリケーションに対する負荷を生成します。Locust のウェブインターフェイスはポート 8089 を使用します。これは Locust のデフォルトのポートです。最大限の学習効果を得られるように、このラボの実行中は VPN 接続を避けてください。ポート 8089 が VPN にブロックされ、一部のステップでエラーが発生する可能性があります。
所要時間
このラボの所要時間は約 60 分です。
アイコンキー
このラボでは、さまざまな種類の手順と注記への注意を促すため、各種アイコンが使用されています。以下のリストは、各アイコンの目的を説明したものです。
- コマンド: 実行する必要があるコマンドを表す。
- 想定される出力: 出力のサンプルであり、コマンドまたは編集済みファイルの出力を確認するときに使用する。
- 注意: ヒントや重要なガイダンス。
- 詳細: 詳細情報が記載されている場所を示す。
- 検討: あるコンセプトを自分の環境でどのように応用できるかを考えたり、学習中のトピックについて議論したりする時間。
- 警告: 特記事項または重要な情報 (この情報を読み忘れても、機器やデータに問題が発生するというわけではありませんが、特定のステップを繰り返す必要が生じる可能性があります)。
Tags
Related Courses
Building Modern Python Applications on AWSAmazon Web Services via edX Building Modern Java Applications on AWS
Amazon Web Services via edX Building Modern Nodejs Applications on AWS
Amazon Web Services via edX Build a RESTful API(Node.js) using AWS Lambda & API Gateway
Coursera Project Network via Coursera Build a Python application(API) on AWS(Lambda+API Gateway)
Coursera Project Network via Coursera