Gunosy Tech Blog

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

AWS

EventBridgeとECSでお手軽バッチ処理基盤 (後編)

こんにちは, メディア開発部の今村です. この記事はGunosy Advent Calendar 2022 7日目の記事です. 昨日の前編から引き続き, EventBridgeとECSでバッチ処理基盤を整備した話を紹介します. 後編は監視についてです. EventBridgeやECSの情報をDatadogに集めて…

EventBridgeとECSでお手軽バッチ処理基盤 (前編)

こんにちは, メディア開発部の今村です. この記事はGunosy Advent Calendar 2022の6日目の記事です. 昨日の記事は村田さんの「Digdag が突然止まった障害を受けて」でした. この記事 (前編) と明日の後編では, EventBridgeとECSでバッチ処理基盤を整備した話…

「AWS Security Hubの導入から運用を回すためにやってきたこと」というタイトルでSecurity-JAWS#27に登壇しました

こんにちは、SREチームの山口(@yamaguchi_tk)です。AWSに関わり始めて3年半くらいです。 今年1月にJOINして、気づけばセキュリティ系のタスクばっかりやってました。 こちらの記事はGunosy Advent Calendar 2022の4日目の記事です。 前回の記事は suchida …

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とは どのようにコスト削減…

(awsctx) AWS profile のコンテキストマネージャーを作ってみた

はじめに こんにちは、DR&MLOps チームの hyamamoto です! 最近犬と一緒に生活するようになり、Slack やら Twitter やらで犬のことばかり書いています。 今回は AWS profiles のコンテキストマネージャーを作成したので、会社のブログを使って宣伝したいと…

S3のコストを大幅に削減した話

広告技術部のUTです。 最近はカービィディスカバリーをゆっくりやってます 概要 過去の失敗 どうやったか 仕組み 結果 まとめ 概要 昨今ではデータドリブンな意思決定を重視する企業がどんどん増えており、データを活用することにより事業成長へのインパクト…

更新できるデータレイクを作る 〜Apache Hudiを用いたユーザデータ基盤の刷新〜

広告技術部のUT@mocyutoです。 こちらの記事はGunosy Advent Calendar 2021の4日目の記事です。 昨日は内田さんの その設定、pyproject.tomlに全部書けます - Gunosyデータ分析ブログ でした 今回はApache Hudiを用いたユーザデータ基盤の刷新を紹介します。…

Gunosy のデータ活用を支える統合データ基盤 Baikal の話

はじめに Baikal について Baikal を支える技術と工夫 AWS アカウント Terraform ワークフロー基盤 Athena Lake Formation アーキテクチャ Extract & Load データ生成元 AWS アカウントにある RDS からデータ抽出 データ生成元 AWS アカウントにある DynamoD…

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

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

広告配信用の画像変換・キャッシュ配信サービスを作った話

Gunosyでネットワーク広告系のプロダクトを扱っているeastです。今回は、弊社アドネットワークで配信されるクリエイティブ画像の画像変換・キャッシュ配信サービスを構築した話をします。 経緯 今までは無駄に高品質な画像を配信していた 最新の画像フォーマ…

Fitbitのカスタムレポートを作成してLINEに通知する

本記事は、Gunosy Advent Calendar 2020 21日目の記事です。 昨日の記事はUT@mocyuto さんの「既存システムをkubernetesに移行して大きくコストカットした話」でした。 はじめに 必要なもの Fitbitのデータを取得するためのトークンを発行する LINE Notifyの…

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

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

Amazon AthenaのPartition Projectionを使ったALB Access Logの実例 (w/ terraform & glue catalog)

こんにちは、グノシー広告技術部、Adnwチームでマネージャーをやっているサンドバーグです! この記事は Gunosy Advent Calendar 2020 18日目の物となります。 昨日はsyouitさんの変更に強いリスト面とUICollectionViewの話でした。 内容としては弊社のiOSア…

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万は…

ECSのログ管理にFirelensを導入してみた

