■ 発表カテゴリ
募集要項( https://www.notion.so/srekaigi/SRE-Kaigi-2025-CfP-0939fcd968a74bddaebdbf638a957ab9 ) にある6つの発表カテゴリからお選びください
・Practices: SREの実践例と得られた教訓
■ 発表概要(400字程度)
従来から開発環境やステージング環境にはテスト用のデータが少ししか入っておらず、試したい動作確認をするためのデータ作成に時間がかかったり、パフォーマンスに重大な欠陥があってもデータが少ないために開発・ステージング環境では問題が起きず、本番デプロイしてから気づくなど、本番データと違いすぎることの問題を抱えていました。
また、AWSのサービスを利用した挙動を開発環境で再現できない問題もありました。
そう入った問題や、locastackやAWSのサービスを駆使して、本番データを安全に日次でステージング環境・開発環境に持ってきて、全エンジニアの生産性を向上させた話をします。
■ 発表の詳細(1000字程度)
主に以下の内容について話したいと思います。
・開発環境について
AWSのSNS、SQSを使った機能がありましたが、これをローカルPCで動く開発環境内で動作させることができず、SQSが叩くはずのAPIを手動で作成して実行したり、DBの値を直接書き換えたりして、その動作が行われた結果を再現していました。
これをなくすため、localstackを無料利用の範囲で利用することで解決しました。
無料利用だとコンテナを停止するごとに全て消えてしまうので、その問題を解決する方法も含めてお話しします。
これを実装した結果、SNS、SQSを使った連携機能もローカル開発環境でも完全に再現させることができるようになりました。
そういったlocakstackのノウハウの話をします。
・ステージング環境について
テストデータの量や種類が少なく、パフォーマンスのテストができなかったり、本番で起きた不具合を再現するテストデータ作りに苦労していました。
そこで、本番DBの値をステージング環境に日次でコピーする案を考えましたが、機密情報はマスクし、強大なデータを30以上の環境にコピーするという作業を深夜帯だけで行うには普通にはできませんでした。
それを解決するために、ECSonEC2などをうまく利用することで解決し、ステージング環境で本番環境をほぼそのまま再現することができました。
そのノウハウの話をします。
■ 対象聴衆とその人たちが得られるもの
開発環境やステージング環境でのテストのやりにくさを抱えている人たちに、道標となる情報を与えてあげられると考えています。
■ なぜこのトピックについて話したいのか(モチベーション)
これまでの仕事でずっとこの問題を抱えていたので、その仕組みの素晴らしさを世に伝えたいです。