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://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/dynamic-references-ssm-secure-strings.html

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://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html

https://dev.classmethod.jp/articles/lambda-authorizer-toke-request/

https://qiita.com/zumax/items/d8e30648bc3ca98ff79c

https://iret.media/85641

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://dev.classmethod.jp/articles/put-together-about-the-relationship-between-cfn-and-management-console-items/

https://www.skyarch.net/blog/%E5%A4%A7%E9%98%AA%E3%83%AA%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3-api-gateway%E3%81%AB%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%BBapi%E3%83%9E/

https://zenn.dev/ryu_hayashi/articles/dd205972b507d7


・DynamoDBマッピングテンプレート

https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html

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://iret.media/116484


・統合リクエスト

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年程度は使えるのではないかと思います。

コメント

このブログの人気の投稿

GASでGoogleDriveのサブフォルダとファイル一覧を出力する

証券外務員1種勉強(計算式暗記用メモ)

マクロ経済学(IS-LM分析)