Slide 1

Slide 1 text

©MIXI Fanstaの1年を大解剖! 一人SREはどこまでできるのか!? 株式会社MIXI 井上 翔太

Slide 2

Slide 2 text

©MIXI 自己紹介 名前:しょっさん
 X(旧: Twitter)/ mixi2:@syossan27
 所属:MIXI
 活動:
 ● SRE Kaigi ● SRE Magazine ● ゆるSRE勉強会

Slide 3

Slide 3 text

©MIXI 宣伝!① 2025/01/26にSRE Kaigiというカンファレンスを開催します!!!!! 
 参加チケット絶賛発売中!!!!! 


Slide 4

Slide 4 text

©MIXI 宣伝!② SRE Magazine 第6号発刊しました! 
 寄稿していただける方も常時募集中!!!! 


Slide 5

Slide 5 text

©MIXI 宣伝!③ ゆるSRE勉強会、来年もやっていきます! 
 今年最後の開催の様子はTogetterでチェック!! 


Slide 6

Slide 6 text

©MIXI ここから本題

Slide 7

Slide 7 text

©MIXI Fanstaのご紹介 • スポーツ観戦ができる飲食店に特化した検索サービス • スポーツ観戦できる飲食店をエリアやチーム、放映予定から検索し、予約できる • お店にとってはスポーツ観戦ができることを告知し、集客することができる ©Fansta

Slide 8

Slide 8 text

©MIXI 皆様 今年もお疲れ様でした

Slide 9

Slide 9 text

©MIXI 今年振り返りまし た?

Slide 10

Slide 10 text

©MIXI Fanstaでは四半期ごとに振り返り  タイムライン KPT

Slide 11

Slide 11 text

©MIXI SREに絞って 1年を振り返ってみよ う

Slide 12

Slide 12 text

©MIXI 前提

Slide 13

Slide 13 text

©MIXI SREチーム:   

Slide 14

Slide 14 text

©MIXI SREチーム:1名 

Slide 15

Slide 15 text

©MIXI 1年でどこまでやれた か!?

Slide 16

Slide 16 text

©MIXI Jan
 Feb
 Mar
 Apr
 May 
 Jun
 TerraformでIaC DMARC対応 Google Cloud 料金改定  Postmaster Tools 導入 やったこと 
 起こったこと 
 SREについて チームに解説 APIサーバの コネクション プール枯渇 GitHub Copilot Chatの調査 大きめのディレクトリ トラバーサル攻撃に遭遇  Firebase Remote ConfigをIaC化 Four keysの 調査・検討 退職時対応 チェックシー トの整備 Four keysの実装 新規案件をお助けに     スクラム自動化ツール 作成 OpenTelemetr yの実装 Four keys について チームに 解説

Slide 17

Slide 17 text

©MIXI DMARC対応

Slide 18

Slide 18 text

©MIXI DMARC対応 Googleが「メール送信者のガイドライン」を制定し、準拠しない場合に はメール送達が規制されるようになりました。 やらない と... ■ メールの到達率や開封率の低下 ■ なりすましメールの対象になりやすい やること ● DMARCレコードの追加 ● 認証失敗時の処理方法を徐々に厳しくする  (none → quarantine → reject)

Slide 19

Slide 19 text

©MIXI TerraformでIaC

Slide 20

Slide 20 text

©MIXI TerraformでIaC プロジェクトの初期から着手したかったTerraformにやっと手を付けれ ました。すべてのリソースをIaCにできてはいませんが、徐々に拡大中 やらない と... ■ GCリソースの管理の難化 ■ 開発チームのGCリソース作成へのハードル やったこと ● 一部のGCリソースをIaC化 ● HCP Terraformを利用して、よりTerraformを管理しやすい形に

Slide 21

Slide 21 text

©MIXI GitHub Copilot Chat

Slide 22

Slide 22 text

