Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
スタートアップのFeature環境 #AWSStartup #AWSStartup_Kansai
Search
Yusuke WADA
November 19, 2024
Technology
0
35
スタートアップのFeature環境 #AWSStartup #AWSStartup_Kansai
AWS Startup Meetup 大阪 Vol.3 LT by @fillz_noh
Yusuke WADA
November 19, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
470
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
520
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
250
Application Development WG Intro at AppDeveloperCon
salaboy
0
190
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Gamification - CAS2011
davidbonilla
80
5k
Code Review Best Practice
trishagee
64
17k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Six Lessons from altMBA
skipperchong
27
3.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Scaling GitHub
holman
458
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Building Your Own Lightsaber
phodgson
103
6.1k
Transcript
2024-11-19 AWS Startup Meetup 大阪 Vol.3 スタートアップの Feature 環境
01 自己紹介 02 Feature環境の自動生成 03 コスト抑えたい 04 今後やりたいこと
目次
3 自己紹介 01
4 • 株式会社スマートラウンド • 2人目SRE • 大阪在住、フルリモート ◦ 月1東京 •
好きなAWSサービス ◦ AWS WAF • 最近のお気に入り ◦ Bedrockで翻訳ファイル生成 01 自己紹介 こんにちは! 和田 友助(WADA Yusuke)
01 自己紹介 smartroundとは 5 • ミッション ◦ スタートアップが可能性を最大限に発揮で きる世界をつくる
• プロダクト ◦ スタートアップ・投資家間のデータ作成・共 有プラットフォーム
01 こんな動きも 自己紹介 6
7 Feature環境の自動生成 02
• ECS on Fargateで運用 • ステージング環境 : developブランチ(メインブランチ) ◦ リリース前のテスト・動作確認がメイン
◦ 特定ブランチの確認をしたい時、Slackで宣言して使い終わったらdevelopブランチに戻す • ローカル環境では確認難しい開発する時に動作確認が不便 ◦ 外部連携でローカル専用のクレデンシャルが用意出来ない時など… ◦ 静止点の環境が欲しい… • 特定ブランチの確認をじっくり行いたい 02 ステージング環境あるあるの課題 Feature環境の自動生成 8 → ブランチ( PR)単位ごとの専用環境 Feature環境の誕生 https://pr番号.example.com
02 Github Actionsで作成 Feature環境の自動生成 Githubプルリクエストにて create envとコメント トリガー ALBのリスナー、リスナールール
ターゲットグループ、 Route53 DNSレ コード等のリソースを作成 Terraform ecspressoでデプロイ デプロイ Github Actions上でビルドして ECRへプッシュ イメージ Build &Push 9
• ARMへの変更確認 • データベース関連の変更の確認 ◦ DBのHOST指定をコメントで出来るようにアップデートしてかなり便利になった 02 SREでもドッグフーディングしていて便利 Feature環境の自動生成
10
11 コスト抑えたい 03
• 期間が長くなるとその間起動しっぱなしはつらい ◦ ほぼ1人のための環境が24時間稼働ではコストがかさむ • 夜間・土日祝は停止させてコストを抑えたい 03 とはいえ コスト抑えたい
12
• Lambda? • EventBridge? • EventBridge スケジューラ? 03 ECSタスクの自動終了、自動起動といえば
コスト抑えたい 13
• 指定時刻にMax/Minのキャパシティを変更出来る ◦ 止めたい時間に0/0 と変更するとdesired キャパシティも0になってタスク0になる 03 Application Auto Scaling
コスト抑えたい 14 スケジュールスケーリングどうでしょう? $ aws application-autoscaling put-scheduled-action \ --service-namespace ecs \ --scalable-dimension ecs:service:DesiredCount \ --resource-id service/*****-app \ --scheduled-action-name off-hours-scale-in \ --schedule "cron(0 13 * * ? *)" \ --scalable-target-action MinCapacity=0,MaxCapacity=0 毎日22時に実 行
• 月〜金の朝6時にECSタスク1にする 03 Application Auto Scaling コスト抑えたい 15 朝に起動させる場合
$ aws application-autoscaling put-scheduled-action \ --service-namespace ecs \ --scalable-dimension ecs:service:DesiredCount \ --resource-id service/*****-app \ --scheduled-action-name on-hours-startup \ --schedule "cron(0 21 ? * SUN-THU *)" \ --scalable-target-action MinCapacity=1,MaxCapacity=1 平日朝6時に 実行
03 Terraformでも可能 コスト抑えたい 16
• スケジュールアクションの作成は必要です が、LambdaやEventBridgeの作成は必要 ではなく、比較的シンプルに出来るのかなー と思っています。 • 難点 ◦ マネジメントコンソールからは設定・確
認が出来ない ▪ イベントログから実行履歴は確 認出来ます。 03 比較的大掛かりにならなくて良い コスト抑えたい 17
18 今後やりたいこと 04
• マージ/ブランチ削除のタイミングで環境を自動削除 • DBマイグレーションを組み込む 04 ToDo 今後やりたいこと 19
一緒にやりたい方、サービスにご興味ある方 お待ちしております! スマートラウンド 採用