[Sumo Logic] HTTP コレクタに対する Amazon SNS トピック購読の確認リクエストを手動で実行する #sumologic

TL;DR

  • Sumo Logic の HTTP コレクタを Amazon SNS トピックのサブスクリプションとして登録するには、SubscribeURL へのアクセスが必要です
  • 通常は自動的に行われますが、手動で実行することも可能です
  • SubscribeURLが含まれる対象のログをLog Searchから検索してください

SubscribeURL を手動で確認する

AWS サービスを Sumo Logic で行う場合、いくつかのケースで「Amazon SNS 経由で Sumo Logic に push する」という場面がでてきます。例えば Amazon SES のバウンスや苦情イベントを Sumo Logic に取り込む場合には、Amazon SNS を使う手順がドキュメントで紹介されています。

Amazon SES のログの収集 - Sumo Logic Japanese

Amazon SNS トピックの送信先(サブスクリプション)として Sumo Logic の HTTP コレクタエンドポイントを指定する場合、送信された確認リクエストに含まれるSubscribeURLに 1 回アクセスする必要があります。通常この確認は、Sumo Logic のプログラムによって自動的に実行されます。

エンドポイントをサブスクライブすると、Amazon SNS はエンドポイントにサブスクリプションの確認メッセージを送信します。(略)具体的には、エンドポイントのコードは、サブスクリプションの確認メッセージから SubscribeURL 値を取得し、SubscribeURL そのもので指定された場所にアクセスするか、この場所を利用可能にして、ユーザーがウェブブラウザを使用するなどして手動で SubscribeURL にアクセスできるようにする必要があります。

[Create subscription (サブスクリプションを作成)] をクリックすると、確認リクエストが Sumo Logic に送信されます。このリクエストは、Sumo Logic によって自動的に確認されます。

ただし、何らかの理由でいつまで待っても確認されない、あるいは自動的な確認を待つ時間が惜しい、という場面はあるかと思います。
そういう際には、SubscribeURL を検索・確認し、手動でアクセスすることで確認処理が完了します。

その手順についても公式ドキュメント(英語)に記載されています。非常に単純な話ではあるのですが、確認のためのリクエストも HTTP コレクタに送信されているため、Log Search にて検索ができるという話です。
具体的には下記の手順となります:

  1. Amazon SNS からの送信先となっているカテゴリ(例えば AWS/SES/Events/Notifications)に対して、下記のクエリを実行する:
    _sourcecategory=AWS/SES/Events/Notifications SubscribeURL
  2. Message 中の URL を選択してコピーし、ブラウザからアクセスする

公式ドキュメントはこちらとなっておりますので、詳細はこちらをご参照ください。