ダメ元エンジニアのお勉強おメモ

ほとんど自分用のメモです。AWS をよく触ります。Web アプリとか作ります。Raspberry Pi も好きです。

2021-05-01から1ヶ月間の記事一覧

【AWS CDK】CI ツールからデプロイした際に「Bucket named 'cdktoolkit-stagingbucket-xxxxx' exists, but not in account ************. Wrong account?」と怒られた場合の対処法

概要 私の場合は、CircleCI からデプロイしようとしたところで、下記エラーが発生した。 ちなみに、$ cdk bootstrap は既に実行済みの状態である。 $ yarn deploy ... [50%] fail: Bucket named 'cdktoolkit-stagingbucket-xxxxx' exists, but not in accoun…

【AWS CDK】Lambda 作成と同時にロググループも作成する方法

環境 $ cdk version 1.102.0 (build a75d52f) 結論 logRetention の設定を付けてあげるとロググループも作成してくれる。 new lambda.Function( this, 'HelloFunction', { code: lambda.AssetCode.fromAsset('dist/hello'), functionName: 'hello', handler:…

AWS Chatbot で Slack のプライベートチャンネルに連携する場合は /invite @aws する必要がある

AWS

結論 下記のコマンドをプライベートチャンネルで叩きましょう。 /invite @aws ここに書いてあった。 dev.classmethod.jp AWS Chatbot から Slack のチャンネルに連携する手順は下記が参考になる。 aws.amazon.com

API Gateway で構築した REST API の存在しないパスへアクセスされた場合に 404 エラーを返したい

概要 API Gateway で構築した REST API の存在しないパスへアクセスされた場合、デフォルトだと 403 エラーで下記が返る。 {"message": "Missing Authentication Token" } 存在しないなら 404 エラーとして返したいよねって気持ちになった際の対処法を記載す…

Cognito の JWT を TypeScript で検証する方法 - async / await で

ソースコード こんな感じになる。 import * as Console from 'console'; import { promisify } from 'util'; import jwt, { JwtHeader, TokenExpiredError } from 'jsonwebtoken'; import jwksClient from 'jwks-rsa'; const AWS_REGION = process.env.AWS_R…

Lambda が実行されているリージョンを知りたい時は勝手に作られる環境変数「AWS_REGION」を使えば良い

結論 東京リージョンでデプロイした Lambda で下記を実行するとap-northeast-1が出力される。恥ずかしながら知らんかった。 console.log("region:", process.env.AWS_REGION); // region: ap-northeast-1 他に予約されている環境変数は下記を参照。 docs.aws…

API Gateway + Lambda で構築した REST API がタイムアウトを起こした場合のステータスコードは 502 と 504 のケースがある

概要 API Gateway と Lambda のタイムアウト秒数の関係により、502 or 504 が決まるみたい。 502 になるケース API Gateway のタイムアウト秒数 > Lambda のタイムアウト秒数の場合に 502 エラーとなる。 例えば、API Gateway のタイムアウトが29秒、Lambda …

Swagger v2.0 で指定できる認証方法を全て試してみる

概要 Swagger v2.0 では下記の認証方法を指定することができる。 Basic 認証 OAuth 2.0 API キー 認証 securityDefinitions にて認証方法の定義を記載して、メソッド内の security にて紐付ける。 今回は試しに各認証方法の定義 & メソッドに紐づけてみた。 …