継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

サーバーレスシングルページアプリケーション 6章

タダです。

今回はサーバーレスシングルページアプリケーション6章で勉強したことをまとめていきます。 www.oreilly.co.jp

章立ては以下のようになっています。

  • 1章 シンプルにはじめる
  • 2章 ハッシュイベントによるビューのルーティング
  • 3章 シングルページアプリケーションに必要なもの
  • 4章 Amazon CognitoによるIdentity as a Service
  • 5章 DynamoDBにデータを格納する
  • 6章 Lambdaを使って(マイクロ)サービスを作る
  • 7章 サーバーレスのセキュリティ
  • 8章 スケールアップする

6章のまとめ

  • 本章ではLambda環境の基本とその動作、CLIを使ってサービスを定義し、サービスのコードをデプロイする
    • 最後にCognito認証、HTTPを使った手法の2つの手法でサービス実行方法を紹介する
  • Lambdaはサーバーレスのサービス
    • 512MBのディスクスペースがある(/tmpにある)が、関数を実行されているもので永続化されない
    • Linuxコマンドを実行できるし、静的リンクされた独自のLinuxバイナリをアップロードして関数実行できる
    • 300秒以上の時間をかけられない
  • Lambdaの課金の仕組みでは、GB/秒で課金される
  • まずはデプロイする ./sspa build_bundle でバンドルを作成する
    • ./sspa create_service conf/lambda/functions/echo で関数をデプロイする
    • メモリサイズを128->512へサイズアップし、LambdaのIAMロールにDynamoDBを追加する
  • アプリケーションのコード同様にLambdaもテストからはじめる
    • ./sspa test でテストを実行する
  • API Gatewayを使うことで、認証されてないHTTPリクエスト経由でLambda関数にアクセスさせることができる
    • API GatewayのアクションはPOSTで設定し、Lambda関数に投げる設定をする
    • 以下のようなレスポンスが帰ってきたらOK
$ curl -d '{"problemNumber":1}' <<API Gatewayのエンドポイント>>
{"true":2, "!false":1}

次は7章ではサーバーレスのセキュリティーを学びます。