©MIXI 去年にGitHub Enterprise Cloudへorgを移行し、GitHub Copilotを組織 として使えるようになり、GitHub Copilot Chatの可能性を模索した GitHub Copilot Chat 調査 ■ 初期は日本語入力がおかしかった → GH側に問い合わせ ■ Knowledge basesはうーん・・・

Slide 23

Slide 23 text

©MIXI 去年にGitHub Enterprise Cloudへorgを移行し、GitHub Copilotを組織として使えるよう になり、GitHub Copilot Chatの可能性を模索した GitHub Copilot Chat 調査 ■ 初期は日本語入力がおかしかった → GH側に問い合わせ ■ 開発チームのGCリソース作成へのハードル やったこと ● 一部のGCリソースをIaC化 ● HCP Terraformを利用して、よりTerraformを管理しやすい形に 報告してすぐに直してもらいました GitHub公式コミュニティのDiscussions、皆も使おう!

Slide 24

Slide 24 text

©MIXI GitHub Copilot Chat 可能性 ● 日本語に強くなってきたらワンチャン? ● アタッチするKnowledge baseを最適化したらもっと良くなる? 調査 ■ 初期は日本語入力がおかしかった → GH側に問い合わせ ■ Knowledge basesはうーん・・・ 去年にGitHub Enterprise Cloudへorgを移行し、GitHub Copilotを組織 として使えるようになり、GitHub Copilot Chatの可能性を模索した

Slide 25

Slide 25 text

©MIXI Firebase Remote Configを IaC化

Slide 26

Slide 26 text

©MIXI Terraformでは全てのリソースが扱えるわけではなく、Firebase Remote ConfigはIaCできなかったので無理くりなんとかしてみた Firebase Remote ConfigをIaC化 やったこと ● テンプレートの変更のみが管理できればよかった ● GitHub Actions, Firebase Admin SDKを使って実現 やらない と... ■ FRCテンプレートの変更をコンソールからやらなければな らない (オペミスを防ぐための同期的なダブルチェックが必要)

Slide 27

Slide 27 text

©MIXI Four keysの実装

Slide 28

Slide 28 text

©MIXI 昨今、開発生産性が声高に叫ばれていますね。SREsとしてFour keysを 計測できるようにしましたが、正直上手く扱えていないというのが現状 です。(難しい...) Four keysの実装 ■ Four keysの学習, 実装, 啓蒙 ■ Findy Team+などを使わず、GHA, BigQueryを用いた計測 やったこと ● 優先度を上げなければいけないタスクが増えてきた ● 継続的なメンテナンス, 運用にはリソースが必要 ● 小規模ビジネスには必要ないのでは?という懐疑 問題

Slide 29

Slide 29 text

©MIXI やったこと 
 起こったこと 
 Aug
 Jul
 Sep
 Oct
 Nov
 Dec
 OpenSSHの 脆弱性対応 OpenTelemetryの実装 CVE-2024-6387 発生   再び別の新規案件へ・・・     テストカバレッ ジ レポートの実装 GraphQLの破壊的 変更をCIで検出 NGINXのupstream が不通になる問題の 調査・対応 マージベースの変更 でApprove済みのPR のマージがブロック される問題の調査 GCのコスト最適化 ArgoCDを ArgoCDで 管理 Cloud SQL for MySQL v5.7の サポート延長料金が・・・ MySQL v8 アップグレード 調査 Rails 新メンテナン スポリシー発表 GitHub Copilot Chat knowledge basesの運用 Slack botの実 装 Cloud Runの Sidecar/http 2対応 デカめインシデント 発生  

Slide 30

Slide 30 text

©MIXI OpenTelemetryの実装

Slide 31

Slide 31 text

©MIXI o11yに対する施策として、OpenTelemetry(以下、OTel)の実装を行 いました。FE/BEの一貫したトレースログが取れるようになり、インシ デント時等に役立てています。 OpenTelemetryの実装 ■ FEでは手動計装、BEでは自動計装で実装 ■ トレースはCloud Traceに送信し、収集 やったこと ● 自動計装は一瞬で終わったが、手動計装がめちゃくちゃ時間か かった ● とりあえず導入したという感じなので、Attrの内容とか詰めたい ● ピャッとやるならDatadog, New Relic, Splunkだがお金が・・・ 結果

