はじめに
AWS Hands-on for Beginners をやってみたシリーズ。
今回は、Serverless #2 AWS SAM を使ってテンプレートからサーバーレスな環境を構築する をやってみました。
これまでにやってみたのはこちら。
- ハンズオンはじめの一歩: AWS アカウントの作り方 & IAM 基本のキ をやってみた
- Security #1 アカウント作成後すぐやるセキュリティ対策 をやってみた
- Network編#1 AWS上にセキュアなプライベートネットワーク空間を作成する をやってみた
- Network編#2 Amazon VPC間およびAmazon VPCとオンプレミスのプライベートネットワーク接続 をやってみた
- Network編#3 クライアントVPNをつかって、リモート接続環境を構築しよう をやってみた
- スケーラブルウェブサイト構築編 をやってみた
- Serverless #1 サーバーレスアーキテクチャで翻訳 Web API を構築する をやってみた
内容と感想
なぜか、動画が YouTube ではなくなったてました。
まあそれはいいのだけれども、この動画だと倍速で見れなくなったので、視聴にめっちゃ時間がかかりますね〜
実際にハンズオンするところは等速でもちろんいいのですが、説明は倍速くらいでちょうどいいと思うので残念。
今回の内容は、Cloud Formation を使って前シリーズの Serverless #1 サーバーレスアーキテクチャで翻訳 Web API を構築する と同じものを構築する内容ですね。
前回はすべて手動で構築していったわけですが、これを構成管理ツールを使うことで実現します。
行った内容はざっと下記のような感じでした。
- Cloud Formation の説明
- Serverless Application Model (SAM) の説明
- Cloud9
- Cloud9 の説明
- Cloud9 を使って lambda function を作成
- Cloud9 上での lambda function を作る方法が変わってしまったようであまり簡単ではなさそうだったので、自分は動画視聴のみ
- Cloud Formation を使った構築
- Cloud9 上のターミナルでファイルを作成し、lambda function, SAMテンプレートファイル、S3バケットを作成
- 上記を aws cli の cloudformation コマンドを使ってデプロイ
- 上記を Translate API をコールするよう修正する
- さらに、lambda, function の修正、SAMテンプレートを修正して cloudformation を実行してデプロイし、API Gateway によるエンドポイントを作成
- さらに、lambda, function の修正、SAMテンプレートを修正して cloudformation を実行してデプロイし、DynamoDB と連動するよう構築
Cloud9 上で lambda function を作る方法が変わっているようなので動画視聴のみ
- sam cli について解説
- インストール
- sam init によりアプリケーションがテンプレートから構築される
- sam validate で有効な SAM テンプレートであることを確認
- sam build でビルド
- sam deploy —guided で対話形式でデプロイ
- sam コマンドで lambda function, API Gateway のエンドポイントの動作をデプロイせずに確認することができる
コメント