最初に、私はシステム管理者ではない、またはサーバー上で何らかの知識があると言います。私は、SaaSアプリケーションのインフラストラクチャをセットアップする仕事を任された開発者です作業中なので、すべてを完全に理解しているわけではないことをお許しください。これについては多くの研究を行ってきましたが、まだ少しのガイダンスが必要です。
LaravelアプリケーションにDigitalOceanドロップレットを使用することを考えています。3つのドロップレットがあり、2つはWebサイト/サーバーとして機能し、3つ目はロードバランサーとして使用されます。 Laravel Forge。両方のサーバーが接続するDigital Ocean Managed Databaseがあり、CDNを通じて配信されるアセットにDigital Ocean Spacesを使用します。
CloudflareはDDoS保護に使用されますが、これがどのように設定されるのか疑問に思っています。これは、サイトを表示/接続するときのチェーンの最初の行であるため、ロードバランサーに配置するのが最適だと思いますか?したがって、リクエストが受信されると、Cloudflareがそれを処理し、リクエストをロードバランサに渡します。ロードバランサはいずれかのサーバーに分散し、そこでサーバーは管理対象データベースに接続して、両方のサーバーとデータベースを一度に保護します。
これは良い設定と見なされますか、これを構成するより良い方法はありますか?また、Spaces CDNは別の領域であるため、追加のDDoS保護が必要になると考えていますが、これを適切に処理する方法や、ドロップレット/データベースとCDNにCloudflareを使用する方法があるかどうかはわかりません。
Cloudflareをバイパスするために使用できるサーバーのパブリックIPを非表示にする方法についても読みましたが、これを防ぐためにどのような手順を実行すれば、攻撃に対する最高の保護が得られますか?
Cloudflareをロードバランサーの前に置くのがよい方法です。それから、ロードバランサーは「実際の」トラフィックしか認識しないからです。 CloudflareのDDOS保護は、Anycastネットワークの背後にWebサーバーを「隠す」ことで機能します。これは、本質的に、CloudflareがサイトのDNSクエリへの回答として機能する特定のIPが、世界中の100を超える場所で利用可能であり、攻撃者になる可能性があることを意味しますCloudflare以外の方法でトラフィックを送信する方法がわからないため、Webサーバーに負荷をかけることはできません。
CloudflareまたはDigitalOceanをロードバランシングパーツとして使用することも検討することをお勧めします。どちらも、この目的のための専用製品を提供しており、セットアップが簡単で、かなり堅牢です。また、SSLオフロード、キャッシングなどの機能も実行できるため、Webサーバーの負荷が大幅に軽減されます。
CloudFlareをDigitalOcean Spaces CDNの前に置くことに関しては、DOのCDNはすでにDDOS攻撃を処理する能力を備えているはずなので、少々やり過ぎかもしれません。