Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
みんなでつかう RStudo Server のつくりかた (Tokyo.R #105)
Search
Hisawo Takase
April 22, 2023
Technology
830
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
The seven pitfalls of AI (revised version)
ufried
0
270
生成AIを使って「人が」考える技術 ― AI時代の人機共想と実践ノウハウ|UNITT AC2026
ishiirikie
0
560
Snowflake Horizon Catalog と Apache Iceberg で作る オープンなデータ基盤
kitagawaz
0
440
Codex概要
ymiya55
0
430
SREでアラート疲れを 解決しよう!
kairim0
1
200
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
310
Incremental HTTP
kazuho
5
2.1k
BedrockとLambdaで作る リアルタイム進行型推理ゲーム
kawametho
0
190
AI Made Us Faster at Solving the Wrong Problems
marceloancelmo
0
170
インバスケット試験対策アプリを 作って見えたAIエージェント構築 ナレッジ2選
shichijoyuhi
1
130
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
860
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
300
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
22k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Side Projects
sachag
456
43k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
480
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Designing for Timeless Needs
cassininazir
1
520
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Designing for Performance
lara
611
70k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
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