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
130
スタートアップのFeature環境 #AWSStartup #AWSStartup_Kansai
AWS Startup Meetup 大阪 Vol.3 LT by @fillz_noh
Yusuke WADA
November 19, 2024
Tweet
Share
More Decks by Yusuke WADA
See All by Yusuke WADA
AWS 怖い話 WAF編 @fillz_noh #AWSStartup #AWSStartup_Kansai
fillznoh
0
110
Other Decks in Technology
See All in Technology
Delegating the chores of authenticating users to Keycloak
ahus1
0
180
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
3.9k
ビジネス職が分析も担う事業部制組織でのデータ活用の仕組みづくり / Enabling Data Analytics in Business-Led Divisional Organizations
zaimy
1
330
AIでテストプロセス自動化に挑戦する
sakatakazunori
1
300
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
280
振り返りTransit Gateway ~VPCをいい感じでつなげるために~
masakiokuda
1
170
アクセスピークを制するオートスケール再設計: 障害を乗り越えKEDAで実現したリソース管理の最適化
myamashii
1
390
united airlines ™®️ USA Contact Numbers: Complete 2025 Support Guide
flyunitedhelp
1
470
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
120
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
160
〜『世界中の家族のこころのインフラ』を目指して”次の10年”へ〜 SREが導いたグローバルサービスの信頼性向上戦略とその舞台裏 / Towards the Next Decade: Enhancing Global Service Reliability
kohbis
3
1.2k
60以上のプロダクトを持つ組織における開発者体験向上への取り組み - チームAPIとBackstageで構築する組織の可視化基盤 - / sre next 2025 Efforts to Improve Developer Experience in an Organization with Over 60 Products
vtryo
3
1.8k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Typedesign – Prime Four
hannesfritz
42
2.7k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Building Applications with DynamoDB
mza
95
6.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Visualization
eitanlees
146
16k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
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
一緒にやりたい方、サービスにご興味ある方 お待ちしております! スマートラウンド 採用