Troubleshooting Serverless Applications (Japanese)
Offered By: Amazon Web Services via AWS Skill Builder
Course Description
Overview
ラボの概要
概要
API は、アプリケーションを作成するために相互にリンクされたコンポーネントのセットです。これにより、アプリケーションの各部のスケーリング、オペレーション管理、コード管理が容易になります。サーバーレス環境で API を構築することで、大規模なワークロードに最適化されたコンポーネントを設計できます。また、使用したサービスの料金のみを支払うことができます。これは大きな利点ですが、クラウド環境でコンポーネントを分離すると、問題が発生した場合のトラブルシューティングや修正が困難になるおそれがあります。AWS には、問題を簡単に特定するためのツールがいくつか用意されています。
目標
このラボを修了すると、以下のことができるようになります。
- イベント駆動型アーキテクチャを理解する
- AWS X-Ray と Amazon CloudWatch を有効にして使用する
- サーバーレスアプリケーションをオーケストレートするように AWS Step Functions を設定する方法を理解する
- Amazon Simple Queue Service (Amazon SQS) とデッドレターキューを活用する
- サーバーレスアーキテクチャのトラブルシューティング方法を理解する
- 設定を更新して API 機能を復元する
前提条件
このラボの前提条件は以下のとおりです。
- Microsoft Windows、macOS X、Linux (Ubuntu、SuSE、Red Hat) のいずれかが搭載されている Wi-Fi 対応ノートパソコンが使用できること
- iPad などのタブレット端末はラボ環境にアクセス不可能 (ただし受講者ガイドは閲覧できる)
- Microsoft Windows ユーザーの場合は、コンピュータの管理者権限
- Chrome、Firefox、Internet Explorer 9 (これより前のバージョンの Internet Explorer はサポート対象外) などのインターネットブラウザ
所要時間
このラボの所要時間は 90 分です。
シナリオ
このラボは、フォトブック印刷アプリケーションの構築に関するものです。このアプリケーションを使用すると、フォトブックに印刷する一連の画像をお客様がアップロードできます。各画像は、フォトブックに正しく表示されるように処理されます。このアプリケーションは AWS Step Functions を使用してワークフローを管理します。ワークフローでは、AWS Lambda 関数を使用して各画像が適切なファイルタイプであることを確認し、Amazon Rekognition を使用して内容が適切であることを確認します。また、画像のサイズを変更して透かしを入れ、お客様に承認してもらう校正用 PDF を生成します。次に Amazon Simple Notification Service (Amazon SNS) は、承認を得るための E メールをお客様に送信し、その後ジョブを Amazon Simple Queue Service (Amazon SQS) に送信します。Amazon SQS はブックをサードパーティーの印刷サービスに送信します。印刷後、ブックはお客様宛てに発送されます。
残念ながら、このアプリケーションは最近のコードプッシュによって破損したため、お客様がブックの画像を提供しようとすると、いくつかのエラーが発生します。すべての問題をトラブルシューティングし、アプリケーションを修正しましょう。
ラボ環境
この環境では、Amazon API Gateway、Lambda 関数、Step Functions ワークフロー、Amazon Simple Storage Service (Amazon S3) バケット、Amazon DynamoDB テーブル、Amazon SQS キューを使用します。環境にはいくつかのエラーが含まれており、これらのエラーをトラブルシューティングして解決する必要があります。
API Gateway は、複数の Lambda 関数の前で複数の API をホストしています。DynamoDB は、ユーザーがアップロードする画像に関するメタデータの保存に使用されます。Step Functions ワークフローがスタートして、画像を検証し、印刷用にレンダリングします。その後、検証のためにリンクを Amazon SNS 経由で ユーザーに送信します (このラボのために処理は自動化済み)。ユーザーはブックを PDF でプレビューしてから、印刷および発送のためにサードパーティーに送信することができます。
次の画像は、環境の概要的なアーキテクチャ図です。
こちらをクリックして、高解像度バージョンのアーキテクチャ図をダウンロードしてください。
次の画像は、画像処理ステートマシンの詳細図です。この図表を活用して、アプリケーションをトラブルシューティングします。
こちらをクリックして、高解像度バージョンの画像処理ステートマシン図をダウンロードしてください。
画像処理ステートマシン図のメモ:
#0: /batch - この API Gateway API はテストに使用されます。オレンジ色のボックスに含まれるユーザーのアップロードプロセスを自動化する Lambda 関数を呼び出します。
#1: /addAlbum - 画像アップロード先の署名付き URL のリクエストを送信します。ユーザーは署名付き URL を使用して、Amazon S3 に画像を直接アップロードします。
#2: /createBookBinding - ユーザーが、画像のアップロードが完了したことを伝え、ブックの作成プロセスを開始します。
#3: /invocation - PDF が Lambda を使用したプロキシによってテスト用に承認されます。
注意 テストを円滑に行えるように、ランダムなブックを自動生成する Lambda 関数が作成されています。これにより、複数の画像を含むブックがいくつか生成され、アプリケーションの問題をより正確に特定できるようになり、テストプロセスが高速化します。
次の画像は、ブック印刷ステートマシンの詳細図です。
こちらをクリックして、高解像度バージョンのブック印刷ステートマシン図をダウンロードしてください。
Tags
Related Courses
Introducción a computación serverless con AWS LambdaCoursera Project Network via Coursera Designing a Microsoft Azure Messaging Architecture
Pluralsight Python for Salesforce Developers
Pluralsight Play by Play: Getting on the Bus - Event-based Architecture with Salesforce Platform Events
Pluralsight Azure Event Grid
LinkedIn Learning