LIVESENSE ENGINEER BLOG

リブセンスエンジニアの活動や注目していることを発信しています

インフラストラクチャー

DMARCレポートの可視化ダッシュボードを作りました

はじめに そもそもDMARCって何? Googleの発表によってDMARC対応が必要に SaaSの検討 OSSの検討・選定 構成 動作 GmailからGoogle Driveへ格納する XMLをパースしてOpenSearchに格納する Google Driveからコンテナ内にダウンロードする パースと格納 可視化 …

マッハバイトのメインDBをAmazon Auroraに移行しました

こんにちは、かたいなかです。 2024年2月に長年の悲願だったマッハバイトのメインDBのAuroraへの移行を完遂しました!!! この記事では、どのようにマッハバイトのAurora移行を進めていったかを記事として残します。 なお、この記事の中では結構レガシーな…

Solrのクラウド移行 -AWS ECS Fargateの事例-

はじめに 技術部インフラグループの春日です。 2024年現在、弊社が運営している マッハバイト は一部を除いてオンプレからクラウドへの移行が完了しました。 本記事では移行対象の1つであった Apache Solr に関する総括をします。 今回のプロジェクトでは移…

脆弱性の修復コマンドをGitHubのIssueから実行するAction作ってみた

はじめに イメージ 実行 フローチャート しんどいポイント VS インタラクティブな操作 APIからstdoutが取れるが、途中で切れる sudoでコマンド叩こうとするとttyがなくてエラーになったが… 実装 Issueへのコメントを実行トリガーにする 実行トリガーのコメン…

非エンジニアがクエリを実行するための基盤を移行した話

これは Livesense Advent Calendar 2023 DAY 24 の記事です。 リブセンス インフラエンジニアのsheep_san_whiteです。お酒とロードバイクが大好きなおじさんです。 現在、リブセンスではオンプレミス環境からAWS環境への移行を進めています。移行が必要な対…

クラウド移行における設計という共通認識

これは SRE Advent Calendar 2023 DAY 22 の記事です。 はじめに 自分しかわからないPR なぜ読まれなかったのか 実際のPR 設計という共通認識の重要性 経緯を残すと++ ちいさくてかわいいPR わかりやすいPRのTips 直したPR 終わりに はじめに リブセンスでイ…

ecschedule v0.10.0から追加されたpruneオプションの使い方とハマりポイントの一例

これは Livesense Advent Calendar 2023 DAY 15 の記事です。 はじめに 転職ドラフト事業部でエンジニアをしている冨田です。 今回は転職ドラフトでバッチ処理を管理するために使っているecscheduleに v0.10.0 から追加されたpruneオプションを使おうとして…

今年ハマった箇所をあえて共有してお焚き上げします

これは Livesense Advent Calendar 2023 DAY 9 の記事です。 はじめに 今年やった案件 今年ハマった箇所と解決方法 セキュリティグループに穴空いてなかったけどバッチが正常終了したからテストOKにした ここから学んだこと secure属性あるcookieをhttpで通…

オンプレNFSサーバーからAWS S3へ無停止マイグレーション 〜双方向リアルタイム同期処理の自前構築〜

概要 オンプレNFSサーバー 移行対象アプリケーション 無停止マイグレーションの選択と段取り 双方向リアルタイム同期処理の自前実装 背景: AWS DataSyncの利用を断念 設計: 同期処理の構成要素と実装 初回のフル同期と同期漏れの確認 循環更新の防止 NFSから…

初めてOSSにコントリビュートした話

はじめに Mergeされるまでの経緯 PRを送るまで レビュー開始 関連したエラーを別PRでだす Mergeされる 感想 はじめに インフラGの鈴木です。連休は戸田競艇のメンチカツがめちゃくちゃ美味しいのに驚きました。 ところで、先日OSSに初めてPRを送ってMergeさ…

AWS Cron式のlintを行い可読性を上げる

マッハバイトのAWS移行が進むにつれてECS Scheduled TaskやAWS Backupなどの利用が増え、TerraformにはAWS Cron式によるスケジュールの記載が増えてきました。ところがこのAWS Cron式、とてもミスしやすいのが悩みどころです。 このような事情から、プルリク…

マッハバイトのモノリシックなアプリケーションをオンプレからAWSに移行しました

移行の背景 どんなアプリケーションを移行したのか 移行後の構成 移行で直面した課題 認証・認可機構が複雑になっている 処理に時間がかかるエンドポイントがあり、ALBのIdle Timeoutのデフォルトでは足りなかった 非同期処理用のdelayed_jobのワーカーがバ…

マイナーなSaaSのCIを作っているんだが俺はもうダメかもしれない

はじめに CIの概要 出てきた課題と対策 ライブラリのtimeout値が固定値な上に短い ドキュメントにないパラメータがダマで増えた モニターのゾンビ化 想定したように設定が反映されずに手動で変更 YAMLのdiffツール(dyff)の自己主張が激しい 結局CI化するべき…

Working Out Loud(WOL)の取り組みと振り返り

リブセンスの2チームにおいてWorking Out Loud(WOL)というコミュニケーションスタイルを実践してきました。このWOLでは、Slackの会話の中心となるチャンネルを1つに絞って、Twitterのような状態を作り上げています。EMという立場から、その経緯と経験、メリ…

