kubell Creator's Note

ビジネスチャット「Chatwork」のエンジニアのブログです。

ビジネスチャット「Chatwork」のエンジニアのブログです。

読者になる

SRE

Confluent Cloud の IP フィルタ機能を試してみる

SRE

はじめに こんにちは、SREグループの萩原です。 「Chatwork」のサービスにはメッセージデータの永続化を担う Falcon というサブシステムがあります。 今年に入って、その中のコンポーネントである Kafka をマネージドサービスにリプレースする機運が高まって…

SREグループで合宿をしました〜2025年上期編

こんにちは、SREグループの桝谷@hnchn87です。先日、SREグループで開催した合宿について紹介したいと思います。 合宿とは 私たちにとっての合宿は、「オンラインで日々やり取りをしているメンバーが一箇所に集まって、普段なかなか時間を取れない振り返りや…

Confluent Cloud の audit log を Datadog Logs と連携する手順の確認

SRE

こんにちは、SREグループの萩原です。 「Chatwork」のサービスにはメッセージデータの永続化を担う Falcon というサブシステムがあります。 今年に入って、その中のコンポーネントである Kafka をマネージドサービスにリプレースする機運が高まってきたこと…

『SRE Next 2025』にPlatinumスポンサーとしてブース出展します!

SRE

こんにちは! 株式会社kubell(旧Chatwork株式会社)の桝谷@hnchn87です。 普段はSREエンジニアとして、ビジネスチャット「Chatwork」のインフラを支えるお仕事をしています。 kubellは、来たる7月12日に開催されるSREのカンファレンス『SRE Next 2025』にPl…

OpenSearchのインスタンスタイプをi4iに変更しました

こんにちは、SREグループです。 「Chatwork」では、メッセージ検索にAmazon OpenSearch Serviceを利用しています。 今回は、2025年2月頃に実施したOpenSearchのインスタンスタイプ移行についてお話したいと思います。

Confluent Cloud Kafka の基本ユニット eCKU/CKU から利用プランを考える

SRE

はじめに こんにちは、SREグループの萩原です。 「Chatwork」のサービスにはメッセージデータの永続化を担う Falcon というサブシステムがあります。 今年に入って、その中のコンポーネントである Kafka をマネージドサービスにリプレースする機運が高まって…

Hashi Corp Vaultを使ったDBユーザー管理

はじめに みなさんは、DBユーザーの管理をどのように行っているでしょうか。 Create UserやGrantなどの生のSQL文をそのまま管理していたり、何かしらのツールを使って管理しているのではないでしょうか。 弊社では今まではgratanというツールを使って管理し…

リモート MCP サーバーの構築と業務自動化の可能性

いつも読んでいただき、ありがとうございます。 BPaaS プロダクトユニットの山本です。本記事では、リモート MCP サーバーの構築と業務自動化の可能性について解説します。

E2E テストの自動化から可視化 - Playwright × Amplify Hosting -

いつも読んでいただき、ありがとうございます。 BPaaS プロダクトユニットの山本です。 本記事では、私たちが取り組んでいる BPaaS プロダクト開発において、E2E テストの自動化から結果の可視化までをどのように実装したのか、詳しく紹介します。

Mocking in Schema-Driven Development

kubell Advent Calendar 2024 の投稿です。 [^1] qiita.com この投稿では、スキーマ駆動開発と Mocking について書きます。 tl;dr 前提 BPaaS サービス REST を選択した背景 スキーマ駆動開発 課題と解決策 課題 1. 外部 API 依存テストにおける信頼性向上 …

ADOT を使用して Next.js を計測する

kubell Advent Calendar 2024 の投稿です。 [^4] qiita.com この投稿では、AWS Distro for OpenTelemetry (ADOT) [^2] を用いた Next.js の計測について書きます。

BPaaS が AWS Amplify Gen 2 を選択する理由

kubell Advent Calendar 2024 の投稿です。 [^6] qiita.com この投稿では、BPaaS プロダクト開発において AWS Amplify Gen 2 (Amplify) を選択した理由について書きます。 tl;dr 前提 BPaaS サービスとは スキルスタック チーム状況 Amplify を選定した理由 …

EKSのノードをGravitonに変えました

SRE部の坂本です。 ChatworkはほぼすべてのアプリケーションをEKSで動かしています。そのEKSのノードは90%以上をSPOTインスタンスで動かしているので、i系インスタンスで動かしている状態でも、規模(日中で150ノード程度)の割には比較的安価に動かせている状…

Kubernetesのアプリケーションログ収集(2)

(1)では、Chatworkのリクエスト数やログの量など、Chatworkのログの背景をお伝えしました。 このブログでは、それらに対応している構成や、その構成になる前の話を記載したいと思います。 再掲ですが、Chatworkでは下記のように各ノードのforwarderとしてflu…

Kubernetesのアプリケーションログ収集(1)

SRE部の坂本です。 みなさま、Kubernetes環境(EKS環境)におけるアプリケーションのログ収集ってどうされていますか? Chatworkでは下記のように各ノードのforwarderとしてfluent-bit、aggregatorとしてfluentdというfluent兄弟を両方使っており、やや珍しい…

