始まりは1通のメールから・・・

サイトにはDataDogを入れていて、負荷が高い状態が一定時間続いたら個人Slackに通知が来るようになっています
が・・・、ちょうど友人とDiscord中にアラートが鳴っていたので対応できなかったのですが、ちょうどDDos攻撃を受けていて負荷が高まっていたようです
結果、今回はConoHaさんの対応で攻撃は遮断されたわけですが、個人でも何かしらの対策をしなきゃいけないということで、CloudFlareの無料プランを利用してみることにしました
ちなみに、個人開発アプリは日本、アメリカ以外のアクセスはTraefikで遮断していますが、それでも攻撃を受けました
結局プロキシなどでアクセス元を偽装されれば意味ないですね
早速CloudFlareに申し込んでみる

CloudFlareにアクセスすると、無料で始めるというボタンがあるので、そこをクリック
アカウント作成後、ドメインを指定する画面が出てくるので、導入したいドメインを設定します
AI Crawlerの設定はデフォルトにしました(全ページブロック)

上記の画面の前に料金プランを選ぶ画面があるのでFree Planを選べばOK
次の画面でDNSレコードの追加が出てくるのでRecommendedの選択肢にチェックを入れてContinueをクリック

CloudFlareが自動である程度のDNS設定を行ってくれるのですが、すべてのレコードを追加してくれるわけではありません
画面上部に注意が出ているように自動追加できなかったレコードは手動で追加する必要があります
自分はここの注意書きをよく読まずそのまま続けてしまい、バックエンドのAPIと通信ができなくなりました
(自動でバックエンドAPIへのDNSが追加されておらず、それに気づかなかった・・・ 英語だからとよく読まずに設定を進めたのが原因)

このようにレコードが追加されます
すべてのDNSが追加されているか確認しましょう

最後に、ネームサーバーの設定を変更して、CloudFlare経由でサイトにアクセスされるように変更します
自分はGMO ConoHaでDNSもドメインも管理しているので、ConoHaの管理画面からネームサーバーを変更します

ちなみに、ConoHaの場合DNSSECのオプションは無いようなので、特に設定はおこなませんでした


ネームサーバー設定から、CloudFlareが指定したネームサーバーを指定します
他の設定は削除するよう書かれていたため、既存のネームサーバーは設定後削除しました

あとはCloudFlareが有効になると、メールで通知が飛んでいます
これでCloudFlareの設定は完了です
設定自体はそこまで難しくありませんが、英語のページが連続するのでそこだけちょっと大変かもしれません・・・
終わりに
今回はCloudFlareの無料プラン導入のステップを紹介しました
自分もまだ導入したばかりで、これから設定などをちゃんと見ていく段階です
一応、無料プランでもDDos Protectionが有効になっているので、同じ用にDDos攻撃を受けてサーバー負荷が上がらないか監視していこうと思います
それにしても、利用者が自分しか無い無いようなサーバーにDDos攻撃を仕掛けるなんて・・・ 何が目的なのか?
