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
みんなでつかう RStudo Server のつくりかた (Tokyo.R #105)
Search
Hisawo Takase
April 22, 2023
Technology
820
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
みんなでつかう RStudo Server のつくりかた (Tokyo.R #105)
Tokyo.R #105 LT の発表です。
Hisawo Takase
April 22, 2023
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.5k
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
3
540
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
自宅NWにISR4331を導入してみた話
okaits
0
120
まちスペース®とデジタルツインと「まちづくり」
hiro_ogi
0
130
作って理解するCoding Agent 〜フレームワークに頼らないピュア Python での実装〜
takapy
2
140
【書籍出版記念】 10周回って、エージェント開発は RAGがすべてだった。〜RAGの歴史と開発現場で見えた実践知〜
akiratameto
3
420
SmartHR Engineering Team Deck
smarthr
1
3.1k
Genie Codeハンズオン応用編
taka_aki
0
130
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
110
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
1.1k
Odyssey Design
rkendrick25
PRO
2
770
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
390
Done Done
chrislema
186
16k
Designing Experiences People Love
moore
143
24k
How to Ace a Technical Interview
jacobian
281
24k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
My Coaching Mixtape
mlcsv
0
250
Build your cross-platform service in a week with App Engine
jlugia
234
19k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
480
Transcript
ΈΜͳͰ͔ͭ͏ RStudio Server ͷͭ͘Γ͔ͨ Tokyo.R #105 (2023-04-22) @hisawotakase
ࣗݾհ Tokyo.R #105 2 ‣ ໊લɿߴٱ (@hisawotakase) ‣ ৬ۀɿͱ͋ΔίϯαϧςΟϯάϑΝʔϜͰΠϯϋεΤϯδχΞΛ
ɹɹɹͬͯ·͢ʢσʔλϕʔε͕͖ʣ ‣ RྺɿTokyo.Rʹ͍ͩͿલ͔ΒࢀՃͯ͠Δ͚Ͳ… ‣ ۙگɿ࣮͚ͬ͜͏ڊঊͩͬͨ͜ͱΛΓ·ͨ͠ɿ
‣ ࣾͷษڧձ༻ʹ RStudio Server ڥΛ࡞ͬͨΒɺͳ͔ͳ͔͍͍ײ͡ɻ ‣ γεςϜ෦ɾηΩϡϦςΟ෦ͷରࡦ͋ΔΑɻ ‣ ͥͻࣾͷRڥͷඋʹ͝׆༻͍ͩ͘͞ʂ ‣
Google Cloud Platform εςΩʂ ࠓ͓͢͠Δ͜ͱɿ 3 Tokyo.R #105
4 ‣ Rࣗମʹ͍ͭͯͷʢͨͿΜʣग़͖ͯ·ͤΜɻ ‣ ۩ମతͳઃఆɺԼهςοΫϒϩάΛ͝ࢀর͍ͩ͘͞ɻ ‣ RStudio ServerΛGoogle Cloud RunͰखܰʹӡ༻͢Δ
‣ ʲ2022൛ʳRStudio ServerΛGoogle Cloud RunͰखܰʹӡ༻͢Δ ‣ RStudio ServerͰPythonΛ͍͍ͨ ɹɹɹ(ࠓ͔Βߋ৽Ͱ͖ͯͳ͍͚Ͳɻɻ) ‣ ࠓͦ͜ˢʹॻ͔ͳ͔ͬͨ͜ͱΛओʹ͓͠·͢ɻ …͓͠͠ͳ͍͜ͱɿ Tokyo.R #105
5 ͡·Γɿ ‣ ϚʔέςΟϯάઐ߈ͷ৽ଔࣾһʢ͔͠ݱͷେֶӃੜʣ͕ೖ͖ࣾͯͨ͠ɻ SASSPSSͳͲʹՃ͑ͯR͖ͬͯͨͱͷ͜ͱɻ ‣ ͥͻੳख๏ͱ͔ΛڭΘΓ͍ͨʂͦΕͳΒษڧձΛ্ཱͪ͛Α͏ʂ ‣ ͰࢀՃऀ༗ࢤͷPCʹRStudioΛΠϯετʔϧ͢ΔڐՄग़ͳ͍ͩΖ͏ͳɻɻ
‣ ͦΕͳΒ RStudio Server ͷڥΛ࡞ͬͯɺ࠲ֶʴϋϯζΦϯͰʂ ‣ Αʔ͠ɺύύ͕ΜͬͪΌ͏ͧʂ Tokyo.R #105
6 γεςϜߏͰٻΊͨ͜ͱ ‣ Ͱ͖Δ͚ͩ҆͘ɿඅ༻։ൃνʔϜܦඅͳͷͰ ‣ ϝϯςφϯεϑϦʔɿͦ͜·Ͱख͕ճΒͳ͍ ‣ ͰηΩϡϦςΟ໘Ͱۤ࿑ͨ͘͠ͳ͍ɿ ‣ ѱҙͷ͋Δ߈ܸऀ͔Βͷ৵ೖ
‣ աࣦʹΑΔྲྀग़ Tokyo.R #105 → Google Cloud Run + Identitiy-Aware Proxy Λ͓͏ʂ
7 γεςϜߏ ‣ Google Cloud Runɿ ‣ Dockerͱ͍͏Ծڥͷ࣮ߦڥ ʢTokyo.RͷDocker
fi leΛϕʔεʹ͍͖ͤͯͨͩ͞·ͨ͠ʣ ‣ Քಇ͍ͯ͠Δͱ͖͚࣮ͩମԽ͢Δɿෆ༻࣌ʹফ໓ → අ༻༻͍ͯ͠Δͱ͖͚ͩൃੜ͢Δ → σʔλஔ͖ͬͺͳ͠Ͱ͏͔ͬΓྲྀग़ͱ͍͏ةݥݮΒͤΔ ※ ༻͢ΔσʔλGoogleεϓϨουγʔτ/Google Bigquery͔ΒಡΈࠐΉΑ͏ઃఆ ‣ Identitiy-Aware Proxyɿ ‣ લஈʹGoogleೝূΛஔ͍ͯɺڐՄͨ͠ΞΧϯτͷΈΞΫηεՄೳ ‣ ͦΕҎ֎ RStudio Server (on Cloud Run) ʹ౸ୡ͢Δલʹڋ൱ ‣ ۈઌͰ Google Workspace Λ༻ͯ͠ΔͷͰɺୀ৬ऀͷݖݶണୣෆཁ Tokyo.R #105
8 γεςϜࣨɾηΩϡϦςΟࣨʹঝೝΛಘΔ Tokyo.R #105 ‣ ࢲͷۈઌͰɺൃਃͳͲͷঝೝϧʔτʹγεςϜࣨɾηΩϡϦςΟ͕ࣨೖͬͯ·͢ →ͦͷਃʹɺ͜Μͳײ͡ͷίϝϯτΛ͚ͭ·ͨ͠ ʢ͕͢͞ʹͦͷ··ެ։ͩͱͳΜ͔ݴΘΕͦ͏ͳͷͰɺएׯ΅͔ͯ͠·͢ʣ ։ൃνʔϜͰओ࠵͍ͯ͠Δσʔλੳɾ౷ܭֶͷࣾษڧձ
(౷ܭֶಓ) Ͱ༻͢ΔRݴޠͷ࣮ߦڥ (RStudio Server) ͷΠϯϑϥ༻ྉ Ͱ͢ɻ ʲֹۚ༰ͷઆ໌ʳ 2022ͷ࣮͕ฏۉͯ͠ 3,000ԁ/݄ ఔͰ͋ͬͨͨΊɺ3,000ԁ * 12ϱ݄ * 1.1(ফඅ੫10%) = 39,600ԁ/ ͱࢉग़͠·ͨ͠ɻ අ༻ͷେ෦ (2,500/݄) ηΩϡϦςΟͷͨΊͷϩʔυόϥϯα༻ྉͰ͢ (ID/PWʹΑΔϩάΠϯը໘ͷલஈʹGoogleͷOAuthೝূΛ ஔ͍ͯอޢ͍ͯ͠·͢) ɻຊษڧձͰۀσʔλΛࡐʹͯ͠ͷੳ/σΟεΧογϣϯ (֤෦ͷ্ʹΑΔྃঝࡁΈ) ߦ͍ͬͯΔͨ ΊɺສશΛظͯ͜͠ͷߏʹͨͨ͠Ίʹඅ༻͕ൃੜ͍ͯ͠·͢ɻ ͳ͓࣮ߦڥ༻ͷαʔόΠϯϑϥ (Google Cloud Run) ෆ༻࣌ʹΠϯελϯε͕ফ໓͠σʔλফ͑ΔͨΊɺۀσʔλ͕αʔό্ʹ Γଓ͚Δͱ͍͏͜ͱ͋Γ·ͤΜɻ → ແࣄɺ௨Γ·ͨ͠ʂ
9 ͲΜͲΜઃఆ͢Δ ‣ Tokyo.R͔Βɺಛʹ @bob3bob3 ͞Μ͔Βͨ͘͞ΜڭΘΓ·ͨ͠ʂ ‣ GGally, Summarytools (Tokoy.R
#99 ύʔϚʔεςʔγϣϯͷϖϯΪϯͨͪ #1) ‣ Python (Tokyo.R100ճͳͷͰɺ ͦΖͦΖPythonͱྑ͍ͨ͘͠) Tokyo.R #105 # for GGally and Summarytools # https://github.com/dcomtois/summarytools#required-debian RUN apt-get -y update && apt-get -y install libmagick++-dev libtk8.6 libtcl8.6 RUN Rscript -e "install.packages(c( \ 'GGally', \ 'summarytools'))" # for python 3.11 RUN apt-get -y install software-properties-common RUN add-apt-repository ppa:deadsnakes/ppa RUN apt-get -y update && apt-get -y install python3.11 python3.11-dev python3-pip python3.11-venv curl RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 100 RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 90 RUN curl -sS https://bootstrap.pypa.io/get-pip.py | python3.11 RUN pip install numpy scipy pandas lightgbm optuna RUN Rscript -e "install.packages('reticulate')"
10 ͍͢͝ʂ͍Ζ͍ΖͰ͖Δʂ͏Ε͍͠ʂ Tokyo.R #105
11 ·ͱΊ Tokyo.R #105 ‣ ใηΩϡϦςΟཧʹݫ͍͠ࡢࠓ͚ͩͲɺ͕ΜΕͳΜͱ͔ͳΔɻ ‣ ࣾͷRڥඋͷ͓ʹཱͯΕ͍Ͱ͢ɻ ‣ Tokyo.Rษڧձͷօ͞Μɺ͍ͭ͋Γ͕ͱ͏͍͟͝·͢ʂ
‣ Google Cloud Platform εςΩʂ
12 Enjoy! Tokyo.R #105