おっしょい
2年前ではあるけど、Oracle Cloud春のBAN祭りが開催されてた事があるのか、ちょっとやだなぁ・・・
var-log-chimiy | Oracle Cloudのアカウントが利用不可となり、復旧するまでの話 https://var-log-chimiy.netlify.app/post/oci-deactivated/
今回の障害はデータベースのマイグレーションとソースコードのデプロイが同一ワークフローにありソースコードのデプロイより先にデータベースのマイグレーションを実行してしまったのが原因でした。
1. データベースのマイグレーションが実行される(テーブルが削除される)
2. 存在しないテーブルにアクセスしようとする(障害発生)
3.ソースコードがデプロイされる(復旧)
テーブル、カラムを削除する場合
1. ソースコードをデプロイする
2. データベースをマイグレーションする
テーブル、カラムを追加する場合
1. データベースをマイグレーションする
2. ソースコードをデプロイする
DB変更があるデプロイ起因の障害をGithub Actionsで対策する https://zenn.dev/levtech/articles/56072eeca52d26
DBマイグレーションがあるデプロイの場合、ソースコードや実行バイナリのデプロイとマイグレーションの実行の順番が重要な話、説明しようと思ったら書いてある記事を見つけて助かった。
けど改めて読むと、自分の場合はテーブル・カラムを削除する場合は、コードだけ書き換えて、テーブル・カラムは消さないかしばらく様子見る事がほとんどで、同じデプロイではしないかも。
なので、マイグレーション後にコード・バイナリのデプロイの順番だけか。
あと、場合によってはデプロイを分けて、マイグレーションだけ先に実行しちゃうこともあったかな。テーブル・カラムを追加するだけなら挙動は変わらないし。
技術選定なぁ、あんまちゃんと出来てないなぁ。
記事にあるのだとgRPC(とprotobuf)を使ってるけど、通信のリクエストとレスポンスのオブジェクトの定義が生成されて、これに値詰めて、これまた生成されたAPIを叩くためのメソッド呼べば良いという、便利で楽だからという即物的な理由で使ってる。
正確には、使ってみて便利だからこれでいいじゃんとなったという・・・
Web APIではない他のプロジェクトでも使ってるから、合わせたというのもあるけど。
protobufで表現しにくい・出来ないAPIで困るとかはあるかもだけど、今のところ何とかなってて困ってないしなぁ。
protobufで表現しにくいのは、多分JSONでも表現しにくそうとは、なんとなく思う。
あとMySQLを使っても会社は潰れはしないと思うけど、PostgreSQLをあんま知らないからなんも言えない・・・
技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL https://zenn.dev/nem/articles/ade7b83cae2fa5
休止モードからの復帰のはずが"以前のシステム シャットダウンは予期されていませんでした。"になるの再発。
今回は、"システムがスリープ状態になります。"のログも無ければ、シャットダウンのログも無し。
ちゃんと休止モードに入る操作はしてるんだけどなぁ。
ついでに、Norton Safeweb https://safeweb.norton.com/ とTrend Micro Site Safety Center https://global.sitesafety.trendmicro.com/ の評価も見てみた。
Nortonは、判断の根拠とかなんも出ないけど、3つともちゃんと警告判定が出せてる。
トレンドマイクロは何も知らなかった・・・
貼ったツイートや、その引用元のツリーに登場した、マルウェアをダウンロードさせるwebサイトを https://www.scamadviser.com/ で見てみる。
なるほど、どれもドメインの登録が最近ってことで警告は出てる。
vdeckの登録は6ヶ月前で閉鎖済み、vorionの登録は3ヶ月前で閉鎖済み、jaborcallは2週間前で稼働中という感じで、数ヶ月で捨てて新しいアプリを装う感じか。同じグループの犯行か知らんけど。
jaborcallも最近登録されたばかりってのが警告の理由だと、新しいサービスだからかと勘違いしちゃいそうで、まぁまぁ危うい感じ。
それにしばらくしたらjaborcallも捨てて、また新しいドメインでやるんだろうな。
仕事のミーティングやインタビューを装って、マイナーな通話・ミーティングアプリを装ったマルウェアをインストールさせるの、あぶねぇなぁ・・・
というわけにもいかんし。
https://twitter.com/izutorishima/status/1828044783375532415