毎日16:00に地元の自治体が新型コロナ感染者数情報を公開する。これを集計し、区のレベルで、今日は、どれだけ、感染者数が増えたのか、減ったのかと、Rstudioをつかってデータを分析し、一喜一憂する日が、かれこれ、1年半続いている。
感染者数ファイルも結構大きくなってきた。バックアップや履歴管理が、心配だったので、Gitを使い、レポジトリを作って利用してきた。これまで、キチンと利用できていたつもりだった。
ある日、想定外のことがおきた。市役所側の公開データ作成ミス。人手で作成しているデータのようなので、そういうミスはある意味で雑音のようなもの。ありうる、ありうると、懐深くデータをクレンジングすべきだった。
一瞬のうちに、データの整合性がこわれ、元に戻そうと、もがけば、もがくほど、データの不整合性が拡大し、復旧の難易度があがっていた。まるで、沼に踏み込み足を動かせば動かすほど、足が、ズボズボと、沼地にはまった。
さらに、不注意にも、このレポジトリに、AWS,Azure,GCPが公開するテキスト翻訳APIを使った翻訳スクリプトも、収容していた。このスクリプトには、各メガクラウドの公開APIを利用するためのAPIキーも埋め込んでいた。このキーを悪用されると、それらクラウドの利用料がすべて私のアカウントに課金されてしまう。にもかかわらず、このディレクトリをGitHubでインターネット公開してしまった。
git revert
これで、commitの1回分をroll backすればよかっただけなのに、gitの操作方法、構成環境もわからず、きちんと調べもせず、Gitコマンドを打てば打つほど、状況が悪化していった。
git reset
データが、約1年分、消えた。git logで履歴を確かめても、そのコミットID以降のcommit履歴も、き、消えた。。。。※git reflogで、そのような履歴も調べられることはあとから判ったのだが。
わけもわからず、git pushとうち、決してインターネットに公開などしては行けない私のAPIキーをgithubにのせてしまった。幸、github gardianからメールで連絡がきたので、当該ディレクトリを削除してしまい、事なきをえたが、セキュリティ脆弱性を攻撃してくる輩ばかりの現代、あぶなかった。もう、牧歌的なインターネットコミュニティなど存在しないのに。
数日、レポジトリの復旧に苦しんだが、ゼロから、ローカルのGitリポジトリとgithub上のリモート・リポジトリを、再構築し直し、運用を再開できた。
失敗をこわがっては、いけないのだろうが、ダメージがすぐ拡大してしまうのが、今時の公開インターネット環境なんだ、と、つくづく、身にしみた。
コメントを残す