メーリングリストの受信者が Amazon SNS トピックのメールから全員をサブスクリプション解除することを防止する方法を教えてください。
メーリングリストのメールアドレスを Amazon Simple Notification Service (Amazon SNS) トピックにサブスクライブしました。メーリングリストのメンバーが、メーリングリスト用のメールアドレスのサブスクリプション解除したため、リストのメンバー全員のサブスクライブも解除されてしまいました。
簡単な説明
E メールのサブスクライバーがいる Amazon SNS トピックに関するメッセージを発行すると、サブスクライバーが受信する E メールメッセージにはサブスクライブを解除するためのリンクが付いています。リンクの近くには次のようなメッセージがあります。 「If you wish to stop receiving notifications from this topic, please click or visit the link below to unsubscribe (このトピックからの通知を受信したくない場合は、下記のリンクからサブスクリプション解除してください)」
メールアドレスで Amazon SNS トピックにサブスクライブする際に、このリンクを選択した場合、そのメールアドレスでのサブスクリプションは解除されます。Amazon SNS トピックのメーリングリストのメンバーがサブスクリプションの解除リンクをクリックすると、そのメールアドレスはメーリングリストのサブスクリプションから解除されます。その後、メーリングリストの全員に「Unsubscribe Confirmation」というメッセージが届きます。
注: スパム E メールフィルターが、メーリングリストの E メールアドレスのサブスクライブを解除する場合もあります。
このようなサブスクライブ解除アクションを防ぐには、](https://docs.aws.amazon.com/sns/latest/api/API_ConfirmSubscription.html#API_ConfirmSubscription_RequestParameters)サブスクライブ解除に認証が必要なサブスクリプション[を作成します。このようなサブスクリプションでは、トピックの所有者とサブスクリプションの所有者のみがサブスクライブを解除できます。リンクをクリックした他のサブスクライバーには、次のエラーが表示されます。
「Your subscription could not be removed because of an error. (エラーが発生したため、サブスクリプションを解除できませんでした)If you wish to unsubscribe but do not have AWS credentials, or have any other questions about Amazon SNS, please contact Amazon at sns-question@amazon.com. (サブスクリプションの解除をご希望で、AWS 認証情報をお持ちでない場合、または Amazon SNS に関するご質問がある場合は、Amazon にお問い合わせください)」
解決策
既存のサブスクリプションを認証が必要なサブスクリプションに置き換えるには、既存のサブスクリプションを解除します。次に、以下のいずれかの方法で新しいサブスクリプションを作成します。
重要: 新しいサブスクリプションを確認して設定を完了するには、サブスクリプションの確認を求めるメールメッセージを受信できる必要があります。トピックのメーリングリストにサブスクライブする場合は、そのメーリングリストにメールアドレスを登録してから、サブスクリプションを確認します。
(Amazon SNS コンソール) サブスクリプション解除に認証が必要なメールサブスクリプションを設定する
- Amazon SNS コンソールを開き、メールアドレスでトピックをサブスクライブします。
- 届いたメールで、AWS Notifications からのサブスクリプション確認メッセージを探します。送信者は通常、「no-reply@sns.amazonaws.com」です。
重要: サブスクリプション確認メール内のリンクをクリックしてサブスクリプションの確認を行うことはできません。 - [サブスクリプションの確認] リンクの URL をコピーします。
- コンソールのナビゲーションペインで [サブスクリプション] を選択します。
- [サブスクリプション] ページで「Pending confirmation」となっているサブスクリプションを選択し、[サブスクリプションの確認] を選択します。
- [サブスクリプションの確認] ダイアログボックスに、コピーしたサブスクリプション確認 URL を貼り付けます。
- [サブスクリプションを確認] を選択します。
(AWS CLI) サブスクリプション解除に認証が必要なメールサブスクリプションを設定する
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
- Amazon SNS トピックのリストを取得するには、次の list-topics コマンドを実行します。
重要: region us-east-1 をトピックに関連する AWS リージョンに置き換えます。sns list-topics --region us-east-1 - 出力から、サブスクライブの対象トピックの TopicArn 値をコピーします。トピックの Amazon リソースネーム (ARN) は、次の例のような形式です: arn:aws:sns:us-east-1:0123456789012:my-topic
- エンドポイントを Amazon SNS トピックにサブスクライブするには、次の subscribe コマンドを実行します。
重要: topic-arn は、コピーしたトピック ARN に置き換えます。notification-endpoint は、トピックにサブスクライブするメールアドレスに置き換えます。region は、トピックのリージョンに置き換えます。sns subscribe --topic-arn arn:aws:sns:us-east-1:0123456789012:my-topic --protocol email --notification-endpoint test@amazon.com --region us-east-1 - 届いたメールで、AWS Notifications からのサブスクリプション確認メッセージを探します。送信者は通常、「no-reply@sns.amazonaws.com」です。
重要: サブスクリプション確認メール内のリンクをクリックしてサブスクリプションの確認を行うことはできません。 - [サブスクリプションの確認] リンクのURL をコピーし、その URL をテキストエディタに貼り付けてから、トークンをコピーします。トークンは、URL の途中にある、「Token=」と「&Endpoint=」に挟まれた一連の長い英数字列です。次の例のような形式です。
https://sns.us-east-1.amazonaws.com/confirmation.html?TopicArn=arn:aws:sns:us-east-1:123456789012:my-topic&Token=2336412f37fb687f5d51e6e241da92fcfd03593fd8dfa4bd75978a2ad7255afb88e71028f6a034d06f469f6c7ef2
0a609348542a0c68a9561c03a39d59beb02e2b7112c45f7ae26c344819b39cf07f15bef6c6c09766f9caa1fa55c236e7
7c33a50870bc027c74640ff64a7e99a67117&Endpoint=test@amazon.com - サブスクリプショントークンを確認するには、次の confirm-subscription コマンドを実行します。
重要: tokenは、コピーしたトークンに置き換えます。topic-arn は、コピーしたトピック ARN に置き換えます。region は、トピックのリージョンに置き換えます。sns confirm-subscription --token 2336412f37fb687f5d51e6e241da92fcfd03593fd8dfa4bd75978a2ad7255afb88e71028f6a034d06f469f6c7ef20a609348542a0c68a9561c03a39d59beb02e2b7112c45f7ae26c344819b39cf07f15bef6c6c09766f9caa1fa55c236e77c33a50870bc027c74640ff64a7e99a67117 --topic-arn arn:aws:sns:us-east-1:0123456789012:my-topic --authenticate-on-unsubscribe true --region us-east-1
- 言語
- 日本語

