別の AWS アカウントの Amazon SQS キューの「削除済み」Amazon SNS トピックサブスクリプションをどのように再作成しますか?

所要時間1分
0

私の Amazon Simple Queue Service (Amazon SQS) キューが別のAWS アカウントの Amazon Simple Notification Service (Amazon SNS) トピックにサブスクライブされました。クロスアカウントサブスクリプションを削除したところ、トピックのサブスクリプションは「削除済み」ステータスになりました。別のアカウントの Amazon SQS キューの削除済みの Amazon SNS トピックサブスクリプションを再作成するにはどうすればよいですか?

簡単な説明

サブスクリプションを所有していないアカウントから Amazon SNS Unsubscribe API を呼び出すと、サブスクリプションは 72 時間削除済みステータスになります。SNS トピックサブスクリプションのステータスが 削除済みの場合、サブスクリプションを所有しているアカウントは、同じエンドポイントをトピックに再サブスクライブすることはできません。

72 時間後、Amazon SNS は削除済み サブスクリプションをクリアし、サブスクリプションを所有するアカウントは同じエンドポイントをトピックに再サブスクライブできます。

再サブスクライブまで 72 時間待たない場合は、次のいずれかの操作を行って、サブスクリプションを手動で再作成できます。

注: 同じ AWS アカウントから Subscribe および UnsubscribeAPI コールを実行することをお勧めします。Subscribe API を呼び出すと、呼び出すために使用する AWS アカウントがサブスクリプションの所有者になります。

解決方法

**重要:**次の手順は、 HTTP および HTTPS エンドポイントサブスクライバに適用されます。AWS Lambda 関数のサブスクライバーには適用されません。

受信した UnsubscribeConfirmation メッセージの SubscribeURL に HTTP GET メソッドリクエストを送信する

1.    サブスクリプションを削除した後に SQS キューに送信された UnsubscribeConfirmation メッセージで、 SubscribeURL を見つけます。次に、URL をコピーしてテキストドキュメントに貼り付けます。

2.    SubscribeURLHTTP GET メソッドリクエストを送信します。

HTTP GET メソッドリクエストの例

curl -X GET "https://sns.us-west-2.amazonaws.com/?Action=ConfirmSubscription&TopicArn=arn:aws:sns:us-west-2:123456789012:MyTopic&Token=<token>"

SNS トピックを所有している AWS アカウントから Amazon SNS Subscribe API を呼び出し、サブスクリプションを確認する

1.    SNS トピックを所有する AWS アカウントから Amazon SNS Subscribe API を呼び出します。

2.    次に、 SQS キューからメッセージを読み込むアクセス許可を持つ AWS ユーザーに、サブスクリプションを確定させます

新しい Amazon SNSトピックを作成して現在のトピックを置き換え、新しいトピックにサブスクライブします。

1.    新しい SNS トピックを作成して、現在のトピックを置き換えます。

2.    SQS キューを新しいトピックにサブスクライブします


関連情報

Amazon SNS サブスクリプションとトピックの削除

別のアカウントの Amazon SQS キューへの Amazon SNS メッセージの送信

Amazon SQS キューへのファンアウト

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