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
5.1k
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
NEWT Backend Evolution
xpromx
1
140
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
340
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
1.2k
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
630
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
6
830
商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩
ucchiii43
0
190
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
36
12k
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
210
Hack Claude Code with Claude Code
choplin
8
2.6k
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
Porting a visionOS App to Android XR
akkeylab
0
820
GPUを計算資源として使おう!
primenumber
1
270
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Documentation Writing (for coders)
carmenintech
72
4.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
980
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Docker and Python
trallard
45
3.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
350
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Balancing Empowerment & Direction
lara
1
470
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.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͚ͩ࡞ͬͯ͘ΕͨΒ͍͍ײ͡ͷΠϯ ϑϥ࡞ΔΑʂ + ࡞ͬͨޙ͋·Γ໘ݟͳͯ͘ྑ͍Πϯϑ ϥ ͱ͍͏ؾ࣋ͪͰͬͯ·ͨ͠
総評 ݁Ռɺͦͷ௨ΓʹͳͬͯΔͱࢥ͏ͷͰ ҆ఆͨ͠ྑ͍ӡ༻͕Ͱ͖ͯ·͢
総評 ͨͩ·ͩΔ͜ͱ͕͋ΔͷͰ ͜Ε͔Βվળ͍͖ͯ͠·͢
以上 ͋Γ͕ͱ͏͍͟͝·ͨ͠