Amazon Inspectorから脆弱性情報を取得してGitHub Issuesにチケット発行するのを自動化する

まえがき こんにちは、インフラグループの yjszk です。 インフラグループでは、Amazon Inspectorで検出された脆弱性への対応を定期的に行っています。 ただ、脆弱性情報を収集して適切な対応を行うプロセスは手作業です。作業が面倒であり、トイルとなって…

PipedreamでSlackスラッシュコマンドを作る

Slackで少し凝った機能・・・例えば簡単な演算ツールを作ったり、ChatOpsを行おうとすると、コードを書いて動かしたくなることがあります。しかし、やりたい処理は簡単だったとしても、従来は、”書いたコードをどこで動かすか”に悩んだものです。 Pipedream…

cronジョブ監視サービスCronitorの設定をコード管理してCI/CDする

まえがき こんにちは、インフラグループの yjszk です。 今回は、Cronitorというツールについてご紹介します。Cronitorはジョブの状態を簡単に管理することができるモニタリングサービスです。 このサービスは、Cronジョブの監視を行うことができ、提供され…

ECSを動かすEventBridge SchedulerをTerraformで構築してみた

こんにちは、インフラストラクチャーグループのyjszkです。2月から入社しました。 リブセンスにはバッチをECSとEventBridge Ruleで動かしている実装があります。EventBridge Ruleがなかなかの曲者で、UTCでしか時間を指定できません。 UTCで指定されたルール…

待望の日本語版発売!『詳解システムパフォーマンス 第2版』Linuxが深く学べる名著を全力で推したい

こんにちは、かたいなかです。 『詳解システムパフォーマンス 第2版』の日本語版が2023/01/24についに発売されました! www.oreilly.co.jp 私個人は原著で読んだのですが、他の人に強くおすすめしたくなるような内容でした。そこで、日本語版の発売に合わせ…

その時基盤が動いた 〜オンプレ オフィス移転で死す〜

これは Livesense Advent Calendar 2022 DAY 21 の記事です。 リブセンス インフラエンジニアのsheep_san_whiteです。お酒とロードバイクが大好きなおじさんです。 さて、リブセンスでは今年3月にオフィス移転を行いました。 オフィス移転に伴い開発環境のAW…

人事がノーコードでFAQシステムを開発してみた話(設定完全公開)

これは Livesense Advent Calendar 2022 DAY 18 の記事です。 はじめに こんにちは。リブセンスで人事をやっています、鶴田です。 (゚Д゚) ホ? となった方も多いかもしれません(そうならない方が少ないかもしれない)。 ここはエンジニアブログ、なのに今回の…

aws-cliのインストールが大変なので車輪の再発明をした話

AWSのサービスをちょっとだけ利用したいとき、aws-cliのインストールがだるいって思ったことはないでしょうか?私はあります。 そんなとき、どうするか? ※ これはリブセンスAdvent Calendar 2022の7日目の記事です。

インフラエンジニアが社内インターン制度でアプリ開発に挑戦した話

リブセンスでは創業当初から『越境』という言葉を大切にしており、自らの専門領域を広げるためのサポートとして、社内インターンと呼ばれる制度を用意しています。 横断部署のデータエンジニアがプロダクト直下での開発を体験したこともありますし、Webアプ…

Pull Requestをすぐ動作確認! マイクロサービスでのプレビュー環境の作り方

こんにちは、かたいなかです。 最近、マイクロサービスアーキテクチャを採用した環境でプレビュー環境の実現方法についていくつかのパターンを比較し整理する機会がありました。 今回の記事では、プレビュー環境を構築するための要件をなるべく特定の技術に…

RESP3対応版のRedis用Ruby Gems(redis-client/redis-cluster-client)のご紹介

概要 旧redis gemの課題 増え続けるコマンドのサポート負荷 RESP2しか対応できていない 新redis-client / redis-cluster-client gemsによる解決 新規コマンド対応の柔軟化 RESP3のサポート その他の背景 redis-rbとしてGitHubのOrganizationを新規に作成した…

多数のインフラ関連リポジトリをモノレポ構成にまとめたTips

前書き リブセンス インフラエンジニアの中野(etsxxx)です。VPoEという肩書きのそいつと同一人物です。 言うまでもなく写真と本文にはあまり関係ありません。コロナ禍前の、弊社のオフィスでのモノレポ化の風景です。 写真のそれとは異なりますが、私はTeach…

Togglによる業務の見える化と改善

我々インフラグループではスプリント計画がうまく機能していませんでした。しかし、Togglを使い始めたことでその状況が改善されました。我々のチームとしてのTogglの利用方法とその効果を紹介します。

転職会議のDB改善のお話

転職会議のサイトの歴史はもう少しで10年を迎えます。コードベースの負債は解消されやすいのですが、DB 周りの負債は解消されにくいです。今回は 2 年間に渡りエンジニア工数の 10%を利用して、DB を少しずつ改善してきたことについて記載します。

Bitrise + fastlane で自動化していることを紹介します

2月末にリリースしたマッハバイトiOS版の開発を機にネイティブアプリのCIを導入して、自動化している事例を紹介します。

転生会議を支える技術「インフラ編」〜サイト爆速化への道〜

転職会議では、2年ぶりとなるエイプリルフール企画を実施しています。 今年のテーマは「転生」、その名も転生会議です! 今回はインフラ編です。