📌
Serverless FrameworkでBoltをAWS環境にDeployするとき
以前Slack Botで使うフレームワークBoltの記事を書き、Deployの話に触れた。
Serverless FrameworkでDeployする場合AWS CLIを導入し、権限情報を認証情報として登録する必要がある。どういうIAMの権限が必要なのか調べる。
(Serverless Frameworkは、Severless applicationを構成管理デプロイするためのツール)
たしかにこの記事にあるように AdministratorAccess
を使うように書かれている。
- s3: ソースコードをホスティングする。ここからLambdaに読み込まれる。
- IAM: lambdaの実行権限をもつロールなど作成
- lambda: サーバレスのコンテナ環境
- apigateway: Request URLに登録するエンドポイント
- cloudwatchevents: いるかどうかよくわからない
- cloudwatch: ログ
- cloudformation: serverlessフレームワークでCloudFormationStackの作成するため
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"
参考
Discussion