Upgrade to Pro — share decks privately, control downloads, hide ads and more …

beelt-aws-job

 beelt-aws-job

環境依存LT会(BEELT #11)での登壇資料。

Avatar for Yuto Uchima

Yuto Uchima

October 08, 2025
Tweet

More Decks by Yuto Uchima

Other Decks in Technology

Transcript

  1. confidential 使用技術 バックエンド • Ruby on Rails フロントエンド • React

    + TypeScript クラウド • AWS • フロントエンド: Amazon S3 + Amazon CloudFront • バックエンド: Amazon ECS(Fargate) • 監視/ログ: Amazon CloudWatch • CI/CD: GitHub Actions + AWS CodeDeploy 株式会社きがるな 3
  2. confidential インプレッション集計ジョブ 株式会社きがるな 6 1. 取得投稿ID+ユーザーID をRedisにキャッシュ 2. Jobをキューイング (5分後に実行)

    3. インプレッション数を Bulk Update ジョブ実行 ↓ Redisの排他制御で リロードによる重複カウントを防ぐ ↓ インプレッション数を更新
  3. confidential Sidekiqとは バックグラウンドジョブ処理ライブラリ 【開発・運用面のメリット】 • Redisをバックエンドに使用したシンプルな構成 • リトライ、スケジューリング、監視が可能 • ダッシュボード

    【パフォーマンス】 • 高速で信頼性の高い処理 • ワーカー数を調整可能でスケーラブル • メモリ使用量が少ない 株式会社きがるな 8
  4. confidential インフラ構成簡易図(APIサーバ) 株式会社きがるな 10 Fargate ElastiCache Serverless (Valkey) Amazon Aurora

    Serverless v2 Amazon EventBridge Amazon S3 既存のリソースを利用して FargateにSidekiq用のコンテナを追加 ElastiCacheをSidekiqで利用
  5. confidential どうやって原因を見つけたのか 1. Claude Codeに原因調査をさせる → AWSの環境を理解していないため、嘘をつきまくる (プロンプトエンジニアリングをしっかりやれば結果は変わりそう) 2. エラー内容をGoogle検索する

    → 検索にヒットせず 3. 接続環境の設定とログを調査 → 各リソースのログをすべて確認 4. ローカル環境とAWS環境の差分を調査 → 今回は、RedisではなくValkeyを使用していることが環境差分 株式会社きがるな 16
  6. confidential どうやって原因を見つけたのか 1. AIに原因調査をさせる → AWSの環境を理解していないため、嘘をつきまくる (プロンプトエンジニアリングをしっかりやれば結果は変わりそう) 2. エラー内容をGoogle検索する →

    検索にヒットせず 3. 接続環境の設定とログを調査 → 各リソースのログをすべて確認 4. ローカル環境とAWS環境の差分を調査 → 今回は、RedisではなくValkeyを使用していることが環境差分 株式会社きがるな 17 結局ここが大切