生涯未熟

生涯未熟

プログラミングをちょこちょこと。

2023-01-01から1年間の記事一覧

2023の振り返り

今年ももう年の瀬ですね。30歳を越えてからというもの、年々時間の経つのが早く感じられて恐ろしくある今日此の頃でございます。 というわけで今年も一ヶ月毎に振り返ってみましょう。 1月 いきなり病気からスタートだったのですが、年末年始コロナにかかっ…

本番DBとステージングDBのデータを同期させる

この記事はMIXI DEVELOPERS Advent Calendar 2023の18日目の記事です。 今回はやったことある人が多そうな本番DBのデータをステージングDBに同期させる仕組みを作ったお話になります。 前提のお話 何故作ったのか?ですが、データ数の問題から開発・ステー…

GKEの開発環境クラスタはとりあえず「使用率の最適化」やっとこう

GKE / k8s、まだまだ分からんことが多くて学び甲斐があるなぁとしみじみ思っている今日この頃。 今回はそんな中で掲題のコスト最適化のお話をします。 要約 本番環境が載っていないクラスタは自動スケーリング プロファイルをoptimize-utilization(使用率の…

GitHubのorganization移行をやったお話

この記事はSRE Advent Calendar 2023の1日目の記事です。 今回は業務で「GitHubリポジトリをあるorganization(以下、org)から別のorgへ移行させる」ということをやったので、その時のお話をさせていただきます。 何をするのか? もう少し、何を目標として…

開発しているサービスの名前が海外のセクシー系サービスの名前と被った時に気を付けるたった一つのこと

Xでのサービス関連ポストをSlackに安易に流すととんでもないことになるぞ 何が起こるか? ビジネス側からの要望で「Xでうちのサービスのことつぶやいているポストがあったら適宜Slackに流してくれない?」が発生することは結構あるかと思います。 GASなり、I…

BitriseのWorkflowが無限にスタックする事象に遭遇した

Flutterアプリ開発のCIにBitriseを採用しているのですが、今回タイトルのような現象に遭遇したので知見のために書き記します。 何が起こったのか? 何が起こったのかというと、前提としてBitriseでCredits-Basedなプランを契約しており「月〇〇creditsまでは…

GCE × squidで立てたForward Proxy ServerのアクセスログをCloud Loggingに流そう

備忘録です。掲題のことをやるための手順を書き残していきます。 どういった構成か? 以下の記事のような構成とほぼ一緒です。 zenn.dev やること 手順は以下の2点です squidの access_log 設定の追加 Opsエージェントの追加 squidの access_log 設定の追加 …

2023 State of DevOps Reportを読んだ

今年もState of DevOps Reportが発表されましたね。ということで、ザザッと全体を読んで気になったところなどピックアップして読み解いてみました。 全文が気になる方は以下からPDFをダウンロードしてみてください。 cloud.google.com 今年の調査主軸 組織の…

「QAと共に築く、機能性を通じた信頼性担保への取り組み」という発表をしました

SRE NEXT 2023で「QAと共に築く、機能性を通じた信頼性担保への取り組み」というタイトルで登壇させていただきました。 sre-next.dev 今回はQAとのコラボレーションとコミュニケーション・コラボレーションについて、のようなテーマを発表しました。 speak…

SRE NEXT 2023参加レポート

SRE NEXT 2023に登壇者として参加させていただきました! 大きな舞台で貴重な経験をさせていただいたので、色々と記録に残すためにレポートを書きます。 私とSRE NEXT SRE NEXTの存在を知ったのはちょうど私がSREを始めて1年経たないくらいの時で、「こんな…

ソフトウェアエンジニアと品質保証 SRE、QAの枠にとらわれない新しい視点 参加レポ

参加した時にメモっていた内容になります。自分向けに投稿。 URL:https://offers.connpass.com/event/290685/ みーんなSREとかQAをチームにしとる チームにしていないのお前だけ - toriさん 開発チームがシステムを運用するオーナーシップ → SRE, QAを安易…

【PostCSS】ts⇔css間で値を共有する

プロジェクトの依存ライブラリをアップデートする苦行をやっているのですが、その最中で遭遇し解決した事象の話をば。 PostCSSを使っているのですが、その中で postcss-custom-media をv8からv10に上げた時にそれは起きました。 まず、以下のようなPostCSS設…

GKEアップグレードの時にいつもやっていること

GKE使っていると定期的にアップグレードの圧がやってきますね。 エイヤッと不用意にクラスタのアップグレードを行うと、deprecatedとなるapiVersionを使ってしまい最悪サービスが不通になる可能性もあります。 本記事ではアップグレード時にいつもやっている…

メモリ使用率によってk8sのPodをevictさせる君を作った

サービスを運用している中で緩やかにメモリ使用率が上がっていく問題があり、それが解決されるまで一時的になんとかするために掲題のを作りました。 github.com 中身自体はZapierが作っていたpreoomkiller-controllerが元になっております。 github.com この…

Cloud ArmorのOWASPルールセットによるGraphQLリクエストでの誤検出

たまたま遭遇したけど誤検出のあるあるっぽいなと思ったので調べてメモしとく。 前提としてCloud Armorの事前構成 WAF ルールであるOWASP TOP 10のルールを有効化して運用しておりました。 cloud.google.com 運用自体は特に問題なかったのですが、ある日Grap…

隔週で動くGitHub Actionsを作ろう

必要に迫られて掲題のように「第2・4週の水曜日に動く」GitHub Actionsを作らなくてはいかん状況になったものの、ちと手間だったのでメモ。 GitHub Actionsにはschedule triggerがあり、cron式を書くことによって定期的に動作するActionは作成できます。 …

gcr-cleanerを使って定期的にArtifact Registryのイメージを削除する

Artifact Registryの料金にはストレージ料金があり、0.5 GBを超えると1GBにつき$0.1がかかってきます。 微々たる料金ではありますが、運用を続けていくごとに見過ごすことは出来ないコストになる可能性があります。 cloud.google.com そこで、GCPでも紹介さ…

Container Registryから脱却してコスト削減した話

一人でインフラ周りなど色々と見て毎日を過ごしているのですが、ある日「そういえば全然Billing情報確認してないぞ」となり確認してみるとえらいことが。 なんか一部のSKUで料金が爆上がりしてる!!! サービス全体からするとそこまで大きなインパクトでは…

Cloud Armorで複数の国からのアクセスを禁止する

Cloud Armorを使っていくつかの国からのアクセスを禁止する場合 origin.region_code == 'JP' || origin.region_code == 'CN' といった感じでやっていくのですが、対象国が数十件ある場合にはこういったやり方は非常に面倒かつ、一つのルールに対して適用可能…

「サイト信頼性を高める前に開発チームからの信頼性を高めよう」というLTをしました

Findy社様が開催されたSRE大集合!みんなで学ぶ、信頼性を高めるための取り組みLT大会に登壇させていただきました。 findy.connpass.com 今回はソフトスキルに主眼を置いた内容を発表致しました。 発表で伝えたかったこと 何を発表しようかなと考え、改めて…