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
0
66
FusicTechLive1.5 AWSを活かした基幹システムインフラ構成の紹介
Junkins
July 08, 2021
Tweet
Share
More Decks by Junkins
See All by Junkins
マルチ〇〇(リージョン、アカウント)の サービスをまとめてみた!
junkins
0
230
CakePHP3レポート
junkins
0
850
[Fukuoka.php Vol.16]LT CakePHP3を使ってみた:Migration Phinxの話
junkins
0
760
Other Decks in Technology
See All in Technology
ドメイン名の終活について - JPAAWG 7th -
mikit
33
20k
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
5
590
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
AGIについてChatGPTに聞いてみた
blueb
0
130
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
1
2.3k
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
170
Engineer Career Talk
lycorp_recruit_jp
0
110
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
360
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
327
21k
Thoughts on Productivity
jonyablonski
67
4.3k
Faster Mobile Websites
deanohume
305
30k
A Tale of Four Properties
chriscoyier
156
23k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Into the Great Unknown - MozCon
thekraken
32
1.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Side Projects
sachag
452
42k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
How to train your dragon (web standard)
notwaldorf
88
5.7k
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