【悲報】自作FIREアプリをデプロイしたら、本番環境が文字通りFIRE(炎上)した件www〜個人開発のリアル〜

その他

まいど!自称Z世代、心は永遠の17歳、ITと財テクのファンタジスタなおっさんやで! 最近寒くなってきたけど、みんな息しとる?ワイはPCの排熱で暖を取る、エコでナウい生活を送っとるで。キーボード叩きすぎて指先がファイヤー!なんつってな。……寒すぎてサーバーの冷却効率がグンと上がったやろ?ダハハ!

今日はな、エンジニアリングと財テクの交差点から、ワイの超絶濃ゆーい1日のドキュメンタリーをお届けするで!お題はズバリ「個人開発でFIRE(炎上)った話」や!

1. FIREトラッカーの神アップデートと、誰にも言えない秘密

まずはワイの渾身の自作アプリ「FIREトラッカー」の改善について聞いてくれや。

FIRE健康診断

先日、意気揚々とnoteで「アプリできたで!」って告知したんやけど……なんと反応ゼロ!アクセス数、驚愕の「数回」や! 「ぴえん超えてぱおん」とはまさにこのことやな。せやけどワイは冷静やった。「YouTuberデビューして宣伝や!」と新しいオモチャに飛びつく前に、「そもそも誰か見に来てくれてんのか?」を可視化せなあかんなと。そこでサクッとGoogle Analytics(GA4)を導入したんやけど新しいサーバのDNSが登録されてなくてトホホ…

でも機能面はバチクソにパワーアップさせたで! JPX公式のJ-Quants APIで国内株、Yahoo Financeの非公式APIで米国株の価格と円換算を自動取得できるようにしたんや。これで手入力の煩わしさからはオサラバ!

さらに「配当金ベースの不労所得予測機能」も実装や。過去の配当実績から将来の収入を予測して、成長率スライダーでシミュレーションできるようにしたんやで。Barista FIRE(週休4日くらいのゆるい労働+運用益で生きるアレやな)の想定収入とも連動させたから、見てるだけでニヤニヤが止まらんで。 それに「あといくら支出を減らして、積立を増やせば目標年齢でFIREできるか」を自動算出するアドバイス機能も追加したわ。

【💡おっさんの財テク&節税ワンポイント!】 ここでナウなヤングにお得な情報や!米国株の配当金ってな、現地で10%引かれた上に、日本でも20.315%引かれる「二重課税」の地獄なんや。でも安心せえ!確定申告で「外国税額控除」を使えば、現地で取られた税金を取り戻せるんやで! ちなみにNISA口座で買えばそもそも日本国内の税金は非課税やから、二重課税にはならんのやけど、どっちが得かはシミュレーションが大事や。こういう合法的な「節税」は絶対にやらなアカンで! あ、でも「脱税」は絶対アカンよ!「バレへんやろ」って売上隠したり経費水増ししたりするのは、税務署のマルサを舐めすぎや。あいつらサイヤ人より強いからな。ルールの範囲内で賢く立ち回るんが、真のインテリジェンス・ヤングやで!

2. 本番障害との死闘〜3連続玉突き事故〜

さて、ここからが今日一番のハイライト。「個人開発でFIRE(炎上)った話」や。 神機能ができたから意気揚々と本番サーバーにデプロイしたんや。そしたら…… 画面が「読み込み中」のままピタッ……と止まったんや。 「え?ワイの時だけ時が止まってる?」って、ザ・ワールド食らった気分やで。

原因を調べたら、なんとNode.jsの管理ツール pm2 のプロセスがゾンビ化してクラッシュしとったんや。まさに「プロセスがプロセ(ポロセ)リ」……いや、なんでもない。ここ笑うとこやで。

「しゃーない、再起動したろ」と思ってSSH叩いたら……繋がらへん!

設定はあっているはず。。。

「え?なんで?ワイ、なんか悪いことした?」ってパニックや。必死に調査したら、どうやらログインを何回かミスったせいで、サーバーの防衛システム『fail2ban』がワイ自身のIPアドレスを悪意あるハッカーと判定してBAN(遮断)しとったんや!

自分で仕掛けた罠に自分でハマる……これぞホンマの「自BAN(自爆)」やで!ダハハ!……泣いてええか?

ちなみに下記コマンドをroot権限を持ったユーザで実行すれば解除できます

fail2ban-client set sshd unbanip <あなたのIP>

なんとかコンソールから回り込んでIP制限を解除して、「よし、これで完璧やろ!」とブラウザをリロードした。 ……繋がらん。外部から一切アクセスできひん! 「なんでやねん!ワイのサーバーは引きこもりになったんか!?」 原因はなんと、クラウド側の「セキュリティグループ(ファイアウォール)」の設定で、HTTP/HTTPSのポートがガッチガチに閉じられとったんや。ファイアウォールだけに、ワイの心も燃え尽きて真っ白な灰になったわ……。

  1. pm2のプロセスクラッシュ
  2. fail2banによる自己IPのBAN
  3. クラウド側のファイアウォール設定ミス

これ、全部独立した問題なんやで。3つのトラブルが玉突き事故みたいに連鎖して、全部同時に襲ってきたんや。1つずつ原因を切り分けて、地道に解決していくしかなかったんやけど、ホンマにエンジニアの胃に穴が空くリアルな障害対応やったわ。「個人開発でFIRE(炎上)」って、こういう物理的な炎上のことやったんか、ってな!マジ卍!

まとめ

そんなこんなで、ボロボロになりながらも何とか復旧させたで! こういうトラブルを乗り越えるたびに、原因の切り分け能力が上がって、ワイのエンジニアとしての「株価」もストップ高や!知らんけど!

苦労してGA4も入れたことやし、マジで誰もアクセスしてくれんとワイの心のチャートが大暴落して上場廃止になってまうから、みんな一回でええから遊びに来てな!

ほな、今日はこの辺で!次回もタメになる財テクと笑えるエンジニア話を持ってきたるから、楽しみにしといてや!アデュー!

コメント

タイトルとURLをコピーしました