ローンチ前のクローズドな環境にもかかわらず、出所不明のリクエストにより多数のセッションファイルが生成されていた
また、当該ファイルのタイムスタンプは 2~3分間隔で規則性があった
調査
サーバー変数よりリクエストのログを取得
REQUEST_URI = /
REQUEST_METHOD = GET
SERVER_PROTOCOL = HTTP/1.1
REMOTE_ADDR = ::1
REMOTE_PORT = 21353
REMOTE_HOST = ::1
HTTP_REFERER =
HTTP_USER_AGENT = AlwaysOn
HTTP_CONNECTION = Keep-Alive
リクエスト元が自身
ユーザーエージェントも独特で怪しい
結論
一定間隔でのリクエストの正体は、常時接続(Always On)の設定によるもの
Web Apps の仕様として 20分間リクエストが無いとアイドル状態となり、次回アクセス時のレスポンスが低下する
また、Web ジョブを設定している場合、実行の確実性に不安が残る
それらを回避する為に利用される設定である
関連する公式ドキュメント
トラフィックがない場合も、アプリを読み込まれたままにします。 継続的な Web ジョブや、CRON 式を使用してトリガーされる Web ジョブに対して有効にする必要があります。
Web アプリは、20 分間アクティビティがないとタイムアウトする可能性があります。
挙動について
Always On が行う唯一のことは、アプリのルートに数分ごとに ping リクエストを送信することです。
同じ間隔で同じようなリクエストを自分で送信することとそれほど変わりません。
なお、ユーザーエージェントの値 AlwaysOn
でリクエストの種類を判断可能
https://social.msdn.microsoft.com/Forums/office/en-US/77398e8a-2045-4309-b910-24d601642f11/azure-websites-always-on
サンキューデビッド
参考
https://blog.shibayan.jp/entry/20200113/1578920798#Always-on-%E3%82%92%E6%9C%89%E5%8A%B9%E5%8C%96%E3%81%99%E3%82%8B
https://poke-dev.hatenablog.com/entry/2019/03/17/232201