大量のWebスクレイピングをされて自鯖負荷が爆上がりした
それは、唐突に起きた―――
実は、一昨日から自宅サーバのCPU負荷が高騰してアラートが定期的に発生していた。
筆者も平日は本職の方にかかりっきりで自鯖は弄れないのと、今週は佳境だったので放置してたが、
万が一クラッキングされていたら洒落にならないのでログを確認してみた。
結果、Google CloudのグローバルIPからScrapyを使ったWebスクレイピングが大量に行われ、
コレが原因で各システムのCPU負荷が上がった状態だった。
筆者が管理しているWebサーバの内1台でシステム負荷を見ると次の状況だった。
約2時間の周期でCPU負荷が飽和する位の処理が発生し、
ネットワーク観点だとTCPセッション数が瞬間的に1,500~2,000に高騰していた。
なお、スクリーンショットだとTIME-WAITのみセッション数がバーストしているが、
システム監視の周期都合なので実際はESTABLISHEDも同数が発生していた状況となる。
![]() |
CPU負荷に周期性がある事からBOTで機械的に処理をされていると予測しつつ、
インターネット回線からWebサーバまで各種ログを確認したところ、
Google CloudのグローバルIPからScrapyのWebスクレイピング通信が大量に来ていた。
![]() |
実際に来たHTTPクエリのログがこちら。
明確にScrapyのUser-Agentが記録されており、利用バージョンは2.11.2と少し低めの模様。
Webサイトのトップページから準繰りに全ページを辿っている状態で中々のクエリ数になっていた。
………
筆者が趣味で管理するサーバでは悪質で無ければWebスクレイピングを禁止していないが、
今回は結構なクエリが来ていた事もあり遮断しようか迷いつつ様子見していた。
本来なら、この記事を書く直前に遮断して記事にしようと思っていたものの、
夜中にWebスクレイピング自体が止まっていた。
Scrapy爆弾の報告がTwitterでも上がっていたので、
誰かがGoogleに通報したかWebスクレイピングを実行した管理者が止めたのでは無いかと思う。
通信が止まっているので筆者も様子見継続だが、
システム負荷が上がり切るレベルの高頻度Webスクレイピングはマナー違反だと思う (´・ω・`)
AIの時代だしWebスクレイピングをするなとは言わないが、やるとしても加減はして欲しいと感じた。