[基本操作]Amazon SNSでメールを送信する

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。池田です。Amazon Echo日本版の招待メールはまだ届いていませんが、ウキウキしながら置き場所や使う場面を妄想しています。

はじめに

本記事は2011年07月19日に公開された記事を現在(2017年11月)のUIで再現したものです。まだAmazon SNSをご利用されたことがない方を対象としております。予めご了承ください。

Amazon SNS(Simple Notification Service)とは

Amazon Simple Notification Service (SNS) はメッセージ通知のインフラを提供するフルマネージド型サービスです。
ざっくり「何らかの通知を送信したい人(あるいはシステム)から、受け取りたい/受け取ってほしい人(あるいはモノ)へ通知を送る仕組み」とイメージするとわかりやすいのではないでしょうか。

通知の種類

Amazon SNSでは以下の形式での通知に対応しています。6年間で対応形式が増えていますね。

  • HTTP
  • HTTPS
  • Email
  • Email-JSON
  • Amazon SQS
  • Application
  • AWS Lambda
  • SMS
  • 作業手順

    トピックの作成

    今回はひとつの宛先にメールを送信することで基本的な操作方法とその動作を体験していきます。早速、メールで通知を送るためのトピックを作成してみましょう。

    ※Amazon SNSの管理コンソールは現時点(2017年11月)で日本語化されておりませんが、それほど迷うことはありませんでした。

    1: AWS ManagementConsoleを開き、サービス一覧の中から「Simple Notification Service」を選択します。
    ikeda_SNS000
    初めてこのページを開いた場合は「Get started」のボタンが表示されますのでクリックして進みます。

    2: SNS dashboardにある「Create topic」を選択します。
    ikeda_SNS001

    3: ポップアップウインドウが表示されますので「Topic name」と「Display name」を入力し「Create topic」をクリックします。
    今回は下の画像のようにしました。
    ikeda_SNS002
    トピックの作成が完了すると、ウインドウ内にリスト表示されます。以上でトピックの作成は終わりです。

    Subscriptionの作成

    次に通知の宛先や方法を定義するサブスクリプションを作成します。

    1: トピックの作成が正常に終了すると、下のような画面になりますので「Create subscription」をクリックします。
    ikeda_SNS003

    2: 今回はメールでの通知を行いますので「Protocol」は「Email」を選択します。
    ikeda_SNS004

    3: 通知先となる「Endpoint」にはメールアドレスを入力し、内容が正しければ右下の「Create subscription」をクリックします。
    ikeda_SNS005

    4: 通知先に指定したメールアドレス宛に確認のメールが届きます。内容を確認してメール本文にある「Confirm subscription」をクリックします。
    ikeda_SNS006
    正常に処理されると下記のようなページが表示されます。
    ikeda_SNS007

    5: ダッシュボードに戻ると、サブスクリプションを作成した直後のまま「Subscription ID」の欄が「PendingConfirmation」となっていますので右上のアイコンをクリックして最新の情報に更新します。
    この更新アイコンですが、操作に慣れないうちは比較的見落としやすい印象(自分対象自分調べ)があります。他のAWSリソースのダッシュボードでも共通ですので何か操作を行う直前に、一度更新するよう習慣化しておくと誤操作や誤認識を防止できるように感じました(自分向けメモ)。
    ikeda_SNS008
    更新すると「PendingConfirmation」だったものが以下のように表示されます。
    ikeda_SNS009
    これでメッセージ通知の準備が整いました。

    通知の作成と送信

    1: 「Publish to topic」をクリックし通知するメッセージを作成します。
    ikeda_SNS010
    「Subject」欄にはメールの件名を「Message」欄にはメールの本文を入力し、内容に問題がなければ右下の「Publish message」をクリックして送信します。
    ikeda_SNS011
    受信したメールは以下のようになります。
    ikeda_SNS012

    まとめ

    今回は単純にメールを1通送信するだけでしたので、普通にメールを送信するよりも大変な手順になってしまいました。
    ですが、他の通知方法やサービスとうまく組み合わせることで、通知対象が多い場面での自動一斉通知といった処理も可能となります。
    6年間操作方法に大きな変更もなく提供され続けているということは、シンプルなだけに利用シーンの多い有用なサービスなのだろうと感じました。