横浜市のコロナウイルスワクチン予防接種サイトが200万アクセス/分と言うアクセス過多で利用不能になったらしいが、サーバー台数を増やし処理能力を3倍にして対応すると言う「物量作戦」で対応するらしい。
サイト停止の横浜市、5日に接種予約再開…サーバー増強「600万回アクセスに対応」
【読売新聞】 新型コロナウイルスワクチンの高齢者向け集団接種の予約システムに不具合が生じ、受け付けを停止していた横浜市は4日、受け付けを5日午前9時に再開すると発表した。 同市は3日、80歳以上の約34万人を対象に予約受け付けを始め
一見すると極当たり前の内容にも思えるが、翌々考えてえほしい。
アクセス過多なのだからサーバー増強による対応は間違えてないのでは?
横浜市の人口って何人だっけ?
と調べてみると「373万人」だそうだ
ん??
あれれ?
なんか比率がおかしいような?
横浜市 - プレイス エクスプローラ - Data Commons
つまり、人口の半分以上のアクセスが毎分行われていると言うのは、そもそもの前提がおかしいと思う。
更に、接種券が無いと実際の予約は行えない。
優先接種の人ってもっと少ないよね?
これは「DDoS攻撃(distributed denial-of-service attack)」と言われるサイト攻撃を受けているのでは無いかと推測される。
DDoS攻撃とは? 意味と読み方、対策方法 | NTTコミュニケーションズ 法人のお客さま
DoS攻撃を、対象のウェブサイトやサーバーに対して複数のコンピューターから大量に行うことをDDoS攻撃といいます。攻撃元のIPアドレスを特定してアクセスを遮断する、海外からのアクセスを遮断する、専用の対策サービスを入れるなどの対応があります。
このDDoS に対抗してサーバー増強をしてしまうと「アクセスの間口」を広くしてしまう為、更なる攻撃対処余力が生まれてしまい対応としてはあまりよろしくない方法である。
とするとどうすればよいの?
【対処法1】「DDoS緩和装置」を導入する。
非常に高価(価格的に億単位近い)で運用も結構面倒ではあるが、一番手っ取り早い方法ではなかろうか?
サイトURLが接種券にしか記載されていないので確認出来ないけどサービスしている ISP や クラウド事業者が緩和装置を低額で共有提供してくれる場合もあるので確認してみるのが一番ですね。
これを使った場合の大きなメリットとしては「不正パケットを無視させる」と言う事が出来るのでアクセスとは関係の無いデータは篩い落とされる為、サーバリソース低減と言うメリットがありますね。
高くて面倒だけどメリットもあるのね
【対処法2】 Rate Limit を掛ける
アクセス元のIPアドレス毎に「指定時間辺りのリクエスト可能上限」を設定する事で「正規のパケットだけどF5攻撃(ブラウザリロード)などをある程度制限できる」と言う制御が行える。
ただ、サーバ台数分の設定を行わなければならないし微調整が面倒ではあるがそこそこ有効な手ではある。
Nginxでの例
Nginxでのアクセス流量制御を検証してみた - Qiita
皆さんこんにちはWebサービスを運用していると、時に大量のアクセスが降ってくる場合があります。これの理由は、攻撃目的だったり何らかのトレンドだったりしますが、なんにせよ大量のアクセスが発生した場…
手間次第と言ったところかしら?
【対処法3】 CDN&クラウドWAFを入れる
CDN(Content Delivery Network) と クラウドWAF(Web Application Firewall) を組み合わせて「不正なパケット」や「固定で表示される文章や画像」はCDNにて配信・処理を行わせ、それ以外の実態はクラウドWAF経由で実態にアクセスする事で「Rate Limit的な制限」や「不正と思われるアクセス」を遮断する。
これを行うだけでもオリジナルサーバへの負荷はかなり低減出来るはずである。
欠点としては、契約回線容量がある程度決まってしまう点とアクセス頻度によって価格が上がってしまうという事であろう。
とは言っても、DDoS緩和装置を導入・運用する費用と比べれば微々たるものである。
費用対効果しだあいって事ね?
そもそも「200万アクセス」と言う数値の根拠はどこから算出されたのだろう?
- アクセスログから?
- TCPのネゴシエーション数から?
- サーバのセッション数から?
根拠のもとになるところを示して欲しいな
数値の根拠次第で対応も変わるということですね
PR: WAF標準装備で WordPressサイト が簡単に作成出来る Conoha Wing
コメント