Amazon SNS(Simple Notification Service)でメールを送信する設定手順について解説します。
Amazon SNS はプッシュ通知型で利用方法としては「CloudWatch」でリソース監視をして、トリガーが発動したら Amazon SNS でメール通知をしたり、プログラム上から任意のタイミングでメールを送信したりといった使い方ができます。
しかもメール送信だけでなく以下のプロトコルでプッシュ通知が可能です。
■プロトコル一覧
- HTTP
- HTTPS
- E メール
- JSON 形式のメール
- Amazon SQS
- AWS Lambda
- プラットフォームアプリケーションのエンドポイント
- SMS
今回は「CloudWatch」でしきい値を超えたら送信するメール用に Amazon SNS を利用するため設定し、動作確認をします。
Amazon SNS トピック作成手順
最初に Amazon SNS の「トピック」を作成します。
AWS 管理コンソール画面より「サービス」–「アプリケーション統合」–「Simple Notification Service」をクリックします。
「トピック名(例では MailforCloudWatchAlert)」を入力して「次のステップ」ボタンをクリックします。
「トピックの作成」画面で「名前」や暗号化の設定をして下にスクロールします。
「アクセスポリシー」で以下のように設定して下にスクロールします。
- メソッドの選択 ← 基本
- トピックにメッセージを発行できるユーザーを定義 ← トピックの所有者のみ
- トピックにサブ空くライブできるユーザーを定義 ← トピックの所有者のみ
「配信再試行ポリシー(HTTP/S)- オプション」で以下のように設定して下にスクロールします。
「配信ステータスのログ記録」画面で、以下のように設定し「新しいロールの作成」ボタンをクリックします。
- 配信ステータスログに記録 ← AWS Lambda
- サービスロール ← 新しいサービスロールの作成
「新しいロールの作成」ボタンをクリックすると、下図のように別ページに移動するので、続けて「IAM ロール」を新規作成します。
下図はデフォルトの設定です。
- IAM ロール ← 新しい IAM ロールの作成
- ロール名 ← SNSSuccessFeedback
新しい IAM ロールの設定内容を確認したら「許可」ボタンをクリックします。
下図はデフォルトの設定です。
- IAM ロール ← 新しい IAM ロールの作成
- ロール名 ← SNSFailureFeedback
下図のように本 SNS 用に新しいロールが作成されていることを確認し「トピックの作成」ボタンをクリックします。
下図のように正常にトピックが作成されることを確認します。
サブスクリプションの作成
トピックを作成したら続けて「サブスクリプション」を作成します。
「サブスクリプションの作成」ボタンをクリックします。
以下のようにサブスクリプションを作成して、設定したら「サブスクリプションの作成」ボタンをクリックします。
- トピック ARN ← 先ほど作成したトピックを選択します。
- プロトコル ← E メールを選択します。
- エンドポイント ← 受信するメールアドレスを入力します。(Gmailでも届きます)
下図のようにサブスクリプションが作成されることを確認します。
しばらくすると下図のように「AWS Notification – Subscription Confirmation」のメールが送信されてくるので「Confirm subscription」のリンクをクリックします。
リンクをクリックして下図のように「Subscription confirmed!」の画面が表示されることを確認します。
Amazon SNS の動作確認
「トピック」及び「サブスクリプション」を作成したらメール配信の動作確認をします。
対象のトピック(例では MailforCloudWatchAlert)をクリックします。
右上の「メッセージの発行」ボタンをクリックします。
「メッセージ詳細」画面でメールの件名及び本文を入力します。
- 件名 ← ASCII 文字でメールの件名を入力します。(日本語を入力するとエラーになります。)
「メッセージ本文」でメッセージ本文を入力します。
最後に「メッセージの発行」ボタンをクリックします。
下図のように「メッセージが正常に発行されました。」のメッセージが表示されることを確認します。
下図のようにメールが送信されることを確認します。
コメント