SRE

SRE NEXT 2025に参加しました

こんにちは。最近はインターナショナルスクールで働く奥さんが、夏休みで毎日ソファーでNetflixと過ごしているのを羨ましく過ごしています、P山です。本日は先日参加したSRE NEXT 2025について、聴講したセッションや、イベントの内容について紹介します。 S…

Prometheus 3.x メジャーバージョンアップ記録

はじめに SREグループの古越です。 私たちSREグループでは、Prometheus を中核としたオブザーバビリティ基盤を数年前から運用してきました。 今回、Prometheusサーバーのメジャーバージョンアップを実施しましたので、既存構成の全体像を踏まえつつ、作業内…

Grafana LokiのLogQLを理解する

こんにちは、SREグループの水戸 (@y_310)です。 タクシーアプリ『GO』ではサービスが出力するログの分析基盤としてGrafana Lokiを使用しています。Grafana LokiはLogQLという言語を使って柔軟にログを分析したり集計してメトリクスとして可視化したりするこ…

MySQL Server Exporterを使ってAurora MySQLの可観測性向上

はじめに SREグループの古越です。 MySQLサーバーのメトリクスを取得できるツールとしてMySQL Server Exporter (mysqld_exporter)を使ってみましたので紹介します。 PostgreSQLの可観測性向上としてpostgres_exporterについて解説した記事を以前書いていまし…

Argo Rollouts と Istio を使ったカナリアリリースの実現

こんにちは、SREグループのカンタンです! GO株式会社ではアプリケーションサーバを Kubernetes で運用することが多いですが、今までは Deployment によるローリングアップデートを利用しデプロイを行っていました。 マイクロサービス構成を利用しているため…

Memorystore for Redis移行のためのRedis HAProxy

Memorystore for Redis移行のためのRedis HAProxy はじめに SREグループ・ヒロチカです。 GO株式会社では、サービスのクラウドインフラの設計から構築・運用までを担当しています。 あるKubernetesのサービスを別のGCPプロジェクトにあるKubernetes環境に移…

GKE で Google マネージド証明書を利用するのが意外と難しい!Gateway API で LB を作成

こんにちは、SREグループのカンタンです! GO株式会社では AWS EKS と GCP GKE の Kubernetes クラスタを活用していて、EKS は以前から AWS マネージド証明書を利用していますが GKE は最近になって Let's Encrypt 証明書から Google マネージド証明書に移行…

CloudFront + S3で配信しているSPAのサイトをCross-Origin Isolationに対応しました

こんにちは、SREグループの浜地です。 GO株式会社では、様々な社内/社外向け管理画面システムをホスティングしており、多くはAmazon S3+Amazon CloudFrontを利用したSingle Page Application(以降SPA)構成をとっています。 今回はそのうちのひとつでCross…

TerraformをテストするためにConftestを導入しました

こんにちは、SREグループの浜地です。 先日、TerraformにConftestを導入したので、背景などを含めて紹介しようと思います。 「最近話題のOPA的なのでTerraformをテストしたいんだけどなー」とお考えの方にぜひ読んでいただけると幸いです。 Conftest導入背景…

postgres_exporterを使ってPostgreSQLの可観測性を向上させる方法

はじめに SREグループの古越です。GOでは多くのプロダクトでAurora PostgreSQLを利用しています。Aurora PostgreSQLは標準で多くのCloudWatchメトリクスを出力しており、ほとんどのユースケースに対応できる可観測性があります。しかし、PostgreSQLの詳細な…

AWS Encryption SDKによるクライアントサイド暗号化

こんにちは、SREグループの水戸 (@y_310)です。重要なデータをストレージに保存する際は暗号化を一つのセキュリティ対策として考えることが多いかと思います。最近はEncryption At Restと呼ばれるストレージレベルの透過的な暗号化によってストレージへの直…

GCPのロードバランサーでmTLS機能を使う

はじめに SREグループ・ヒロチカです。GO株式会社では、サービスのクラウドインフラの設計から構築・運用までを担当しています。 今回、GCPで利用しているロードバランサーでクライアント認証の機能をmTLSで実現したいという要件があり、いくつか構築しなが…

hclwriteを使ってtfファイルを編集する

こんにちは、SREグループの水戸 (@y_310)です。Terraformを継続的に使用していると、時々一括して大量のファイルの記法を修正したくなる時があります。 単純な置換であればsedで十分ですが、少し複雑な変換になるとsedでは難しいこともあります。そんな時はH…

負荷試験ツールvegetaを使ってみた

はじめに SREグループ・ヒロチカです。GO株式会社では、サービスのクラウドインフラの設計から構築・運用までを担当しています。 今回、高トラフィックが予想されるアプリケーションに対して負荷試験を実施するにあたり、軽量に負荷をかけられるツールを試し…

Golang マイクロサービスの徹底トレース方法 | オブザーバビリティ基盤第3話

SRE

Golang マイクロサービスの徹底トレース方法 | オブザーバビリティ基盤第3話 こんにちは、SREグループのカンタンです! GO株式会社ではサービス品質を向上させるためマイクロサービスのオブザーバビリティを常に改善しています。 「LGTM!オブザーバビリティ…

GKE クラスタでは64ノードしか作れない?!Cloud NAT でハマった話

SRE

