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
810
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
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
6
4.6k
Agentic Web
dynamis
1
210
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
7
1.8k
タクシーアプリ『GO』の実践的データ活用
mot_techtalk
3
190
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
390
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
1.1k
AIっぽい文章を採点して人間らしく直すアプリを作ってみた
yama3133
2
130
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
860
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
370
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
840
脆弱性対応、どこで線を引くか
rymiyamoto
1
370
新しいVibe Codingと”自走”について
watany
6
300
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
210k
How STYLIGHT went responsive
nonsquared
100
6.2k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
Evolving SEO for Evolving Search Engines
ryanjones
0
210
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
220
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
380
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
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