---
title: 【Ltech#10】Fargate/CloudWatch Eventsでバッチをサクサク作った話
tags:  #ltech #fargate #cloudwatch events #バッチ #aws #lifull #lifull home&#039;s  
author: [株式会社LIFULL](https://convert.docswell.com/user/LIFULL)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/V4EQ23DQJP.jpg?width=480
description: 2020/1/28　Ltech#10 不動産・住宅情報サイト「LIFULL HOME&#039;S」の中の人が語るAWS活用前線 テクノロジー本部 技術開発部 基盤開発ユニット アーキテクトグループ 冨田 昌邦
published: January 29, 20
canonical: https://convert.docswell.com/s/LIFULL/5E9PR5-Fargate/CloudWatchEvents%E3%81%A7%E3%83%90%E3%83%83%E3%83%81%E3%82%92%E3%82%B5%E3%82%AF%E3%82%B5%E3%82%AF%E4%BD%9C%E3%81%A3%E3%81%9F%E8%A9%B1
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/V4EQ23DQJP.jpg)

Fargate/CloudWatch Eventsで
バッチをサクサク作った話
Ltech #10 2020/01/28
株式会社LIFULL
冨田昌邦


# Page. 2

![Page Image](https://bcdn.docswell.com/page/DKJ4L1ZYJ1.jpg)

自己紹介
とみた まさくに
冨田 昌邦
@tomiyan
● 2009年 株式会社ネクスト（現LIFULL）に中途入社
● 今年で11年目
○ LIFULL HOME’S 不動産アーカイブ刷新
○ 課金システム開発
○ LIFULL HOME’S for Android/Windows Phone立ち上げ
○ LIFULL HOME’S スマートフォンサイト刷新
○ ネイティブアプリ向けAPI刷新・サーバレス化
2
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。


# Page. 3

![Page Image](https://bcdn.docswell.com/page/PLE1LGRNEG.jpg)

2018年冬の パン バッチまつりが到来
• 日次イベント✕1
– 毎日更新したいキャッシュ
– 既存の社内APIからデータを取得して、Redisにキャッシュを作成する
• 不定期イベント✕3
– 数年に1回〜数回しか更新されないデータ
– Elastic SearchやOracleへ登録するバッチ
3
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。


# Page. 4

![Page Image](https://bcdn.docswell.com/page/8GEWVKYMJ2.jpg)

ざっくりしたシステム構成
ネイティブアプリ
AWS
実はこのリポジトリにバッチ
が同居している・・・
PCサイト
(旧APIを吸収)
SPサイト
BFF
実はこのリポジトリにバッチ
が同居している・・・
ネイティブアプリ用
BFF
新API
ストレージ群
4
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。


# Page. 5

![Page Image](https://bcdn.docswell.com/page/W47Z4ZXMJ3.jpg)

魂の叫び
これ以上このリポジトリには
バッチを増やしたくない
5
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。


# Page. 6

![Page Image](https://bcdn.docswell.com/page/KYJ63Z45JV.jpg)

どこで実行するか・・・
AWS Lambdaだとタイムアウトしてしまう
AWS Batch使うほどでもなさそう
6
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。


# Page. 7

![Page Image](https://bcdn.docswell.com/page/5GJ5LWQG74.jpg)

日次イベント
● CloudWatch EventsのScheduleトリガーで日次でキック
● オーソドックスな構成
7
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。


# Page. 8

![Page Image](https://bcdn.docswell.com/page/V9E2LQPDJR.jpg)

イベント駆動なバッチ
● データのファイルが複数あり、数GBあるので先にデータ用S3バケットにアップロード
● CloudWatch Eventsで設定ファイル用S3バケットへPUTしたイベントをトリガーにECSタスク
(Fargate)を実行
● ミッションクリティカルなバッチではないので多重起動防止の処理は行っていない
8
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。


# Page. 9

![Page Image](https://bcdn.docswell.com/page/5D7YQW5MJM.jpg)

まとめ
• APIとバッチのリポジトリを疎結合にして、お互いの言語やライ
ブラリのバージョンアップしやすさを確保
• バッチ専用のサーバで実行していたが、リソースを気にしなくて
良くなった
• LIFULLではk8sを利用し始めたので、k8sへの移行は必要
9
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。


# Page. 10

![Page Image](https://bcdn.docswell.com/page/2VENK9N3E8.jpg)

おわり
ご清聴ありがとうございました
10
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。