Slide 32

Slide 32 text

©MIXI NGINXのupstreamが不通に なる問題の調査・対応

Slide 33

Slide 33 text

©MIXI ある日を境に、急にNGINX → APIの疎通が1〜2sほど取れなくなるよう に・・・稀な発生で、致命な問題には繋がらなかったが対応することに NGINXのupstreamが不通になる問題の調査・対応 ■ NGINXの設定を見直したが効果なし(keep-aliveなど) ■ 発生前にGKEのアップグレードが走っていたため、リリースノート から怪しい修正箇所があるverまでアップグレード(効果なし) ■ k8sのISSUEを洗い出し、kube-proxyの初期化におけるバグが怪し かったため、GKEを最新verまでアップグレード (https://github.com/kubernetes/kubernetes/pull/126689) 調査 ● 直った!が、原因調査でk8sの調査に至るまで時間がかかった ● kube-proxyの動きなど、なあなあの理解で済ませていたのでk8s をもっと学ばねばいけない 結果

Slide 34

Slide 34 text

©MIXI MySQL v8 アップグレード調査

Slide 35

Slide 35 text

©MIXI Cloud SQL for MySQLにv5.7の延長サポート開始が迫ってきました。 これを機に、MySQL v8へのアップグレードを行うためにまずは調査から 。 MySQL v8 アップグレード調査 ■ vCPU単位で課金が発生(1vCPU = $66.43/month) ■ 3年経過でさらに倍の課金額に やらない と... ● Upgrade Checker Utilityを用いてアップグレード時に問題になり そうな箇所を洗い出し ● デフォルト照合順序の変更, インプレース アップグレードなど必 要になりそうな要素を学習 やっていき

Slide 36

Slide 36 text

©MIXI Slack botの実装

Slide 37

Slide 37 text

©MIXI 「GCの一時権限が気軽に付与できたらいいなー」という声があり、 チーム向けのSlack botを作成してIAMに対して一時権限を付与する機能 を実装 Slack botの実装 ■ GCの条件付きロール バインディングを利用して、特定期間 のみ機能するロールを付与する やったこと ● 開発チーム, QAチームの抱えていたトイルの解決 ● 今後のSlack botの利活用 結果

Slide 38

Slide 38 text

©MIXI 振り返ってみると 一人でも色々やることができ た

Slide 39

Slide 39 text

©MIXI これだけじゃないぞ!

Slide 40

Slide 40 text

©MIXI Jan
 Feb
 Mar
 Apr
 May 
 Jun
 Aug
 Jul
 Sep
 Oct
 Nov
 Dec
 カンファレンス準備 カンファレンス準備 ゆるSRE勉強 会 ゆるSRE勉強 会 ゆるSRE勉強 会 ゆるSRE勉強 会 ゆるSRE勉強 会 SRE Magazine SRE Magazine SRE Magazine SRE Magazine SRE Magazine SRE Magazine

Slide 41

Slide 41 text

©MIXI Jan
 Feb
 Mar
 Apr
 May 
 Jun
 Aug
 Jul
 Sep
 Oct
 Nov
 Dec
 カンファレンス準備 カンファレンス準備 ゆるSRE勉強 会 ゆるSRE勉強 会 ゆるSRE勉強 会 ゆるSRE勉強 会 ゆるSRE勉強 会 SRE Magazine SRE Magazine SRE Magazine SRE Magazine SRE Magazine SRE Magazine プライベートもめちゃくちゃ忙しかった!!!!

Slide 42

Slide 42 text

©MIXI それでも人間なんとかなる!

Slide 43

Slide 43 text

©MIXI それでも人間なんとかなる! ➧ 気合と根性があれば

Slide 44

Slide 44 text

©MIXI 仕事もプライベートもやりたい ことがあったら何でもやろ う!!

Slide 45

Slide 45 text

©MIXI  ご清聴ありがとうございました