LoginSignup
0
0

AWS Terraform – Lambda と SNS の連携で トリガーができない

Posted at

公式

問題

TerraformでLambdaとSNSを連携させた

SNSのサブスクリプションにはLambdaが登録されているように見えるのに、
逆にLambdaのトリガーの画面にSNSが現れない

解決

aws_sns_topic_subscription に Lambda の ARN を設定するだけではなく
SNS に Lambda の実行パーミッションを付ける必要があるようだ

resource "aws_sns_topic" "example" {
  name = "example"
}

resource "aws_sns_topic_subscription" "example" {
  topic_arn = aws_sns_topic.example.arn
  protocol  = "lambda"
  endpoint  = aws_lambda_function.example.arn
}


resource "aws_lambda_permission" "with_sns" {
  statement_id  = "AllowExecutionFromSNS"
  action        = "lambda:InvokeFunction"
  function_name = aws_lambda_function.example.function_name
  principal     = "sns.amazonaws.com"
  source_arn    = aws_sns_topic.example.arn
}

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

Twitter

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0