AWSでservelessでSTNSのバックエンドを作ってみる
Linuxで認証統合をしたいなぁってことでstnsを調べて、サーバを構築して確認してましたがなんかEC2を立てるのが嫌なのでServeless構成で行けないかなということで色々と試行錯誤やAIの力を借りまくってやっと思った通りのやつができたのでさらしときます。
ほんとはAPIGatewayのみで完結したかったんですが、stnsのクライアントがAPIキーに対応していなかったらしく仕方なくToken認証の箇所はLambdaを使用せざるを得ませんでした。まぁ、先人が色々とされているのでいまさらですが、バックエンドは長く使えるようにCloudFormationで構築するようにしました。
◆作ったもの
https://github.com/Otazoman/stns-backend-api
◆参考サイト
・stnsのserveless
・パラメータストア
https://qiita.com/okubot55/items/e5d81216d730eb2619cc
https://www.yokoyan.net/entry/2021/10/26/131000
https://qiita.com/tnagashima0310/items/988042ad75a77fa3ca18
https://dev.classmethod.jp/articles/aws-systems-manager-parameter-store-use-cloudformation/
https://dev.classmethod.jp/articles/aws-cloudformation-support-dynamic-references-securestring/
https://note.com/shooohter/n/nf9d800b8f90b
・パスワード情報
https://techblog.nhn-techorus.com/archives/17674
・Lambdaオーソライザー
https://qiita.com/sugimount-a/items/0079a79b94e442204d6f
https://dev.classmethod.jp/articles/lambda-authorizer-toke-request/
https://qiita.com/zumax/items/d8e30648bc3ca98ff79c
https://qiita.com/kennyQiita/items/b5d4549cb61899d52091
https://blog.usize-tech.com/integration-apigateway-and-lambda/
・Lambda作成
https://blog.jbs.co.jp/entry/2023/06/12/094304
・APIGateway
https://blog.usize-tech.com/apigateway-dynamodb-direct-integration/
https://zenn.dev/ryu_hayashi/articles/dd205972b507d7
・DynamoDBマッピングテンプレート
https://qiita.com/tamura_CD/items/ca8e531f74ea5b82a5b7
https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/models-mappings.html
https://zenn.dev/mn87/articles/8ff4e9a4c17761
https://dev.classmethod.jp/articles/json-mapping-template/
https://acro-engineer.hatenablog.com/entry/2016/09/23/120000
https://qiita.com/foxtrackjp/items/e286b20943e99e230198
https://blog.yuu26.com/api-gateway-dynamodb-json/
https://qiita.com/ma2shita/items/351746f2b6c414f9d5ab
https://qiita.com/tatsuya1970/items/203d2469755e94fc5313
https://poc2ops.medium.com/using-aws-api-gateway-with-dynamodb-3c99f898b41a
・統合リクエスト
https://dev.classmethod.jp/articles/api-gateway-rest-http-query-string/
https://dev.classmethod.jp/articles/private-integration-for-amazon-api-gateway/
・既存リソースからテンプレート生成
https://dev.classmethod.jp/articles/cloudformation-iac-generate/
https://qiita.com/leomaro7/items/18f0d0e8eba209c32c6d
・CloudFormation
https://www.andmore.dev/blog/build-serverless-api-with-no-lambda/
https://blog.zitaku.net/2021/12/22/
・CloudWatchログ
https://qiita.com/juno_rmks/items/acbc78d8628c401b9998
https://qiita.com/ksilverwall/items/abc442fb3aaa58651e3e
https://www.77-lifework.com/entry/awscfn-apigw-lambda
まぁ他の方々が色々とやってくださってるのとAIでできるようになったので自分みたいなへっぽこは備忘録を残すくらいしかできないんですけどね。
一応、Ubuntu24.04LTSとAmazonLinux2とAmazonLinux2023では問題なく動いていました。なのであと5年程度は使えるのではないかと思います。
コメント