This blog is a quick guide to setting up an RStudio server on Amazon Web Services. The credits should be given to Louis Aslett for setting up the Amazon Machine Images and making life easier for all of us.
Step 1 : creating an AWS account
A free account give access to the t2.micro serves, which means that you can run it for 750 hours a month.
Step 2: choosing an Amazon Machine Image (AMI) prepared by Louis Aslett
I can be painfully to boot your own virtual machine and install R and RStudio yourself. Louis Aslett has already done the job for us and this is a huge service to the community!!!
He has prepared some virtual machines for us and installed R,RStudio, Latex, etc. for us. You can choose one of the AMIs based on your location and the links will direct you to choose an instance type (the default is the free tier t2.micro). We can rely on the default settings until ‘Step 6: Configure Security Group”. Click on “Add Rule” and select “HTTP”, to allow internet traffic to this instance, and change “Source” to specify one IP address or an IP address range. Setting “Source” to “Anywhere” allows all IP addresses to access the instance and you can also set it to “My IP”. You can also create a new security group on this page.
While this is not secure, we can “proceed without a key pair” to launch the instances.
Step 3: changing password for the RStudio Server
It can take a few minutes to launch the instance. Once the instance is “running”, you can copy and paste the “Public IPv4 address” from the instance summary to your browser. You will see a RStudio Server. The initial username is “rstudio” and the password is “<Your instance ID>”.
This AMI comes with a pre-installed and loaded package “RStudioAMI”. We can use the the function passwd()
to change the password for the RStudio server.
Step 4: Link Dropbox or Github repository
If you use Dropbox to sync files, you can get started by running the function linkDropbox()
. Of course we do not want to sync our entire Dropbox account here. We can sync our project folder by excludeSyncDropbox("*")
followed by includeSyncDropbox("projectFolder")
. It seems to me that we can only sync directories differently under Dropbox, not subdirectories like “projectFolder/subDir”.