ソニーマーケティング岩堀です。
いつもお世話になっております。
本件、RPAによるWebクローリングについて、というよりも一般的なBotの所作に従えばよい
事案だと思いました。
>(1) これまでBOTとして認識されるなどでブロックされた経験はありますか>(2) (サイトの作り次第なのですが、)どの程度のアクセス量までなら気にしなくても大丈夫だと思いますか>(3) 外部サイトに定期的にアクセスする場合、IPを分散するなど何か対策をとっていますか●プロックされた経験弊社でも外部の(人間向け)サービスサイトに比較的短時間に多数アクセスするプロセスを構築し、
おそらくBotと認識されアクセスが撥ねられるという事案がありました
…(1)。
●対策発生当初はIPを変更し、対応したつもりになっておりましたが、Proxy経由で外に持っていったIPが
変わっている保証がなく、結果「ゆっくりアクセスする」という対応とし、その後2台の Runtime Resouce PC
で交互に稼働させるようにスケジュールを変更したところ「断」は緩和した模様です。
…(3)。
この場合は、社外へ出るProxyが持っていくIPに加え、何かしらの端末情報(UAなど)がチェック対象だった
のかもしれません。(あくまで想像です)
●許されるアクセス量前述の弊社事案に対して定量的な事例を示すことが出来ませんが、一般論としてRPAプロセスは自身が
対外的にBotと認識されることを前提として、robots.txt で示されたルールに従うことはもちろんの
こと、robots.txt などで明示されず外部からは見えにくい FW / WAF / LB の挙動は、先方に問い合わせるか
察するしかないですし、いずれにせよ未来永劫 同じ値のままであるという保証はありません。
一つだけ確実に言えるのは「人間が操作するようなスピードであれば問題は起きない」ですが
…(2)これでは何の解決にもならないので、あえてPracticeを文字に起こすのであれば、
IPやUA を頻繁に切り替える手法を用いたときの、「先方からDoSに見えない範囲」を知り、
その枠内にアクセスをコントロールすること
になると思います。ただ、この「コントロール」がRoboからNW設定を変えたり、UAを変えたりする
事だとすると、これって攻撃ツールと変わらないな、という印象はありますね。
●その他の対策幸い?先例のサイトではWebUIと同じ結果を返してくれるAPIも準備されてはいたのですが、プロセスをAPI向け
に(大幅に)変更する手間と、結果を得るまでの lead time を天秤にかけた結果、そのままになっております。
変更できるパワーがあれば、APIが準備されているか確認し、APIアクセスに切り替える手はあると思いますが、
APIを多数叩くとなるとRPAでやる意義を冷静に見極めないと「本末転倒」になりかねず、悩ましい領域だと
思います。
また、大技扱いになってしまいますが、「先方に正直に話してしまい」安定稼働のためには
最終的にお金で解決という選択肢も無くはないのかもしれません。。。
蛇足ですが、ちょっと前に robots.txt に関するRFCが今更提出されたと話題になっていました。
https://qiita.com/rana_kualu/items/a5bebcae76fa6257167b長文失礼
------------------------------
Toshiaki Iwahori
PJ Leader / technical consultant
Sony Marketing Inc.
Asia/Tokyo
------------------------------