こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。
最近、とある事情でAWS関連のインプットをよくしています。
今回はAWS LambdaとSNSで構築したメール通知環境にSQSを追加していきたいと思います。
前回の記事は以下となります。
全体の流れは以下にまとめています。
最終的な構築イメージ
構築
SQSの作成
SQSの管理画面にアクセスします。キューを作成を押下します。

以下の設定で作成します。基本的にはデフォルトで問題ないと思います。
- タイプ:標準
- 名前:qiita_sqs
Lambdaのロールを修正する
前回作成したLambdaに移動します。この状態から下に少しスクロールします。

設定タブのアクセス権限を開きます。Lambdaにアタッチされているロールを確認することが出来ます。ロール名がリンクとなっていますのでクリックします。

現在ロールにアタッチされているポリシが確認できます。
画面下の許可タブ内の許可を追加を押下します。

AWSLambdaSQSQueueExecutionRoleを選択して許可を追加を押下します。

許可ポリシ内にAWSLambdaSQSQueueExecutionRoleが表示されていることを確認します。

SQSとLambdaを紐づけていきます。
Lambdaの左にあるトリガーを追加を押下します。

以下の内容で作成します。
これも基本的にデフォルトのもので問題ありません。
- SQS
- SQS queue:qiita_sqsを選択

トリガーは無効情報という通知がなされます。暫く待機します。
自動で解消されるはずです。

もし、上記で解消されない場合はSQSのLambdaトリガーを確認してみます。
正常に紐づけが出来ていれば、Lambdaが表示されており、でスタータスがEnabledになっているはずです。

テスト
SQSの画面右上にメッセージを送受信というボタンがありますので押下します。

メッセージはなんでも大丈夫です。このまま送信ボタンを押下します。

メッセージは送信され、受信可能です。というメッセージが表示されます。

以前登録したメールアドレスに通知が飛んできていれば環境構築成功です。
お疲れ様でした。



