AWS SNSを使う

#lambdaネタ SNS + Lambda + Slack でアラート通知を受け取る - Qiita

#障害時でも まずPush通知がされるまでの流れを把握 http://dev.classmethod.jp/cloud/aws/sns-mobile-token/ この中のフローが非常に参考になる。

#大規模Push配信環境 メルカリの例 ハイパフォーマンスGaurun〜メルカリの大規模プッシュ配信を支えるミドルウェア〜 - Mercari Engineering Blog

#Push通知が届かない場合 http://faq.growthbeat.com/article/60-push

  • 電源が入っていない
  • 証明書の有効期限が切れてる
  • デバイスのプッシュ通知ステータスがアクティブ(Active)になっていない
  • アプリがアンインストールされてる
  • 登録されているデバイストークンと環境(development/production)が一致しない

#証明書の扱いは難しいらしい

http://faq.growthbeat.com/article/81-growthpush

具体的にエラーとなるのは、下記のような場合です:

iOSの証明書の有効期限が切れている

iOSの証明書が無効化されている。

AndroidのAPIキーのIP制限が設定されている

Androidの証明書が無効化されている

PHPでPush通知を実装する

http://qiita.com/toshiyuki_wada/items/a072ec557a49c6f8c00a

AWS CLIで取得する

http://qiita.com/tcsh/items/e2184f8c7c283e93b167

各メトリクスの説明

Amazon Simple Notification Service のメトリックスおよびディメンション - Amazon CloudWatch

NumberOfMessagesPublished 発行されたメッセージの数。
NumberOfNotificationsDelivered 正常に配信されたメッセージの数。
NumberOfNotificationsFailed Amazon SNS が配信に失敗したメッセージの数。
このメトリクスは、Amazon SNS が Amazon SQS、電子メール、SMS、またはモバイルプッシュのエンドポイントへのメッセージ配信の試行を停止した後に適用されます。
HTTPまたはHTTPSエンドポイントに対して配信が試行されるたびに、メトリクスが1つ追加されます。
他のすべてのエンドポイントの場合、メッセージが配信されないとカウントが1増加します (試行回数に関係なく)。
HTTP エンドポイントの再試行の数は制御できます。詳細については、「HTTP/HTTPS エンドポイントに対する Amazon SNS 配信再試行ポリシーの設定」を参照してください。

参照する環境変数

AWS_SNS_HOME="/usr/local/bin/SimpleNotificationServiceCli"

CLIツールのダウンロード

http://aws.amazon.com/developertools/Amazon-SNS/3688 のDownloadのリンクからzipアーカイブがある

2015/07/07時点では CloudWatch-2010-08-01.zip が最新だった

ダウンロードして設置

cd /usr/local/bin
unzip /usr2/archive/packages/SimpleNotificationServiceCli*.zip
ln -s SimpleNotificationServiceCli-1.0.3.4 SimpleNotificationServiceCli

bin配下のコマンド群に実行権限がついていなかった。ので付与した

chmod 744 /usr/local/bin/SimpleNotificationServiceCli/bin/*

SNSのトピックを作る、確認する

[root@a001 bin]# ./sns-create-topic test_20150715
arn:aws:sns:us-east-1:521249050443:test_20150715

デフォルトだと『us-east-1』にトピックスができてしまう…

Slackへの投稿

https://qiita.com/icck/items/75f484cd3ccd944cd4c2

User
CloudFront
ALB
EC2
RDS