カミナシ エンジニアブログ

https://kaminashi-developer.hatenablog.jp/

株式会社カミナシのエンジニアが色々書くブログです

フィード

記事のアイキャッチ画像
今年使ってみて良かった AWS のモニタリング、オブザーバビリティ機能ベスト3
カミナシ エンジニアブログ
はじめに こんにちは、takagi (@tkg_216) です。私が開発運用に携わっている「カミナシ 従業員」では、クラウドサービスとしてAWSを主に利用しています。今年、運用していく中で「これ便利だな」と感じたAWSのモニタリング、オブザーバビリティに関する機能ベスト3を、以下の観点で紹介します。 背景や課題、なぜその機能を使おうと思ったか どうやって活用したか 効果や使ってみての感想 渋くていぶし銀な機能が多いですが、自分たちの環境でも活用できそう!であったり、そんなこともできるんだ〜というような何かしらの発見等があれば幸いです。 (1) S3 Storage Lens S3 Storag…
4日前
記事のアイキャッチ画像
【AWS re:Invent 2025】ラスベガスの必需品、Bedrock の必需品
カミナシ エンジニアブログ
こんにちは、「カミナシ レポート」の開発に携わっている furuya です。 re:Invent2025 の参加レポート第三弾です。前回に引き続き現地レポートとセッションレポートをお送りします。 現地レポート:ラスベガスを生き残るために 今回初めての長期海外出張ということで、事前に集められるだけの情報を集めて準備は念入りにしていきました。その中でも持っていってよかったもの、使わなかったものをご紹介します。ラスベガスに行ってみたい!と思っている方の参考になれば幸いです。 持っていってよかったもの ウォーキングシューズ 第一弾で書きましたがめちゃくちゃ歩くので、いいウォーキングシューズ(1ヶ月程度…
8日前
記事のアイキャッチ画像
Go のエラーにコンテキストを持たせていい感じにロギングする
カミナシ エンジニアブログ
こんにちは。カミナシでID管理・認証基盤の開発に携わっている小松山です。私の携わっているプロダクト『カミナシ ID管理』では、バックエンドに Go を採用しています。この記事では、Go のエラーハンドリングとエラーロギングの改善事例を紹介します。 はじめに 私たちのチームでは、定期的にシステムのメトリクス・トレース・ログなどを確認し、運用の健全性を確認する「サービスレビュー」という取り組みを行っています。その一環で出力されたエラーログを確認しているのですが、以下のような課題がありました。 同じerr を関数・メソッドから受け取った直後にロギングしてしまっている箇所が多く、リクエスト内で発生した…
9日前
記事のアイキャッチ画像
【AWS re:Invent 2025】ThreatForestを使用した脅威モデリング実行編
カミナシ エンジニアブログ
こんにちはセキュリティエンジニアリングの西川です。本記事は前回の続きで、実際に ThreatForest を実行する方法や実行した結果についてシェアしていきますので、ThreatForest って何?という方は前回の記事をご覧いただければと思います。 初回ステップ クレデンシャルの設定をします。様々な LLM を選択できはするのですが、実際は初期リリース(AWS re:Invent 2025 時点)では AWS の Bedrock しか対応していません。そのため Bedrock を利用するためのクレデンシャルの設定がまずは必要です。 モデル選択については、 Haiku(高速) Sonnet 4…
10日前
記事のアイキャッチ画像
副作用とロジックの分離。Railway Oriented Programming と Result 型で 「テストしやすい」バリデーションの設計
カミナシ エンジニアブログ
こんにちは、カミナシでソフトウェアエンジニアをしているShimmyです。 カミナシでは現場のDXを支援するB2B SaaSプロダクトを開発しています。そのうちの1つである「カミナシ レポート」の「ひな形編集」機能では、ユーザーがフォームテンプレートを自由に作成できます。 ひな形の保存前には約20種類のバリデーションを実行します。ひな形名のチェック、回答項目の設定確認、設定キーの重複チェックなど多くのバリデーションがあり、今まではこれらが 1つの巨大な関数 でした。 今回は、関数型プログラミングのアプローチである 「Railway Oriented Programming」 と 「Result型…
10日前
記事のアイキャッチ画像
【AWS re:Invent 2025】みんなをつなぐ晩御飯、サービスをつなぐ VPC Lattice
カミナシ エンジニアブログ
こんにちは、「カミナシ レポート」の開発に携わっている furuya です。 re:Invent2025 の参加レポート第二弾です。前回に引き続き現地レポートとセッションレポートをお送りします。 現地レポート:食べ物 ラスベガスでの夕食 前回、朝ごはんやランチ、おやつはカンファレンス内で提供される、というのを書きました。夕食はどうでしょう。毎日各所でAWS含むいろんな会社さんやグループがパーティを開いており、事前に申し込んでいればネットワーキングと会食を楽しむことができます。そういうのがない日はカミナシメンバーみんなでご飯にいきました。 美味しかったチキンバーガー。ポテトも美味しかったけど油が…
15日前
記事のアイキャッチ画像
バリデーションとパースの分離。Goで実装する「変更に強い」CSV 処理の設計
カミナシ エンジニアブログ
こんにちは。カミナシで「カミナシ 従業員」の開発を行っている nilpoona です。 業務アプリケーションを作っていると、避けて通れないのが CSV インポート機能 です。 最初は「encoding/csv で読んでループ回せば実装できる」と考えて作り始めるのですが、仕様が複雑になるにつれて、以下のような課題に直面することがあります。 バリデーションとパース処理が混在し、エラーの発生箇所が追いづらい。 「文字コードが Shift_JIS だった」など多様なエンコーディングへの対応で、ビジネスロジックが複雑になる。 パースやバリデーションエラーを即座にリターンしてしまうと、ユーザーは一つのエラ…
15日前
記事のアイキャッチ画像
【re:invent 2025】AWS WAF の誤検知回避 - カスタムルールのテクニックを学ぶ (NET-301参加レポート)
カミナシ エンジニアブログ
カミナシでソフトウェアエンジニアをしているいちび(@itiB_S144)です。 12月1日から12月5日にかけて開催されていたAWS re:invent に参加してきました!日本に帰ってきて時差ボケもだいぶ治ってきました。 最終日に参加した以下のセッションについてレポートします。 NET301 Hands-on AWS WAF: Troubleshooting attack scenarios セッション詳細として記載されていた内容は以下です。 Suspicious of an activity spike? Seeing odd traffic patterns? Introduced a …
16日前
記事のアイキャッチ画像
React Router v7でLLMのストリーミングレスポンスを実装する
カミナシ エンジニアブログ
こんにちは。カミナシで「カミナシ 設備保全」サービスの開発を行っている澤木です。 今回はReact Router v7でReadableStreamを利用したデータの逐次表示を実装する方法について紹介します。 現在私たちのチームではLLMを使った機能開発を行っているのですが、LLMは生成処理に時間がかかるため全てのデータ生成を待ってから表示するとユーザー体験が悪化してしまいます。 そのためストリーミングで逐次データを受け取り、生成された部分から少しずつ表示していくという実装が一般的かと思います。 React Router v7にもストリーミング機能は提供されているのですが、これはあくまで遅延読…
17日前
記事のアイキャッチ画像
【AWS re:Invent 2025】S3 Tablesでメダリオンアーキテクチャのデータ基盤をつくろう!
カミナシ エンジニアブログ
はじめに カミナシの認証認可チームのmanaty(@manaty226)です。今年もラスベガスにて12月1日から12月5日まで開催されているre:Inventに参加しています。この記事では、最終日に参加した以下のワークショップセッションについて記載します。 Modern batch analytics: Building advanced transactional datalakes with S3 Tables メダリオンアーキテクチャにもとづくS3 Tablesデータ基盤 本セッションでは、S3 Tablesを使ってメダリオンアーキテクチャと呼ばれる、データを3層のストレージで管理するデ…
17日前
記事のアイキャッチ画像
【AWS re:Invent 2025】ThreatForestを使用した脅威モデリング概要編
カミナシ エンジニアブログ
こんにちはセキュリティエンジニアリングの西川(@nishikawaakira)です。今回は ThreatForest を使用した脅威モデリングについてセッションに参加してきたので概要編と実践編に分けて紹介したいと思います。 脅威モデリングの4つの質問のフレームワーク ThreatForest の話に入る前にまずは脅威モデリングのお話から。脅威モデリングには4つの質問のフレームワークがあるらしいです。私はそんな基礎的なことすら知らなかったのですが、このフレームワークは古くから脅威モデリングのプロセスを進める際のメンタルモデルとして使われてきたそうです。 要点は下記の 4 つの質問です。 何を作っ…
18日前
記事のアイキャッチ画像
スクラムマスターとしてのファシリテーションスキルをAIで爆上げするテクニック
カミナシ エンジニアブログ
おはようございます。カミナシでシニアマネージャーを担当している daipresents です。 ついにクロール25mで娘に負けそうになってきました。子どもの成長はやすぎですね。 自分の部署にはもうひとりエンジニアマネージャ(EM)がいるのですが、おたがいに1on1やファシリテーションでチームにかかわることが多いため、「お互いにスキルアップを目指そう!」と話しています。 年末なので「特訓は来年がんばろう」と意見が一致しているのですが、年内はAIを使って自分たちのファシリテーションスキルを高める方法を試しています。 自分のファシリテーションをAIに評価してもらおう 1on1の場合、自分のスキルを手…
18日前
記事のアイキャッチ画像
【AWS re:Invent 2025】AWSサービスを使って能動的防御を実践
カミナシ エンジニアブログ
はじめに カミナシの認証認可チームのmanaty(@manaty226)です。今年もラスベガスにて12月1日から12月5日まで開催されているre:Inventに参加しています。この記事では、最終日に参加した以下のワークショップセッションについて記載します。 Active defense strategies using AWS Al/ML services [REPEAT] (SEC401-R1) AIを使った能動的防御 サイバーセキュリティにおける能動的防御とは、攻撃を受ける前にその予兆を把握して対処することです。特に、本ワークショップではサイバーセキュリティ欺瞞(Cyber Securit…
18日前
記事のアイキャッチ画像
【AWS re:Invent 2025】SageMaker AIで基盤モデルのカスタマイズと評価しよう!
カミナシ エンジニアブログ
はじめに カミナシの認証認可チームのmanaty(@manaty226)です。今年もラスベガスにて12月1日から12月5日まで開催されているre:Inventに参加しています。この記事では、4日目に参加した以下のワークショップセッションについて記載します。 Automating LLM evaluation at scale: AIOps for continuous improvement (AIM405) 基盤モデルの選択からファインチューニングと評価 このワークショップでは、Amazon SageMakerシリーズを使って基盤モデルのデプロイ、ファインチューニング、評価を行うものでした。…
20日前
記事のアイキャッチ画像
【AWS re:Invent 2025】AWSから外部サービスへ安全に連携するためのアクセストークンが払い出せる ようになりました
カミナシ エンジニアブログ
はじめに カミナシの認証認可チームのmanaty(@manaty226)です。今年もラスベガスにて12月1日から12月5日まで開催されているre:Inventに参加しています。この記事では、3日目に参加した以下のワークショップセッションについて記載します。 [NEW LAUNCH] Authenticate securely beyond AWS identity with JSON Web Tokens [REPEAT] (SEC352-R1) AWSにおける長寿命クレデンシャルのこれまで セッションの冒頭では、AWSにおける長寿命なクレデンシャル(アクセスキーなど)を、これまでにどのように…
21日前
記事のアイキャッチ画像
【AWS re:Invent 2025】アプリケーションからデータベースまで AWSでつくるフルスタックオブザーバビリティ
カミナシ エンジニアブログ
はじめに カミナシの認証認可チームのmanaty(@manaty226)です。今年もラスベガスにて12月1日から12月5日まで開催されているre:Inventに参加しています。この記事では、3日目に参加した以下のワークショップセッションについて記載します。 Build full-stack observability from applications to databases [REPEAT] (COP404-R1) オブザーバビリティの難しさ このワークショップでは、アプリケーション及びデータベースまでをカバーしたオブザーバビリティのことをフルスタックオブザーバビリティと呼び、実際にAWS…
21日前
記事のアイキャッチ画像
【AWS re:Invent 2025】AWS の壮大な脅威インテリジェンスについて
カミナシ エンジニアブログ
どうも Security Engineering の西川(@nishikawaakira)です。今回は AWS の脅威インテリジェンスについてセッションでお伺いしてきたのでシェアしたいと思います。 どういうセッションだったか まず AWS 社がどういった脅威インテリジェンスの取り組みを行っているかという話があり、それらの知見をサービスに落とし込んでくれていて、我々ユーザーがどのようにそのナレッジを検知や防御に活かせば良いかという内容でした。こんなに簡単にまとめていますが、とても長い記事なので覚悟してください。 AWS の観測範囲 IPv4 アドレスは約43億あるわけですが、AWS が毎日何らか…
21日前
記事のアイキャッチ画像
【AWS re:Invent 2025】行ってみてわかるラスベガス、やってみてわかるStrands Agents SDK
カミナシ エンジニアブログ
こんにちは、「カミナシ レポート」の開発に携わっている furuya です。 現在ラスベガスで開催されているre:Invent2025に参加しています。初の現地参加、ということで色々戸惑いつつも事前に見聞きした情報や、他にも参加しているカミナシメンバーがいてくれることもあり問題なく過ごせています(感謝)。ということで、現地レポートとセッションレポートをしていきます。 現地レポート:事前の噂検証 めちゃくちゃ歩く 事前の情報で毎日1万5千歩は歩くよ、と聞いていました。ホテルが広いし、会場間もめちゃくちゃ広い(大阪の感覚でいうと梅田から心斎橋・なんばくらいまで)らしいので、それはそうだろうなぁ、と…
22日前
記事のアイキャッチ画像
【AWS re:Invent 2025】ソフトウェアデベロップメントライフサイクルを支える AWS Security Agent が良い!
カミナシ エンジニアブログ
どうも Security Engineering の西川(@nishikawaakira)です。今年も AWS re:Invent に参加しており、個人としては3回目の参加です。本日は re:Invent 期間中に Public Preview になったサービス AWS Security Agent についてワークショップに参加してきたので AWS Security Agent の紹介や感想などをシェアしたいと思います。 AWS Security Agent とは ものすごく簡単にいうと、ソフトウェアデベロップメントサイクル(SDLC)におけるアプリケーションのセキュリティレビューをしてくれる…
22日前
記事のアイキャッチ画像
【AWS re:Invent 2025】祝 Amazon S3 Vectors GA 🎉 触って雰囲気を掴んでみよう
カミナシ エンジニアブログ
S3Vectorsを以下のセッションをきっかけに初めて触ったレポートです。Building serverless vector applications with Amazon S3 Vectors (STG321)
22日前
記事のアイキャッチ画像
【AWS re:Invent 2025】初のLv.500セッション参加!AWSにおけるLLMの未知の未知を評価する試み
カミナシ エンジニアブログ
re:Invent 2日目のセッションレポートです。LLMにおける未知の未知を評価するLv. 500セッションについて書いています。
22日前
記事のアイキャッチ画像
【AWS re:Invent 2025】IAMポリシー評価にdeep dive!
カミナシ エンジニアブログ
re:Invent 2025 2日目のIAMポリシー評価に関するセッションレポートです。
22日前
記事のアイキャッチ画像
AIはE2Eテスト撲滅の夢を見るか?
カミナシ エンジニアブログ
AIはE2Eテスト撲滅の夢を見るか? おはようございます。カミナシでシニアマネージャーを担当している daipresents です。息子がけん玉にハマり、定期的にボールをぶつけられて痛い思いをしております。 僕は普段、「カミナシ 教育」のエンジニアリングマネージャも担当しているのですが、プロダクト開発の中で、プロダクトマネージャと一緒に、開発された機能の受け入れテストも手伝っています。 また、新しい変化を受け入れるとともに、プロダクト全般の挙動も確認する必要があるので、少し前にE2Eを整備しはじめました。 E2Eテストの整備は、仕事柄いろいろやってきたのですが、AIの活用が劇的に広がっているの…
23日前
記事のアイキャッチ画像
【AWS re:Invent 2025】マルチテナント・マルチエージェントの今を学んで構築した
カミナシ エンジニアブログ
本記事では、AWS re:Invent 2025の参加レポートとして初日にマルチテナント・マルチエージェントなAIエージェントに関するセッションへ参加した内容を記載します。
23日前
記事のアイキャッチ画像
認証認可学習のすゝめ
カミナシ エンジニアブログ
カミナシの認証認可ユニットでソフトウェアエンジニアをやっているトモ=ロウです。 先日、過去に弊社で行った共通ID基盤構築プロジェクトに関するブログ記事を公開したのですが、お読みいただけたでしょうか?まだ読んでいない方は是非ご一読ください! スタートアップがゼロから作る共通ID基盤:立ち上げ〜ID統合まで道のり(前編) - カミナシ エンジニアブログ スタートアップがゼロから作る共通ID基盤:ID統合のその先へ(後編) - カミナシ エンジニアブログ さて、今回は前半に「認証認可完全初心者だった自分が如何にしてID基盤構築プロジェクト完遂に貢献するに至ったか」という視点で僕がどのように認証認可の…
1ヶ月前
記事のアイキャッチ画像
マルチプロダクト連携のAPI呼び出し経路をVPCオリジンを使って実装した話
カミナシ エンジニアブログ
カミナシの「カミナシ 設備保全」チームでプレイングマネージャー型のエンジニアリングマネージャーをしてます、すずけん(@szk3)です。 先日、社内プロダクトの連携機能を実装するにあたり、カミナシの別サービスから自チームが管理するサービスのプライベートなAPIを呼び出す必要があり、サービス間API呼び出し経路について、CloudFrontの機能のひとつであるVPCオリジンを使って実装しました。 本エントリでは、VPCオリジンを導入する過程で得たVPCオリジンについての知見や、その判断に至るまでの背景をシェアします。
1ヶ月前
記事のアイキャッチ画像
AIエージェントの制御を柔軟に。Strands Agents と Amazon Bedrock AgentCore で「Return of Control」を実装してみた
カミナシ エンジニアブログ
こんにちは、先日開催された社内イベント「ごーとんカップ 2025」にてセキュリティチャンピオンになりました、ソフトウェアエンジニアの渡邉(匠)です。「カミナシ 設備保全」の開発に携わっています。 最近、AIエージェントの技術トレンドに乗り遅れないよう、Amazon Bedrock を使ったプロトタイピングに取り組んでいます。その中で、Amazon Bedrock Agents で提供されている「Return of Control」という機能をStrands AgentsとAmazon Bedrock AgentCoreを使って作ってみたので、その実装方法と学びを共有します。 Return of…
1ヶ月前
記事のアイキャッチ画像
セキュリティ文化醸成のための社内セキュリティ競技会2025
カミナシ エンジニアブログ
どうもセキュリティエンジニアの西川です。私は最近ポケモンカードの奥深さと難しさを痛感する日々を過ごしていますが、みなさんいかがお過ごしでしょうか。 カミナシでは社内セキュリティ競技会を実施しました。1年に1度開催しておりまして、気付けば今年で3回目です。初回は私一人で運営していましたが、2回目は二人、3回目は三人と徐々にセキュリティエンジニアリングに人が増え、問題の幅が増えたように感じています。 「こいつ競技会やる度にブログ書いてるな」と思われるかもしれないのですが、新しい発見というか自分なりに改めて社内セキュリティ競技会を実施する目的などを言語化したので、それについても共有できればと思ってい…
1ヶ月前
記事のアイキャッチ画像
オブザーバビリティを獲得するためのモニタリングの大切さ
カミナシ エンジニアブログ
こんにちは、「カミナシ レポート」の開発に携わっている furuya です。先日は Observability Conference Tokyo 2025 が開催され、盛況だったようですね。カミナシメンバーも登壇・参加しました!発表資料はこちらです。 speakerdeck.com この記事では、先日登壇したID管理・認証認可チームとは別で、「カミナシ レポート」の開発チームにおいてもここ数ヶ月間オブザーバビリティと向き合っていた、というお話ができればと思います。 課題 オブザーバビリティとはなんぞや?というところをそろそろちゃんと理解したいなと思い、書籍「オブザーバビリティ・エンジニアリング…
1ヶ月前
記事のアイキャッチ画像
input[type="file"] 同じファイルを選んでもchangeイベントが発火しない問題をちょっとだけ深掘りするよ🎶
カミナシ エンジニアブログ
「よし、これで完璧!」と思って実装したファイルアップロード機能。テストで同じファイルを2回選んだら...あれ?2回目は何も起きない。 // さっきまで動いてたはずなのに... <input type="file" onChange={(e) => { console.log('ファイル選択した!', e.target.files[0]); uploadFile(e.target.files[0]); }} /> 「え、なんでonChange動かんの...?」 Chromeのコンソールとにらめっこすること数分。これ、実は私の実装ミスじゃなくて、ブラウザの仕様に起因する面白い問題だったんです。今日…
1ヶ月前