Gunosy Tech Blog

Gunosy Tech Blogは株式会社Gunosyのエンジニアが知見を共有する技術ブログです。

kubernetes

Datadog Agentがkubeletと疎通できなくてもAWS IMDSv2からhostnameを取得させる

こんにちは。プロダクト開発部 Ads チームの johnmanjiro です。普段は広告配信の API や管理画面を開発しています。 先日、EKS 上で動いている Datadog Agent のバージョンを更新した際、Pod の起動時に複数回 Restart するという事象が発生しました。この…

広告スコアリングサーバのエラーを大幅に減らした話

こんにちは、m-hamashita です。最近 AdsML(DRE 兼務)から新規事業開発室に移って LLM 応用をしています。学ぶことが多くて楽しいですね*1。 この記事は Gunosy Advent Calendar 2023 の 20 日目の記事です。 19 日目の記事は田辺さんのデータアナリストが…

Istio Operatorやめました

はじめに 用語 なぜIstio Operatorをやめるのか IstioctlかHelmか Istio Operatorの挙動 既存のリソースをHelmに認識させる リソースを消さずにIstioOperatorを消すには istio-operatorが利用しているラベルを剥がしてから消す あらかじめistio-operatorを止…

管理画面にGitOpsを導入しました 〜DBマイグレーション編〜

こんにちは。広告技術部の yamaYu です。 広告サービスのバックエンド〜インフラを中心に触っています。 最近は専らパルデアの大地を駆け回る日々です。 今回の記事ですが、Kubernetes 上で管理している Rails 製システムの DB マイグレーションの扱いについ…

管理画面にGitOpsを導入しました 〜構成編〜

はじめに Argo CD とは リポジトリ戦略 ブランチ戦略 課題の解決 まとめ はじめに こんにちは、広告技術部の fujishiro です。普段は広告配信の API や管理画面の開発に携わっています。 さて、今回はその管理画面で下記の課題があったのですが、 Argo CD の…

AWS/Kubernetes環境のセキュリティ対策について

はじめに 背景 ライブ環境のセキュリティ対策 AWS Security Hub Kubescape 運用方法 現状の運用課題 シフトレフト(Shift-left)によるセキュリティ対策 おわりに はじめに こんにちは。技術戦略室SREチームの koizumi です。 弊社では、今年からインフラ環…

マイクロサービスにおけるAZ間通信のコスト大幅削減した話 with Istio Locality Load Balancing

広告技術部のUT@mocyutoです。 大幅コスト削減シリーズ第二弾です。 前回はこちら tech.gunosy.io 今回はアベイラビリティゾーン(AZ)間通信のコストをIstioのlocality load balancingを使って削減した話になります。 概要 Istioとは どのようにコスト削減…

管理画面にGitOpsを導入しました 〜GitOpsとは編〜

はじめに 管理画面の課題 GitOpsとは Push型 Pull型 なぜPush型よりPull型なのか Push型のデメリット Pull型のメリット GitOpsにおけるPull型の構成 GitOpsで課題は解決されるのか まとめ 参考リンク はじめに こんにちは。広告技術部のjohnmanjiroです。普…

ゼロダウンタイムでPodをロールアウトする

先日GunosyAdsの管理画面をEKSに移行したのですが、Podのロールアウト時に5xxエラーが発生するという問題に当たりました。その際にダウンタイムなしにPodをロールアウトするための設定について調べたので、この記事ではそのことについてまとめようと思います…

EKS Managed Node Groupでカーネルパラメータを変更する

21卒広告技術部のyamaYuです。 マトリックスの新作が楽しみです。 過去作を見返さなくてはと思いつつこの記事を書いています。 個人的には第一作が一番好きです。 さて、こちらの記事はGunosy Advent Calendar 2021の15日目の記事になっています。 昨日は村…

CUEを小さく使って環境別のYAMLファイルをtemplate化する

こんにちはあるいはこんばんは ふそやん@azihsoynです。 こちらの記事はGunosy Advent Calendar 2021の11日目の記事です。 昨日の記事はjohnmanjiroさんの DenoでTodoリストAPIを作ってみた でした。 今回はYAMLの生成にCUEを使ってみた話を紹介します。 本…

10倍スパイクの速報時に耐えうるAPIのスケーリングの仕組み

広告技術部のUT@mocyutoです Gunosyではニュース記事を配信運用するメディア部門とアプリ上などに広告を配信運用する広告部門があります。 (本記事では「メディア」とはグノシーやニュースパスなどのサービスを指し、「広告」はそのメディアに出す広告を指…

Istioの構成管理の話

この記事は Gunosy Advent Calendar 2020 の 24日目の記事です。Gunosy Adsチームのリードエンジニアの会田です。Gunosy Adsチームでは昨年から配信システムのEKS移行などのシステムのインフラ改善に取り組んおり、この一年はEKSとKubernetes漬けの一年でし…

既存システムをkubernetesに移行して大きくコストカットした話

この記事は Gunosy Advent Calendar 2020 の 20日目の記事です。 広告技術部のUT @mocyuto です。 チームの話 移行への決断 実際の移行 移行先のアーキテクチャ 移行の際ハマったところ 各種新規機能投入 移行後のコスト推移 まとめ 今回は既存システムをイ…

TerraformでLaunch Templateを使ったManaged Node Groupを導入する

この記事はGunosy Advent Calendar 2020の9日目の記事です。 前回の記事は大関さんの「ゼロから始めるEKS事始め(後編)」でした。 EKS関連の内容が続きますが、仕込みじゃありません! tech.gunosy.io はじめに Managed Node GroupでLaunch Templateを使う …

ゼロから始めるEKS事始め(後編)

本記事は、Gunosy Advent Calendar 2020 8日目の記事です。 前回の続きとなります。 tech.gunosy.io 今回は後編として、実際にEKSクラスター構築の途中からアプリをデプロイする環境を整える流れをご案内し、最後に運用管理フェーズで必要となるであろうオス…

ゼロから始めるEKS事始め(前編)

本記事は、Gunosy Advent Calendar 2020 7日目の記事です。 前回は、しゅんけー君の「その実験、再現できますか?pyenvとpoetryによる “そんなに頑張らない” 再現可能な実験環境構築」でした data.gunosy.io はじめに 前提条件 目指すクラスター像 使用する…

AWS Node Termination Handlerの新機能について

はじめに こんにちは。SRE部の板谷(@SItaya5)です。 Gunosyでは様々なプロダクトでEKS(Amazon Elastic Kubernetes Service)を運用しています。 Worker Nodeはスポットインスタンスを含めたEC2をASG(Auto Scaling Groups)で管理しています。 そのため、インス…

秒間3万リクエストをkubernetesでさばく

こんにちは!スタンディングデスクを導入して快適な開発環境と運動不足の両方を解消できるようになったのではと感じている、広告技術部のUT@mocyutoです。 今回は半年ほどEKSを運用して秒間3万リクエストのトラフィックをさばくほどになりました。 秒間3万は…