FIFOタイプのAWS SNSはメール送信できない
AWSのSNSは通知先としてメールやLambdaなどを指定できます。
SNSはベストエフォートなStandardタイプと、順番と通知回数を保証されたFIFOタイプの2タイプあります。
が、FIFOタイプの通知先はSQSしか指定できず、メール送信には使えない。知らなかった。。。
StandardタイプのTopicでは、EmailやLambdaなどいろいろなProtocolのサブスクリプションが使える。
FIFOタイプのTopicはSQSのみで、Emailがない。
awscliで設定しようとしてみても同様
$ aws sns subscribe --topic-arn arn:aws:sns:ap-northeast-1:123456789012:xxxx.fifo --protocol email --notification-endpoint foo@example.com An error occurred (InvalidParameter) when calling the Subscribe operation: Invalid parameter: Invalid protocol type: email
たしかにドキュメントを読むとFIFOではSQSが前提のような書きっぷりである。
Topic作成時の説明にちゃんと書いてあったことにあとから気が付いた。