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
FusicTechLive1.5 AWSを活かした基幹システムインフラ構成の紹介
Search
Junkins
July 08, 2021
Technology
77
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
FusicTechLive1.5 AWSを活かした基幹システムインフラ構成の紹介
Junkins
July 08, 2021
More Decks by Junkins
See All by Junkins
マルチ〇〇(リージョン、アカウント)の サービスをまとめてみた!
junkins
0
320
CakePHP3レポート
junkins
0
970
[Fukuoka.php Vol.16]LT CakePHP3を使ってみた:Migration Phinxの話
junkins
0
840
Other Decks in Technology
See All in Technology
Swift&Xcodeのバージョンアップにまつわる怖かった思い出 / Scary Memories of Swift and Xcode Updates
bitkey
PRO
0
100
歴史から理解するクラウドインフラのしくみ
kizawa2020
1
200
脱Jenkins、インターン生が挑んだCIツールGitHubActions移行
mixi_engineers
PRO
1
300
AIがコードを書く時代、人間は何を保証するのか———馬場さんと考える、開発者に求められる新しい責任と価値 - TECH PLAY
netmarkjp
0
1.1k
検索技術知識0のエンジニアが広告検索システムを内製化して運用するまで
lycorptech_jp
PRO
0
180
PLaMoを毎日の開発で使い育てていく
pfn
PRO
0
170
AIQAのナレッジ構築について
qatonchan
1
140
ウォーターフォール開発案件のPMとしてAI活用を模索している話
hatahata021
3
260
LangfuseによるLLMOps基盤の構築と活用事例
zozotech
PRO
1
240
データと地図で読む 大井町の「かわるもの、かわらないもの」
yoshiyama_hana
0
900
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
7
6.4k
AI ネイティブな組織に Gemini Enterprise Agent Platform がなぜ必要なのか
asei
1
150
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
First, design no harm
axbom
PRO
2
1.2k
Faster Mobile Websites
deanohume
310
32k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
420
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
920
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
200
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
560
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
240
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
200
Transcript
AWSΛ׆͔ͨ͠جװγεςϜΠϯϑϥߏͷհ Fusic Tech Live Vol.1.5 2021.07.08 ҏ౻ ५थ 1
ࣗݾհ ҏ౻ ५थ Ito Junki ID - GithubɿJunkin s -
Twitterɿ@Junkins_110 Work at גࣜձࣾ Fusic ʢϑϡʔδοΫʣ ઌਐٕज़෦ IoTνʔϜ IoTΫϥυΤϯδχΞ Skill PHPʗLaravelʗCakePHPʗRubyʗRoRʗAWSʗAzure ܦྺ - PHPͷΞϓϦέʔγϣϯΤϯδχΞ - AWS SA(ιϦϡʔγϣϯΞʔΩςΫτ ) - ࠷ۙɺIoTγεςϜ։ൃ - ͖ͳAWSͷαʔϏεVPCΤϯυϙΠϯτ 2
ɹ࣍ 1. ൃදͷత 2. ؍ 3. αϯϓϧҊ݅ 4. ઃܭϙΠϯτ 5.
·ͱΊ 3
01 ൃදͷత
ൃදͷత 5 1. جװγεςϜͷઃܭͷ؍ɾΞΠσΟΞͷڞ༗ ࠓ·Ͱͷܦݧ ɹɾVDI ڥ ɹɾωοτόϯΩϯά࿈ܞͷجװۀγεςϜ ɹɾΤϯλʔϓϥΠζͷαʔϏε։ൃࢧԉ 2.
AWSͷαʔϏεΛ׆༻ͨ͠جװγεςϜͷιϦϡʔγϣϯઃܭ ɹɾΫϥυΛར༻͢Δͱগͳ͍࿑ྗͰ࣭ͷߴ͍Πϯϑϥڥͷߏங͕Մೳ ɹɾۙɺΤϯλʔϓϥΠζ(جװγεςϜ)͚αʔϏεɺػೳ͕ॆ࣮ 3. ιϦϡʔγϣϯઃܭɺαʔϏεબ͕είʔϓ ɹɾߏஙϑΣʔζͷʹ৮Ε·ͤΜɻ
جװγεςϜͱʁ 6 اۀͷجװͱͳΔۀγεςϜ தখاۀɺݚڀॴ ηΩϡϦςΟɺγεςϜؒ࿈ܞɺ৴པੑɺࠪ
02 ؍
AWS Well-Architected 8 AWS Well-Architected ɾΦϖϨʔγϣϯΤΫηϨϯτ ɾηΩϡϦςΟ ɾ৴པੑ ɾύϑΥʔϚϯεޮ ɾίετ࠷దԽ
AWS Cloud Adoption Framework τϨʔυΦϑʂ
03 αϯϓϧҊ݅
Ҋ݅֓ཁ 10 8લ 2લ কདྷత 1 2 3 4 ᶃɿෳͷۀγεςϜ(ΫϥΠΞϯτΞϓϦ)
ᶄɿ࠷େ͖͍γεςϜΛWebԽ + AWSͰӡ༻ ᶅɿ࣍ͷγεςϜΛWebԽ + γεςϜؒ࿈ܞ(ҏ౻͕୲ͨ͠ϑΣʔζ) ᶆɿશͯͷۀγεςϜΛWebԽ + ૬ޓ࿈ܞ(কདྷͷల)
AWSߏਤ 11 Before
AWSߏਤ 12 After
04 ઃܭͷϙΠϯτ
ɹઃܭͷϙΠϯτ 1. σʔλϕʔεαʔό 2. ΞϓϦέʔγϣϯαʔό 3. ηΩϡϦςΟ 4. ϩά 5.
BIπʔϧ 14
4-1 σʔλϕʔεαʔό
4-1.σʔλϕʔεαʔό 16 PostgreSQL on EC2 RDS PostgreSQL Instance ΦϖϨʔγϣϯΤΫηϨϯτ όοΫΞοϓɾϦετΞ
อकൣғ ˚(IaaS) ̋(PaaS) ˚(AMI) ̋(εφοϓγϣοτ) ৴པੑ Մ༻ੑ ̋(MultiAZ) × ෛՙࢄ ̋(ϦʔυϨϓϦΧ) × ίετ࠷దԽ ̋ ˚ ύϑΥʔϚϯεޮ ֦ுੑ ˚ ̋
4-1.σʔλϕʔεαʔό 17 PostgreSQL on EC2 RDS PostgreSQL Instance όοΫΞοϓɾϦετΞ อकൣғ
˚(IaaS) ̋(PaaS) ˚(AMI) ̋(εφοϓγϣοτ) ৴པੑ Մ༻ੑ ̋(MultiAZ) × ෛՙࢄ ̋(ϦʔυϨϓϦΧ) × ̋ ˚ ֦ுੑ ˚ ̋ Point!! ΦϖϨʔγϣϯΤΫηϨϯτ ύϑΥʔϚϯεޮ ίετ࠷దԽ
4-1.σʔλϕʔεαʔό 18 PostgreSQL on EC2 RDS PostgreSQL Instance όοΫΞοϓɾϦετΞ อकൣғ
˚(IaaS) ̋(PaaS) ˚(AMI) ̋(εφοϓγϣοτ) ৴པੑ Մ༻ੑ ̋(MultiAZ) × ෛՙࢄ ̋(ϦʔυϨϓϦΧ) × ̋ ˚ ֦ுੑ ˚ ̋ ύϑΥʔϚϯεޮ ΦϖϨʔγϣϯΤΫηϨϯτ ίετ࠷దԽ อकͷ༰қੑΛॏࢹͯ͠ɺRDSΛબ
4-1.σʔλϕʔεαʔό 19 PostgreSQL on EC2 RDS PostgreSQL Instance όοΫΞοϓɾϦετΞ อकൣғ
˚(IaaS) ̋(PaaS) ˚(AMI) ̋(εφοϓγϣοτ) ৴པੑ Մ༻ੑ ̋(MultiAZ) × ෛՙࢄ ̋(ϦʔυϨϓϦΧ) × ̋ ˚ ֦ுੑ ˚ ̋ ύϑΥʔϚϯεޮ ΦϖϨʔγϣϯΤΫηϨϯτ ίετ࠷దԽ AWSͷϖʔεͰPostgreSQLͷόʔδϣϯΞοϓ͕ඞཁʂʂ
4-2 ΞϓϦέʔγϣϯαʔό
4-2. ΞϓϦέʔγϣϯαʔό 21 EC2 ECS EKS ΦϖϨʔγϣϯΤΫηϨϯτ ֤छڥͷߏங CI/CD ίετ࠷దԽ
̋ ̋ × ˚ ̋ ̋ ̋ ˚ ˚ ˚ ˚ ̋ ϝϯςφϯεੑ
4-2. ΞϓϦέʔγϣϯαʔό 22 EC2 ECS EKS ֤छڥͷߏங ϝϯςφϯεੑ CI/CD ̋
̋ × ̋ ̋ ̋ ˚ Point!! ΦϖϨʔγϣϯΤΫηϨϯτ ˚ ˚ ˚ ˚ ̋ ίετ࠷దԽ
4-2. ΞϓϦέʔγϣϯαʔό 23 EC2 ECS EKS ֤छڥͷߏங ϝϯςφϯεੑ CI/CD ̋
̋ × ̋ ̋ ̋ ˚ ΦϖϨʔγϣϯΤΫηϨϯτ ίετ࠷దԽ ˚ ˚ ˚ ˚ ̋ ෳγεςϜͷڥߏஙͷ༰қ͞
4-2. ΞϓϦέʔγϣϯαʔό 24 EC2 ECS EKS ֤छڥͷߏங ϝϯςφϯεੑ CI/CD ̋
̋ × ̋ ̋ ̋ ˚ ΦϖϨʔγϣϯΤΫηϨϯτ ίετ࠷దԽ ˚ ˚ ˚ ˚ ̋ AWS Fargate (ίετ͕ڐ͢ͳΒ)
4-3 ηΩϡϦςΟ
4-3.ηΩϡϦςΟ 26 [ηΩϡϦςΟཁ݅] ɹސ٬ͷࣾωοτϫʔΫʹͭͳ͕͍ͬͯΔέʔε͕ଟ͍ [ҙ͍ࣝͯ͠ΔϙΠϯτ] ɾIPΞυϨεΛ࿐ग़͠ͳ͍ ( NAT GatewayΛܦ༝ )
ɾඞཁҎ্ʹΠϯλʔωοτʹ௨৴Λग़͞ͳ͍ ( VPCΤϯυϙΠϯτ ) ɹ→ API Gateway ɹ→ S3 ɾIPΞυϨεΛ࿐ग़ͤͣʹSSH௨৴ ( AWS System Manager ) ɹ→ Session Manager
4-3.ηΩϡϦςΟ 27 Cognito ೝূ ɾར༻ՄෆՄ ɾݖݶ ೝՄ ɾར༻ՄෆՄ ɾݖݶ ɾࣾһཧɾೝূCognitoͰҰׅରԠ
ɹ→ ݸผγεςϜͰೝূΛߦ͏ͱରԠͷ࿙ΕͷϦεΫ͕͋Δ ɹ→ ࠷ѱɺCognitoͰୀ৬ॲཧΛߦ͑ΞΫηε͞ΕΔ͜ͱͳ͍ ɹ→ ਓҝతͳΦϖϨʔγϣϯϛεηΩϡϦςΟϦεΫ ɾγεςϜར༻ՄෆՄ/ݖݶใγεςϜͰݸผཧ (ೝՄ)
4-4 ϩά
4-4.ϩά( ετϨʔδ + ੳج൫ ) 29 S3 DynamoDB RDS ίετ࠷దԽ
̋ ˚ × ̋ ̋ ˚ ύϑΥʔϚϯεޮ × ৴པੑ ˕ ̋ ˕ ̋ ̋ Athena ΦϖϨʔγϣϯΤΫηϨϯτ ετϨʔδ + ੳج൫ݕ౼
4-4.ϩά( ετϨʔδ + ੳج൫ ) 30 S3 DynamoDB RDS ̋
˚ × ̋ ̋ ˚ × ৴པੑ ˕ ̋ ˕ ̋ ̋ Athena ΦϖϨʔγϣϯΤΫηϨϯτ ύϑΥʔϚϯεޮ ετϨʔδ + ੳج൫ݕ౼ ίετ࠷దԽ
4-4.ϩά( ετϨʔδ + ੳج൫ ) 31 ετϨʔδ + ੳج൫ݕ౼ DynamoDB
RDS ̋ ˚ × ̋ ̋ ˚ × ৴པੑ ˕ ̋ ˕ ̋ ̋ S3 Athena ΦϖϨʔγϣϯΤΫηϨϯτ ύϑΥʔϚϯεޮ ίετ࠷దԽ ΞΫηεසΛߟྀͯ͠ίετΛॏࢹ
4-5 BIπʔϧ
4-5. BIπʔϧ 33 σʔλιʔεɿෳͷσʔλϕʔεɺAthena σʔλιʔεͷෛՙɿϦʔυϨϓϦΧ͕ͳͯ͘ (SPICE) ੳɿࢼߦࡨޡ͕ඞཁɿγεςϜͰ࡞ΓࠐΉ͖Ͱͳ͍ ։ൃɿૣ͍ QuickSite
05 ·ͱΊ
4. ·ͱΊ 35 [શମͱͯ͠] ɾ࣭ͷτϨʔυΦϑΛҙࣝ͢Δ(Ͳͷ࣭Λॏࢹ͢Δ͔Λ໌֬ʹ) [ϊϋ] ɾϓϥΠϕʔτωοτϫʔΫͱܨ͕͍ͬͯΔγεςϜͷηΩϡϦςΟҙ ɹɾύϒϦοΫαʔϏεΛར༻͢Δ߹ಛʹҙΛʂ ɾڞ௨ج൫ʹͳΓͦ͏ͳػೳ֎ͩ͠ΞϦ͔ [AWSαʔϏεͷϥΠϯφοϓͷ๛͞]
ɾϥΠϯφοϓ͕๛ͳͨΊɺ༷ʑͳબࢶ͕ଘࡏ͢Δ ɾ࠷దͳαʔϏεɺιϦϡʔγϣϯΛબ͠Α͏
͝ਗ਼ௌ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·ͨ͠ Thank You We are Hiring ! https://recruit.fusic.co.jp/
ເதͳϠπʂ͍͍ϠπʂϠό͍Ϡπʂ ืू͍ͯ͠·͢ʂ Thank You We are Hiring ! https://recruit.fusic.co.jp/
Fusic Tech Blog We are Hiring ! https://recruit.fusic.co.jp/ AWSɺػցֶशɺAzur e
PHPɺRuby