GKE クラスタでは64ノードしか作れない?!Cloud NAT でハマった話 こんにちは、SREグループのカンタンです! GO株式会社では AWS EKS と GCP GKE の Kubernetes クラスタを活用していますが、 数週間前に本番 GKE クラスタのメンテナンス作業を実施した際に…

ghzを利用したgRPC streaming通信での負荷試験

SREグループ・ヒロチカです。今回、Bidirectional(双方向) gRPC streamingのアプリケーションの構成変更を行った際に、新しい構成でも問題ない性能が出るかどうか負荷試験を実施しました。ツール選定から実際に結果を観測するまでの一連の流れをまとめました…

PostgreSQLのTransaction ID Wraparound失敗でDB停止障害を起こしそうになった話

こんにちは、SREグループの水戸 (@y_310)です。GO Inc.ではマイクロサービスごとに固有のDBを持っているため数十台のAurora PostgreSQLクラスタを運用しています。ある日たまたまAWSコンソールを眺めていたところそのうちの1つのクラスタでこんなメッセージ…

GraphQLエラーをIstioとGrafanaで監視する

SRE

こんにちは、SREグループの水戸 (@y_310)です。GO Inc.では様々なマイクロサービスが動いていますがその中にいくつかGraphQLのサービスが存在します。SREグループでは全てのサービスに対して共通のメトリクスでリクエスト状況やエラーを監視しているのですが…

Istio Ingress Gateway越しgRPC streamingのハマりポイント

SREグループ・ヒロチカです。弊社の持つk8sのクラスタの整理の一環で、gRPC streamingを使っているサービスについて、通信経路にIstio Ingress Gatewayを経由する形へと構成変更を行った際のポイントや知見をご紹介いたします。 はじめに SREグループ・ヒロ…

Grafana Lokiでログを検索 | オブザーバビリティ基盤第2話

SRE

こんにちは、SREグループのカンタンです! LGTM!オブザーバビリティ基盤第1話という記事ではログとメトリックスとトレース情報を扱えるGrafanaをベースとした新しいオブザーバビリティ基盤の話をしました。今回はログにフォーカスし、ログの収集と検索を行…

LGTM!オブザーバビリティ基盤第1話

こんにちは、SREグループのカンタンです! GO株式会社にある様々なサービスは、SREが提供しているKubernetes基盤上で動いています。ログ検索基盤として長年BigQueryを利用していましたが、利用体験と効率を向上させるためにGrafanaをベースとした新しいオブ…

AWS IAM Identity Centerによるそこそこ複雑な権限管理の事例

こんにちは、SREグループの水戸 (@y_310) です。GO株式会社ではスタッフがAWSアカウントにログインする際の認証方法としてAWS IAM Identity Center (旧AWS SSO)を使用しています。 今回はAWS IAM Identity Centerを使ったAWSアカウントの権限管理の事例につ…

Redashのログインユーザ情報更新

SRE

GO株式会社では、主にクラウドサービス上にあるマネージドデータベースのデータ参照ツールとして、ダッシュボードツール「Redash」を自前構築し社内で運用しています。 以前、このSelf Hosted版 Redashの構築の記事の中で、ログイン方法としてSAML認証を採用…

SendGridのサブユーザ管理

SRE

GO株式会社では、提供しているサービスが行っているメール配信機能の一部をクラウドメール配信サービスである「SendGrid」を利用して送付しています。 SendGridにはサブユーザという親アカウントに紐づく子アカウントのような形でアカウントを管理することが…

シームレスなAirflowワークフロー基盤

SRE

こんにちは、SREグループのカンタンです!GO株式会社では複雑なワークフローを実現するためにAirflowを利用しています。Kubernetesを活かして、マルチテナンシーによるセキュリティ課題を解決しシームレスな開発体験を提供するAirflow基盤を用意しました。今…

Argo CDで運用効率アップ!

SRE

背景 SREグループが管理しているEKSとGKEクラスタのマニフェストを一つのmonorepoで一元管理しています。Kubernetesマニフェストをmonorepoで管理するのが主流と言えますが、SREグループの管理方法に主に3つの特徴があります: YAMLファイルを直接扱わないで…

Aurora PostgreSQLアップグレード時のダウンタイムをBlue/Greenデプロイ方式で軽減

SRE

SREグループの古越です。 SREグループではAurora PostgreSQLのインプレースアップグレードで少し痛い目を見た過去があり、Aurora PostgreSQL 10.x EOS(2023/01/31)を切っ掛けとしてインプレースに変わる安全なアップグレード方法を模索していました。 2022/9…

Aurora PostgreSQLでテーブルパーティショニングを導入した話 【実践編】

SRE

技術戦略部 SREグループの古越です。 前回の記事でパーティショニングを導入する段階で注意するポイントについて主に触れてきました。今回は導入するために具体的に行った事や追加で導入する拡張機能の解説などを踏まえて紹介していきます。 前提知識と導入…

Aurora PostgreSQLでテーブルパーティショニングを導入した話 【検討編】

SRE

技術戦略部 SREグループの古越です。 MoTで開発しているサービスの多くはAurora PostgreSQLを利用しています。一部サービスにはデータが蓄積し、肥大化していくテーブルの管理が課題になっています。今回は開発者からの要望で新規サービスの幾つかにパーティ…