こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。
最近、とある事情で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の画面右上にメッセージを送受信というボタンがありますので押下します。
メッセージはなんでも大丈夫です。このまま送信ボタンを押下します。
メッセージは送信され、受信可能です。というメッセージが表示されます。
以前登録したメールアドレスに通知が飛んできていれば環境構築成功です。
お疲れ様でした。