LoginSignup
1
1

More than 3 years have passed since last update.

Serverless Typescript REST API MySQL(RDS Proxy)

Last updated at Posted at 2021-04-05

Serverless Frameworkを使って、RDS Proxy用の基盤を作ってみました。
https://github.com/toritroniks/sls-ts-rds-proxy-api

機能

:white_check_mark: 自動リクエストとレスポンスのJSONパース

Middyを利用して、リクエストのbodyを自動的にオブジェクトにパースする

:white_check_mark: JSON Schemaからの自動リクエストとレスポンスバリデーション

JSON Schema を使って、リクエストのbodyのバリデーションとAPIレスポンスのバリデーションは自動的に実行されます。
また、bodyのTypescriptインターフェースもSchemaから作成されます。
※ここもMiddyを使っています。

:white_check_mark: Webpack+Typescriptで共通処理実装可能(Lambda Layerは不要)

各Lambdaは独立された処理なので、共通処理を実装したい場合、Lambda Layerを使うことが多いと思います。
ただ、Layerのバージョン管理でデプロイが複雑になったり、ローカル実行が難しくなったりします。
Webpackを使うことで、ビルドのタイミングで必要なコードが各Lambdaの中に自動で反映されるため、Layerは不要になります。
※別のリポジトリーで処理を使いたい場合、Layerはまだ必要です。

:white_check_mark: ローカル実行可能 + ホットリロード!!

serverless-offline のプラグインを使うと、APIのローカル動作確認が可能になります。
実装がリアルタイムで反映されるので、とても開発しやすいと思います。

:white_check_mark: RDS Proxy(MySQL)対応

RDS Proxyに繋げるための実装は完了しており、設定ファイルに必要なVPC情報やAWSリソース情報を入れるだけで使えます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1