はじめに こんにちは。SRE部の板谷(@SItaya5)です。 Gunosyでは様々なプロダクトでECS(Amazon Elastic Container Service)を使用してタスクを実行しています。 ECSの起動タイプにはEC2とFargateの2種類がありますが、どちらのタイプも混在しています。 ログ…

AppSync + Nuxt.js(SSR)によるリアルタイム野球詳細ページについて

この記事は Gunosy Advent Calendar 2019 の8日目の記事です。なお、昨日は id: tomoko_tsubasa さんの 新米Gopherとしてこの1年やってきたこと - Gunosy Tech Blogでした。 はじめに こんにちは。グノシー事業部でサーバーサイドを担当している吉澤(azihso…

オンラインサービスをECS on Spot Instanceで構築&運用した

広告技術部のUT(@mocyuto)です。 最近またポケモンGOをちょっとやり始めてしまいました。 今回はオンラインの広告サービスをSpotInstanceを利用したECSで構築し、2ヶ月ほど運用した話を紹介したいと思います。 はじめに アーキテクチャ設計 広告配信 ログ設…

AWS Neptuneを使ってニュースパスのコメント機能をGraphDBで実装・運用する方法

こんにちは。ニュースパスのサーバーサイドエンジニアをしているmanoです。 昨年末から、ニュースパスで記事にコメントができるようになりました。 そのコメントデータを、AWS Neptuneを使ってグラフ構造で保持しています。 今回は、その実装・運用について…

EC2上のPythonバッチをECSのDigdagに置き換えた話

広告技術部のUT@mocyutoです。 ついに桜が開花し、やっと春の訪れを感じはじめましたね。 外で気持ちよく飲みたい季節になってきました。 はじめに システム概要 なぜ移行するのか Celeryをやめたい LevelDBをやめたい 移行計画 アーキテクチャ ECS Athena C…

まだログイン認証で消耗してるの? ~ALBで簡単認証機構~

こんにちは!広告技術部のUT@mocyutoです! 最近はスマブラでなんのキャラを使おうか迷っています この記事はGunosy Advent Calender 19日目の記事です。 昨日の記事は@mathetakeのpeer-to-peerはGoogleの夢を見るかでした。 はじめに OIDC ALBの認証機能 一…

サーバーレスプッシュ管理画面のコンセプト【グノスポ連載第六回】

はじめに こんにちは。グノシー事業部でサーバーサイドの開発を担当している ふそやん (@azihsoyn) | Twitterです。 こちらは Gunosy Advent Calendar 2018 9日目の記事です。なお、昨日の記事は oota3 さんの firecrackerの中身をのぞいてみた - Gunosy Tec…

AWS re:Invent2018に参加してきました!

はじめに こんにちは。広告技術部のUTことmocyutoです。 もうすぐスマブラが出るので最近ずっとソワソワしています。 タイトルの通り、re:Inventに参加してきました! 今年は私とSREのmgiの二人で参加してきました。 会社から参加させてもらえるのはありがた…

AppSyncベースのフルサーバーレスアーキテクチャ【グノスポ連載第四回】

はじめに サーバーレスにした動機 AppSyncベースでいくと決めたこと リソースが限られていたこと 新しい技術に投資しておきたかった 実際のアーキテクチャ Step Functionsについて サーバーサイドkotlinについて 所感 良かった点 課題 おわりに はじめに グ…

広告技術部合宿行ってきました Part. 1

広告技術部は8月末に三浦海岸のマホロバマインズ三浦に2泊3日で開発合宿にいきました! 今回のブログはアドネットワークチーム(以下ADNWチーム)の紹介です!今回ADNWチームは二班に別れ、それぞれ配信システムの改善と管理画面の改良に着手しました。 配信側…

マルチクラウド環境のためのGoパッケージ、Go Cloudを使ってみた

こんにちは、メディア事業本部のエンジニアの@__timakin__ です。 僕が好きなGo言語は、先日バージョン1.11のリリースパーティも開かれ、wasmサポートやModules機能など、結構目新しさのある機能が足されることになりました。 で、その最新のGo界隈の話題の…