Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
休日・夜間のインスタンス自動停止をSREチームで運用してみた
Search
Konishi tatsuhiro
August 27, 2024
Technology
35
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
休日・夜間のインスタンス自動停止をSREチームで運用してみた
SRE meetup 〜サービス事業会社のSREが向き合う課題〜 の発表資料です。
https://wealthnavi.connpass.com/event/325100/
Konishi tatsuhiro
August 27, 2024
More Decks by Konishi tatsuhiro
See All by Konishi tatsuhiro
アラート疲れからの脱却 - リソースタグで仕分けるSlack通知戦略
tatsukoni
1
200
少人数SREチームが、長寿なシステムを構築・運用するための取り組み
tatsukoni
0
22
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
550
コンテナイメージ脆弱性検知の実践事例 ~ 基礎から応用まで ~
tatsukoni
0
70
ECSとEFSを組み合わせた Batchサーバー デプロイ方法の模索
tatsukoni
0
74
コンテナイメージを複数のチームで扱うための、ビルドフローの構築・運用
tatsukoni
0
180
手付かずだったSecurity Hub運用を改善した話
tatsukoni
0
46
Other Decks in Technology
See All in Technology
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
2
530
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
340
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
230
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
750
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
4
660
え、こんなに早く改修できるの?──新人エンジニアとスクラムマスターの2人が語る、AI×アジャイル開発の現場
ysasago
2
450
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
160
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
860
ソフトウェアDNAとクラウドエージェントのススメ
cloudace
0
110
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
140
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
210
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
590
Marketing to machines
jonoalderson
1
5.8k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
510
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
From π to Pie charts
rasagy
1
370
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
530
How to Talk to Developers About Accessibility
jct
2
550
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Designing Experiences People Love
moore
143
24k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
Transcript
休日・夜間のインスタンス自動停止をSREチー ムで運用してみた 2024年08月27日 株式会社コドモン 小西達大 SRE meetup 〜サービス事業会社のSREが向き合う課題〜
2 経歴 1996年生まれ、大阪育ち。前職でアプリケーションエンジニアとし て従事後、株式会社コドモンのSREチームにジョイン。 関心のある分野はコンテナとセキュリティ。 自己紹介 小西 達大 こにし たつひろ
3 Mission
4 すべての先生に 子どもと向き合う 時間と心のゆとりを こんなプロダクトを開発しています メインプロダクトは、保育・教育施設向けWebアプリケーション。 保護者と施設のやり取りを支えるモバイルアプリケーションや、施設職員向けモバイル版 アプリケーション、外部サービスと連携するAPIなども開発しています。
5
6 今日話すこと 休日・夜間のインスタンス停止のすすめ インスタンス自動停止の基本的な実装方法 SREチームで運用するために工夫している点 1 2 3
7 休日・夜間のインスタンス停止のすすめ
8 CONFIDENTIAL - © 2022 CoDMON Inc. 8 休日・夜間のインスタンス停止の概要 •
土日祝・夜間など人が使わない時間帯で、従量課金されるインスタンス群を 停止することで、AWSコスト削減をねらう • EC2・RDS・ECS(停止ではなく稼働するタスク台数を0にする)などで実施 可能
9 CONFIDENTIAL - © 2022 CoDMON Inc. 9 コスト削減効果(例:Aurora MySQL)
運用方式 \ DBインスタンスクラス db.t4g.medium db.t4g.large db.r5.xlarge デフォルト(オンデマンドインスタ ンスを常時稼働) $81.36 $162 $504 リザーブドインスタンス購入(1年 間全額前払い) $59.16 $118.3 $284 土日24時間・平日00:00~08:00 イ ンスタンスを停止 $39.77 $79.2 $246.4 Aurora MySQL DBインスタンス1台を東京リージョンで運用した際の 月額金額比較 ※1カ月を30日・土日8日・祝日なし として計算 参照:https://aws.amazon.com/jp/rds/aurora/pricing/
10 CONFIDENTIAL - © 2022 CoDMON Inc. 10 休日・夜間のインスタンス停止の使いどころ •
リザーブドインスタンス・Savings Plans よりも高い費用削減効果が得られ る可能性がある ◦ RI・SPの費用節減率や、停止可能時間にもよるので計算が必要 • 運用(本番)環境はリザーブドインスタンス・Savings Plansを活用してコスト 削減し、開発環境では休日・夜間のインスタンス停止を活用する など使い分 けが重要
11 インスタンス自動停止の基本的な実装方法
12 CONFIDENTIAL - © 2022 CoDMON Inc. 12 インスタンス自動停止の基本的な実装方法 •
EventBridge Scheduler を用いて簡単に実装可能 ◦ 任意のスケジュール日時でAPIを実行することができる
13 CONFIDENTIAL - © 2022 CoDMON Inc. 13 EventBridge Schedulerから自動停止/起動を実施する
EC2 RDS ECS StartInstances StopInstances StartDBCluster / StartDBInstance StopDBCluster / StopDBInstance UpdateService ↓入力値 { "Cluster": "<ECSクラスター名>", "Service": "<ECSサービス名>", "DesiredCount": 0 / 任意のタスク数 }
14 CONFIDENTIAL - © 2022 CoDMON Inc. 14 複数のインスタンスを実行対象にしたい場合 •
RDS・ECSではEventBridge Schedulerのターゲットに複数のリソースを指 定することができない... ◦ AWS Step Functionsを利用して、複数リソースに対してAPIを実行可能 実行対象リソースを入力値で渡す 複数リソースに対してAPI実行
15 SREチームで運用するために工夫している点
16 CONFIDENTIAL - © 2022 CoDMON Inc. 16 前提 •
開発環境Auroraの自動停止について取り上げる • 各チームごとにAurora DBクラスターが存在し、それらの自動停止/起動を SREチームで運用している ◦ Aurora DBクラスターの新設・削除などは各チームに委ねられているので、SRE チームが全て把握はしていない
17 工夫1:多数のAurora DBクラスターを休日・夜間 に自動停止させる
18 CONFIDENTIAL - © 2022 CoDMON Inc. 18 やりたいこと •
各開発チームが所有するAurora DBクラスターを抜け漏れなく自動停止/起動 させたい ◦ ただし、特定のAurora DBクラスターを自動停止対象から除外したいケースも発 生するので、柔軟に対応できるようにしたい
19 CONFIDENTIAL - © 2022 CoDMON Inc. 19 実現方法 {
"Ignore_DbClusterIdentifiers": [ "対象外のAurora DBクラスター識別子名", … ] } 自動停止対象外のAurora DBクラス ター識別子名を入力値として渡す 全てのAurora DBクラスター 名を動的に取得 対象外DBはスキップ 対象DBは停止/起動API実行 対象かどうか確認
20 CONFIDENTIAL - © 2022 CoDMON Inc. 20 実現方法 •
最初に全てのAurora DBクラスター名を動的に取得しているので、新規DBが 増えても抜け漏れが発生しない • 対象外のAurora DBクラスター識別子名を渡す入力値箇所はコード管理して おり、柔軟に対応可能
21 工夫2:土日だけでなく、祝日もAuroraを自動停 止させる
22 CONFIDENTIAL - © 2022 CoDMON Inc. 22 やりたいこと •
土日だけでなく、祝日もAuroraを自動停止したい ◦ 祝日かどうかを判定する仕組みが必要
23 CONFIDENTIAL - © 2022 CoDMON Inc. 23 実現方法 •
AWS Systems Manager Change Calendar を利用する ◦ サードパーティのカレンダー(Google Calendars・Microsoft Outlook Calendars …)をインポートして、祝日を取り込む ◦ GetCalendarState というAPIを呼び出すことで、実行日が祝日かどうか判定可能
24 CONFIDENTIAL - © 2022 CoDMON Inc. 24 実現方法 ・月~金
08:00 自動起動 ・月~金 00:00 自動停止 実行日が祝日の場合、08:00 の自動起動をスキップ → 祝 日もAuroraを停止状態に
25 CONFIDENTIAL - © 2022 CoDMON Inc. 25 実現方法 ・月~金
08:00 自動起動 ・月~金 00:00 自動停止 実行日が祝日の場合、08:00 の自動起動をスキップ → 祝 日もAuroraを停止状態に Change Calendar更新作業が手間な場 合は、外部APIを実行して祝日取得 ~ 判 定する方法もある
26 まとめ
27 CONFIDENTIAL - © 2022 CoDMON Inc. 27 まとめ •
休日・夜間のインスタンス停止は、AWSコスト削減に効果がある • 自動停止/起動の仕組みは簡単に実装でき、要件に合わせてカスタマイズも可 能
28 最後に
29 コドモン採用ページ 開発ブログ コドモンでは一緒に働きたい仲間を募集しています!
None