EKSの権限管理の方法をConfig MapからAPIに移行する

Chatwork 坂本です。 EKSを運用していて、微妙だな、、と思うのがaws-authという名前のConfig Mapでの権限管理だと思います。 2023年12月についに脱Config Mapが可能な機能がAWSからリリースされ、APIで管理できるようになり、移行を進めつつ、いろいろと整…

2023年度版!Chatwork流Kubernetesの運用方法

こんにちは。SRE部の桝谷@hnchn87です。 この記事は、 Chatworkのカレンダー | Advent Calendar 2023 - Qiita の 9日目です。 2023年12月6日に行われた「耐障害性向上・パフォーマンス改善・運用負荷軽減をどう実現する? 事業を支えるSREのノウハウを共有」…

いろいろなAWSアカウントのArgo CDを統合した話(4)

いろいろなAWSアカウントのArgo CDを統合した話(2) いろいろなAWSアカウントのArgo CDを統合した話(3) で、AWSのクロスアカウントまわりの話と、ApplicationSetの話を記載しましたが、そのほか細々と対応しつつ、無事に移行目前まで来ました。 (4)では移行目…

いろいろなAWSアカウントのArgo CDを統合した話(3)

いろいろなAWSアカウントのArgo CDを統合した話(2)では主にAWSのクロスアカウントに関して記載しましたが、(3)ではApplicationSetへの対応に関して記載したいと思います。

いろいろなAWSアカウントのArgo CDを統合した話(2)

いろいろなAWSアカウントのArgo CDを統合した話(1) - kubell Creator's Note では統合することになった背景を簡単に記載しました。 (2),(3)では、統合の際に対応に時間がかかったところを記載していきたいと思います。 (2)では主にAWSのクロスアカウントに関…

いろいろなAWSアカウントのArgo CDを統合した話(1)

はじめに ChatworkではArgo CDを利用して、Kubernetes上のアプリケーションのデプロイを行っていますが、もともと複数のAWSアカウントに存在するEKSクラスタにそれぞれ個別にArgo CDを準備して、利用している状態でした。 いろいろと問題があり、2023年6月に…

EKSでNode Local DNS CacheとSecurity groups for podsを一緒に使う

Chatwork SRE部の坂本です。この記事はChatwork Advent Calendar 2022 15日目の記事です。 この記事ではEKSにおいて、Node Local DNS CacheとSecurity groups for podsを一緒に使う方法について記載したいと思います。

EKSのバージョンライフサイクルに組織として対応する

先日行われた Chatwork Dev Day 2021 で、SRE部からは Immutable Clusterに対する定期Version Upgrade戦略 ということで、EKSのアップグレードへの対応について話しました。 www.youtube.com speakerdeck.com ChatworkではSREだけでなく開発チームも含めて、…

Kubernetes 導入における実践プラクティス(仮) The Beginning

こんにちわ。cw-tomita です。最近は「るろうに剣心 最終章 The Beginning」が公開されるのを心待ちにしつつ、これで健の剣心も見納めかという寂しさとが入り混じった複雑な気持ちで日々を過ごしています。 ということで、今回は、映画の公開9日前に開催され…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その5 〜PHPアプリケーションをコンテナ化しよう〜

こんにちは!SRE部のcw-ozakiです。 PHP Conference 2020 Re:bornでPHPでKubernetesを動かすにはどうするべきかという話をしてきました。 speakerdeck.com ただ、25分という短い枠でしたのでKubernetes初心者に向けてということで、だいぶ端折ったのでその5…

What we did to stabilize DNS on Kubernetes cluster

This time, I would like to talk about how I fixed DNS errors on EKS (Chatwork's EKS is operated using a single multi-tenant cluster) Service becomes unstable when the number of pods exceeds a certain number Culprit of conntrack overflow wa…

EKSでDNSを安定させるために対応したこと

今回はEKSでDNSを安定させるために対応した話を書きたいと思います*1。 一定数のPod以上になるとサービスが不安定になる conntrack溢れの犯人はkube-dns(CoreDNS) conntrackのmaxを増やす kube-dnsのautoscale node-local-dnsも入れる node-local-dnsを入れ…

Tools supporting kubernetes cluster in Chatwork (2020 version)

Hello, this is Sakamoto from the SRE Department. I run at least one full marathon every year, but unfortunately, I couldn't make it in 2020. I managed to run under 90 minutes (89 minutes) in the half-marathon held just in February, and I w…

ChatworkのKubernetesを支えるツールたち(2020年版)

こんにちは。SRE部坂本です。毎年最低1回はフルマラソンに出ていますが、2020年はあえなく参加できずに終わりました。 2月にギリギリ行われたハーフマラソンではなんとか90分切り(89分台)を達成し、今年は3時間10分以内を目指してただけに残念ですが、仕方あ…

1年後のChatworkインフラの話 (2020年版)

こんにちわ。id:cw-tomitaです。 この記事は、Chatwork Advent Calendar 2020 - Qiita の21日目の記事です。 Advent Calendarシーズンももうすぐ終わりですが、入社して初めての年のAdvent Calendarでこんな記事を書いたな〜と、ふと思い出し、 creators-not…