AWS Hands-on for Beginners - Serverless #2 では、前回の Serverless #1 で構築した翻訳 Web API を AWS Serverless Application Model (AWS SAM) を用いてテンプレートから構築します。前回のハンズオンでは全ての工程を手作業で(マネージメントコンソール上で)構築していきました。今回のハンズオンではこの構築作業をテンプレート化し、作成したテンプレートから AWS リソースを構築していきます。テンプレート化することで、そのテンプレートをバージョン管理できるようになる、チーム内でレビューがしやすくなる、といった利点があり、プロダクト開発をより効率的に進めることができます。※本ウェビナーは2020年にレコーディングされたものです。
以下のような方へおすすめです。
- サーバーレスアーキテクチャの概要を押さえたいエンジニアの皆様へ
まずはじめに、前回のハンズオンシリーズの復習を行います。AWS Lambda や Amazon API Gateway といったサービスの特徴についても簡単に振り返ります。続いて、今回のハンズオンシリーズの全体像や最終的に作っていただく構成について紹介します。
>
今回のメインテーマである "AWS Sererless Application Model(AWS SAM)" について紹介します。また、今回は手を動かすための環境として AWS Cloud9 を利用するため、AWS Cloud9 についても簡単に紹介します。
ハンズオンを進めるための Cloud9 環境のセットアップを行います。その後、Cloud9 で Lambda 関数を作成する簡単なハンズオンを行います。([Option] と記載したハンズオンについては、実施いただかなくても後続のハンズオンには影響しないものになります。)
この動画から実際に AWS SAM を利用していきます。まずは、SAM を利用するための事前準備を行います。続いて、Lambda 関数の設定情報を SAM テンプレートに記載していきます。動画内で使用しているソースコード、テンプレートファイルは以下です。
https://112-TZM-766.mktoweb.com/rs/484-PDA-177/images/Hands-on_for_Beginners_Serverless_2_%234.txt
ひとつ前の動画で作成した SAM テンプレートファイルをアップデートし、Lambda 関数から別の AWS サービスを呼び出せるよう IAM 設定を修正していきます。動画内で使用しているソースコード、テンプレートファイルは以下です。
https://112-TZM-766.mktoweb.com/rs/484-PDA-177/images/Hands-on_for_Beginners_Serverless_2_%235.txt
この動画では API Gateway リソースを作成する際の設定を SAM テンプレートに記載していきます。ここまでのハンズオンを完了すると、外部からリクエストを受け付けられる Web API が構築できます。動画内で使用しているソースコード、テンプレートファイルは以下です。
https://112-TZM-766.mktoweb.com/rs/484-PDA-177/images/Hands-on_for_Beginners_Serverless_2_%236.txt
この動画では DynamoDB テーブルを作成する際の設定情報を SAM テンプレートに記載していきます。Lambda 関数側の記載も修正し、DynamoDB に翻訳リクエストの履歴情報を書き込めるようにします。動画内で使用しているソースコード、テンプレートファイルは以下です。
https://112-TZM-766.mktoweb.com/rs/484-PDA-177/images/Hands-on_for_Beginners_Serverless_2_%237.txt
AWS SAM Command Line Interface (CLI) について紹介し、sam init コマンドで対話形式でサーバーレスアプリケーションの初期化をする、といった SAM CLI のハンズオンも進めていきます。動画内で使用しているコマンドは以下です。
https://112-TZM-766.mktoweb.com/rs/484-PDA-177/images/Hands-on_for_Beginners_Serverless_2_%238.txt
前回の動画に続き、SAM CLI を利用していきます。対話形式でのデプロイに加え、デプロイせずとも Lambda や API Gateway のテスト実行をローカル環境で行えるコマンドも使っていきます。動画内で使用しているコマンドは以下です。
https://112-TZM-766.mktoweb.com/rs/484-PDA-177/images/Hands-on_for_Beginners_Serverless_2_%239.txt
今回のハンズオンシリーズで作成した AWS リソースの削除を行います。その後、これまでの動画で解説できなかったことを落ち穂拾いとして3点説明したのち、本シリーズのまとめを行います。