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
FOLIOモバイルアプリのインフラ構成/folio-mobile-infra-archit...
Search
Shohei Koyama
November 27, 2018
Programming
3
2.3k
FOLIOモバイルアプリのインフラ構成/folio-mobile-infra-architecture
Shohei Koyama
November 27, 2018
Tweet
Share
More Decks by Shohei Koyama
See All by Shohei Koyama
成長をサポートするピープルマネジメントのやり方
sioncojp
11
2.9k
FargateでService,RunTask,Cronを運用する/fargate-service-runtask-cron-operation-tips
sioncojp
5
5k
FOLIOのterraform運用tips/folio-terraform-operation-tips
sioncojp
2
4k
SSM+yamlを使って開発別に 暗号化したDBパスワードを読み込む / yamlssm-sample
sioncojp
2
2.6k
私が最近Mackerelでやったこと
sioncojp
1
4.9k
Go開発環境と勉強方法
sioncojp
0
430
MackerelでGetWild
sioncojp
4
7.5k
Other Decks in Programming
See All in Programming
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
630
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
280
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
230
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
120
Select API from Kotlin Coroutine
jmatsu
1
220
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
1.2k
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
3
400
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
600
Is Xcode slowly dying out in 2025?
uetyo
1
250
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
590
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
120
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
A Modern Web Designer's Workflow
chriscoyier
694
190k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Music & Morning Musume
bryan
46
6.6k
Visualization
eitanlees
146
16k
Faster Mobile Websites
deanohume
307
31k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Embracing the Ebb and Flow
colly
86
4.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Documentation Writing (for coders)
carmenintech
72
4.9k
Transcript
FOLIOϞόΠϧΞϓϦͷ Πϯϑϥߏ גࣜձࣾFOLIO / Site Reliability Engineer ބࢁ ᠳฏ(@sion_cojp)
ބࢁ ᠳฏ / @sion_cojp ݩFPSϓϩήʔϚʔͰΞδΞνϟϯϐΦϯ גࣜձࣾFOLIO / SRE 自己紹介
- ߏ - σϓϩΠ - ηΩϡϦςΟ - ϩά - ϞχλϦϯά
- ϝϯςφϯεը໘ - ͦͷଞ 目次
None
73 ⟎䟝植㹋 73 ⟎䟝植㹋 㼐 㼐 ؝أفٖ ؝أفٖ ❨鿪 ❨鿪
➂䊨濼腉 ؕآظ鍑犜 ϑΥϦΦʮVRʯʮژʯͳͲɺ ଟ࠼ͳςʔϚΛ͑ΒΜͰࢿ͕ Ͱ͖ΔΦϯϥΠϯূ݊Ͱ͢ɻ σʔλαϯϓϧͰ͋Γɺকདྷͷӡ༻ՌΛࣔࠦຢอূ͢ΔͷͰ͋Γ·ͤΜɻ ۚ༥ͷऔҾʹ͓͍ͯɺגՁͷมಈʹΑΓଛࣦ͕ੜ͡Δ͓ͦΕ͕͋Γ·͢ɻৄࡉܖక݁લަॻ໘Λ͓ಡΈ͍ͩ͘͞ɻ גࣜձࣾFOLIO ۚ༥औҾۀऀ ؔ౦ࡒہʢۚʣୈ2983߸ɹՃೖڠձɿຊূ݊ۀڠձɺҰൠࣾஂ๏ਓຊࢿސۀڠձ
ϞόΠϧΞϓϦपΓͷΠϯϑϥΛ հ͠·͢ 本スライドは
ߏਤ
構成図
3छྨͷterraform moduleͰߏ - ALB - Fargate - Sorry module便利 Route53は
module使ってません
ALB module
Fargate module
Sorry module
moduleԽͨ͜͠ͱͰɺDockerfile͑͋͞Ε FargateͷαʔϏε্ཱ͕͙ͪ͛͢ΕΔ ͜ͷߏͰɺstage1CPU, MEM: 2Gͷίϯςφ1ӡ༻ Ͱ$15/day ͘Β͍Ͱ͢ ӡ༻ίετΛߟ͑Δͱ͓ಘͩͱࢥ͍·͢ ʢΠϯϑϥ΄΅ݟͯͳ͍ʣ 構成について一言
σϓϩΠ
こんな感じ
デプロイツール slack-deployͱ͍͏Goͷchatopsπʔϧ slackͰinteractiveʹબ ͦΕΛݩʹฒྻॲཧͰEC2্ͰίϚϯυΛ࣮ߦ ݱࡏ۪ʹaws cli͕ॻ͔ΕͨεΫϦϓτΛ࣮ ߦͤͯ͞·͕͢ɺ Fargate༻ͷdeployπʔϧΛGoͰ࡞த
chatops周りの構成図 ECRは一つのアカウントで 全てのイメージを管理
slack-deployのconfig一部 github.com/sioncojp/tomlssm を使ってdecryptさせてます
余談 ͪΖΜslack-deployͷdeployslack-deploy
ηΩϡϦςΟ
セキュリティ SSHଘࡏ͠·ͤΜ IAMϧʔϧ࠷খݶʹߜͬͯ·͢ sshなくても苦労はない むしろ安心感
セキュリティ ίϯςφ੬ऑੑanchoreͱ͍͏αʔϏε ΛϩʔΧϧͰಈ͔ͤΔΑ͏ʹͯ͠அ ECRの機能として早く欲しい!
ϩά
ログ
ログ Fargateͷlog driverCloudwatch͚ͩͰ͢ Cloudwatch͔Βੜϩά:s3 ͱ ϦΞϧλΠϜϩά: datadog logsʹग़ྗ͢Δmodule Λ࡞ͬͯӡ༻ͯ͠·͢ ʢtargetʹcloudwatchͷlog
groupΛࢦఆ͢Δ͚ͩʣ
ログ - moduleはこんな感じ - σʔλΛfirehoseʹ์ΓࠐΉ: cloudwatch -> kinesis firehose -
datadog logsʹग़ྗ: lambda - ੜϩάอଘ s3ʹग़ྗ: firehose
ϞχλϦϯά
モニタリング externalࢹಉ͡Α͏ʹFargateͰ DatadogΛཱͯͯɺ͔ͦ͜Βࢹͯ͠·͢ internalࢹDatadogͰɺ terraformͰཧͯ͠·͢ 12月のパブリックβで Datadogの機能として使える らしいよ!
ϝϯςφϯεը໘
メンテナンス画面 લஈͷwafͰ͔ࣾΒͷΞΫηεͷΈڐՄ ϝϯςφϯεը໘s3ʹอ͞Εͨ503.json ͷσʔλΛΞϓϦʹฦ٫
メンテナンス画面のON/OFFもslackから
ͦͷଞ
ドキュメント ߏਤΠϯϑϥܥͷใαʔϏεଆͷ ϦϙδτϦʹೖΕͯ·͢ terraformίϝϯτΛత֬ʹ͢ྗ υΩϡϝϯτྨ͕શͯgit্ʹ͋Δҙࣝ ʢconfluenceͳͲͦͷଞۃྗΘͳ͍ʣ
サービス側のREADME.md draw.ioのxmlも保管
terraformのコメント集 dataやresourceの上の行には自 明でもコメントを入れてます
リリース前確認 https://landing.google.com/sre/sre-book/chapters/ launch-checklist/ ΛϕʔεʹಠࣗʹνΣοΫϦετΛఆٛ͠ ϦϦʔεલͷ֬ೝΛSRE + αʔϏε୲ऀͰͬͯ ·͢ ref: https://gist.github.com/sioncojp/57d672fff1a35f3a10dd12526d54afbb
チェックリストの一部
メディア露出等のスパイク対応 + ஆػਃ
コンテナ運用最高! ؆୯ʂָνϯʂ
総評 Dockerfile͚ͩ࡞ͬͯ͘ΕͨΒ͍͍ײ͡ͷΠϯ ϑϥ࡞ΔΑʂ + ࡞ͬͨޙ͋·Γ໘ݟͳͯ͘ྑ͍Πϯϑ ϥ ͱ͍͏ؾ࣋ͪͰͬͯ·ͨ͠
総評 ݁Ռɺͦͷ௨ΓʹͳͬͯΔͱࢥ͏ͷͰ ҆ఆͨ͠ྑ͍ӡ༻͕Ͱ͖ͯ·͢
総評 ͨͩ·ͩΔ͜ͱ͕͋ΔͷͰ ͜Ε͔Βվળ͍͖ͯ͠·͢
以上 ͋Γ͕ͱ͏͍͟͝·ͨ͠