投稿

ラベル(APIGateway)が付いた投稿を表示しています

SAM-CLIでServelessのDynamoDB+Lambda+APIGatewayやってみた

ちょっと Lambda と DynamoDB でサクッと CRUD のAPIが欲しかったので SAM を試してみた。 コード自体は生成AIにお任せ状態、ローカルでテストできるようにしたかったのと本番とローカルでDynamoDBの向き先を変える必要があったので、そのあたりをゴニョゴニョとして動かせるようにしました。 あくまでもサンプルなので認証とかバリデーションはきちんとできてないのでダメなやつなのですが、まぁまぁ便利ねということは分かった。 あとはS3にCSV上げたらDynamoDBにバッチでデータ投入する様なこととか、CloudFront+S3構成とかできるのかとか色々と調べてみたい。 まぁこれも色々な人がやってるのでいまさら感はあるし、先人のやつの方がしっかりしていて有益だと思うので、そちらの記事をあたっていただいた方がいいけどね。 ひとまずダメダメな今回のコードもさらしときます。 https://github.com/Otazoman/aws-sam-sample/tree/main ほぼ生成AIにやらせてて自分ではコードは一部しか書いていないというダメさっぷりを発揮しています。これベースにバリデーションとか追加していけば一々、組まなくて済むかなぁ。 ◆参考サイト ・SAM-CLI https://qiita.com/free-honda/items/d1ee8a7507a2e9c9527f https://iret.media/76096 https://www.cyberowl.co.jp/blog/technology/1318 ・複数Lambda https://zenn.dev/na7na/articles/e0be947140fd95 https://kazuhira-r.hatenablog.com/entry/2022/01/02/225530 https://qiita.com/nahiro_tus/items/2095d85ac11f306a79f8 https://qiita.com/charon/items/050942e54bbc5c9d44f1 https://uniforce.co.jp/media/blog/dvi11v9g6s/ ・APIGateway https://tech.fusic.co.jp/posts/2021-1...

AWSでservelessでSTNSのバックエンドを作ってみる

 Linuxで認証統合をしたいなぁってことで stns を調べて、 サーバを構築して確認して ましたがなんかEC2を立てるのが嫌なので Serveless構成 で行けないかなということで色々と試行錯誤やAIの力を借りまくってやっと思った通りのやつができたのでさらしときます。 ほんとは APIGateway のみで完結したかったんですが、stnsのクライアントが APIキー に対応していなかったらしく仕方なくT oken認証の箇所はLambda を使用せざるを得ませんでした。まぁ、先人が色々とされているのでいまさらですが、バックエンドは長く使えるように CloudFormation で構築するようにしました。 ◆作ったもの https://github.com/Otazoman/stns-backend-api ◆参考サイト ・stnsのserveless https://zenn.dev/sogaoh/articles/21-12-25-af3793dc2fcd0a https://iret.media/23633 https://www.m3tech.blog/entry/aws-private-stns-api https://qiita.com/miyaz/items/a0cf2f8f8acfe740ebf6 ・パラメータストア 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-cloudformatio...

TerraformでSNSトピックとAPIGateway+LambdaとS3Bucketを一撃で作成してみた

イメージ
以前に Terraformで3大クラウドの仮想ネットワークを作って 、その後Teraform熱は冷めていた感じだったのですが、急遽AWSの開発環境が必要になって本番環境のやつをコピーしようと思ったんですが、そこで APIGateway を一々ちまちまとやるのがめんどくさく、かといって ServelessFramework でやるのもなぁと思ったのでここで登場の Terraform です。当然ながらAPIGatewayどころか Lambda とか S3 とか主要どころのAWSのリソースはいじくれます。なんか CloudFormation も いじくれるらしい です。頼もしい限りです。 そこで コピペ の限りを尽くして本番環境のAPIGatewayとかLambdaをバコンと自分で用意したAWSのアカウントに投入します。 とりあえず今回の準備に必要となる「 SNS トピック」と「APIGateway」それと「Lambda」そして「S3」のBucketを準備します。コマンド一発で出来上がる様にしたいところですがSNSについては メールのサブスクライバ は承認が必要なのでTerraformが対応していないのでトピックのみ作成です。 ◆設定ファイルやコマンド関連など #事前準備(環境変数に埋込) $ export TF_VAR_access_key="アクセスキー" $ export TF_VAR_secret_key="シークレットキー" $ export TF_VAR_role_arn="IAMロールのARN" #1.作業用ディレクトリ作成 $ mkdir apigwsample $ cd apigwsample $ mkdir apigateway lambda s3 #2.ルートのtfファイル作成 $ vi main.tf ※以下の内容を新規作成 --------------------- resource "aws_sns_topic" "this_sns_topic" { name = var.sns_topic_name } module "lambda" { source = "./lambda...