📌

Serverless FrameworkでBoltをAWS環境にDeployするとき

2021/09/22に公開

以前Slack Botで使うフレームワークBoltの記事を書き、Deployの話に触れた。

https://zenn.dev/peg/articles/a3597550a61006#deploy

Serverless FrameworkでDeployする場合AWS CLIを導入し、権限情報を認証情報として登録する必要がある。どういうIAMの権限が必要なのか調べる。

Serverless Frameworkは、Severless applicationを構成管理デプロイするためのツール

たしかにこの記事にあるように AdministratorAccessを使うように書かれている。

https://blog.n-t.jp/tech/awscli-create-user-and-policy/

  • s3: ソースコードをホスティングする。ここからLambdaに読み込まれる。
  • IAM: lambdaの実行権限をもつロールなど作成
  • lambda: サーバレスのコンテナ環境
  • apigateway: Request URLに登録するエンドポイント
  • cloudwatchevents: いるかどうかよくわからない
  • cloudwatch: ログ
  • cloudformation: serverlessフレームワークでCloudFormationStackの作成するため

https://www.is-tech.co.jp/ist-techblog/lambda関数を作成する開発者に必要な権限を考えてみ/

AWS CLIで確認する

ロググループの一覧

aws logs describe-log-groups --query "logGroups[*].logGroupName"

で出力が以下のようになるので該当のものを探す。

/aws/lambda/serverless-hoge

目的のロググループのストリームを一覧

aws logs describe-log-stream --log-group-name /aws/lambda/serverless-hoge
 --query "logStreams[*].logStreamName" --order-by LastEventTime

配列が出力される。その一番最後の要素が最新のデータ

ストリームの中身を出力

aws logs get-log-events --log-group-name /aws/lambda/serverless --log-stream-name '2021/09/22/[$LATEST]aaaaaaaaaaa' --query "events[*].message"

参考

https://blog.websandbag.com/entry/2017/12/31/233000

https://blue21neo.blogspot.com/2018/02/lambda-aws-cli.html

Discussion