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
110
スタートアップの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
なぜfreeeはハブ・アンド・スポーク型の データメッシュアーキテクチャにチャレンジするのか?
shinichiro_joya
2
720
ABWGのRe:Cap!
hm5ug
1
140
20250116_自部署内でAmazon Nova体験会をやってみた話
riz3f7
1
120
「人物ごとのアルバム」の精度改善の軌跡/Improving accuracy of albums by person
mixi_engineers
PRO
1
140
[IBM TechXchange Dojo]Watson Discoveryとwatsonx.aiでRAGを実現!座学①
siyuanzh09
0
120
AWS re:Invent 2024 re:Cap Taipei (for Developer): New Launches that facilitate Developer Workflow and Continuous Innovation
dwchiang
0
180
いま現場PMのあなたが、 経営と向き合うPMになるために 必要なこと、腹をくくること
hiro93n
9
8.2k
技術に触れたり、顔を出そう
maruto
1
160
フラット構造をやめた理由と、EM / Tech Leadを作った理由
baroqueworksdev
0
240
When Windows Meets Kubernetes…
pichuang
0
320
KMP with Crashlytics
sansantech
PRO
0
260
三菱電機で社内コミュニティを立ち上げた話
kurebayashi
1
370
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
How to Ace a Technical Interview
jacobian
276
23k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.2k
Unsuck your backbone
ammeep
669
57k
Agile that works and the tools we love
rasmusluckow
328
21k
Building Adaptive Systems
keathley
38
2.4k
Optimizing for Happiness
mojombo
376
70k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
4
190
Why Our Code Smells
bkeepers
PRO
335
57k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
870
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
一緒にやりたい方、サービスにご興味ある方 お待ちしております! スマートラウンド 採用