Amazon instance type reference
Click to launch through AWS web interface:
Region | 64-bit HVM AMI |
EU West, Ireland | ami-05bf201d51b1db642 |
EU West, London | ami-0b4be5cd9e848fabb |
EU West, Paris | ami-005af3b164a016fac |
EU Central, Frankfurt | ami-076abd591c4335092 |
EU North, Stockholm | ami-0fa80e7cbbc94e3b7 |
Canada, Central | ami-0bdd24fd36f07b638 |
US East, Virginia | ami-0f2290fdad793f863 |
US East, Ohio | ami-07083dcdc7b7e0160 |
US West, N. California | ami-01c4bf25032f468d5 |
US West, Oregon | ami-0dc8133a777c1be2c |
South America, São Paulo | ami-0b900643456dfb4d9 |
Asia Pacific, Singapore | ami-0cba549926c171ab2 |
Asia Pacific, Tokyo | ami-00b6908a3a1faec83 |
Asia Pacific, Hong Kong | ami-9191d2e0 |
Asia Pacific, Seoul | ami-00c627e2e3173aeb7 |
Asia Pacific, Sydney | ami-0c48131b082d5cb01 |
Asia Pacific, Mumbai | ami-0136f51bfeac09417 |
RStudio | 1.3.1073 | 30GB SSD EBS store | ||
R | 4.0.2 | RStudio on port 80 (HTTP) | ||
Julia | (removed) | Shiny at /shiny/rstudio | ||
CUDA | 10.1 | Jupyter at (removed) | ||
Ubuntu | 18.04 LTS | Username: rstudio | Password: <Instance ID> |
What's new recently?
- Updated R and RStudio
- CUDA 10.1 and cuDNN 7.6.5 enabling easy use of GPU instances with Tensorflow/Keras
- Magma 2.5.3 GPU linear algebra library
- Elastic Network Adapter support allowing launching newest instance types, including new Intel Xeon Platinum CPUs with AVX-512 support.
- Julia remains temporarily removed due to global package difficulties
rstudio
, but rather is set to the instance ID of the instance you have launched for greater security (thanks to Colin Gillespie for security report)Amazon’s EC2 platform provides a convenient environment for rapidly procuring computational resources in the cloud. As a Statistician, my interest is specifically in statistical computation with R and the advent of RStudio Server has made it a hand-in-glove fit with the cloud.
To get started with the Amazon cloud, you must first signup for an AWS account if you don’t already have one. To use the AMIs described on this page, you simply click your chosen AMI ID which will take you through to the Amazon web interface and preselect the correct region and AMI. Simply ensure that your ‘security group’ settings allow incoming HTTP (port 80) traffic and then copy-and-paste the ‘Public DNS’ for your running instance to a web browser address bar to bring up the login page.
Click here for a simple video guide to using the AMIs listed here, or for more detailed information read on.
What is this?
If you want to run a server in the Amazon cloud, you have to select what system you are going to bootup. This is made easy by a vast array of system images (or AMIs) which pre-pacakge a system ready for you to boot on your own custom virtual server. Many of these are simply base operating system installs, such as Debian or Ubuntu, but others add on pre-configured extra software into the image to reduce time-to-getting-stuff-done! I have created an AMI specifically targeted at R and RStudio Server with the goal of making it a 1 minute job to get going for anyone with an AWS account.
In particular, many common tools and dependencies are built-in. Features include:
- 30GB EBS storage — compact, but enables storage of more sizeable datasets.
- Defaults to fast SSD storage (faster, zero IO costs, only $1 per month in most regions)
- Easy to use Dropbox integration to up/down-load files and data.
- Setup can be completed entirely through RStudio in the web browser by running a single function.
- Selective syncing supported so that large Dropbox accounts don’t sync everything.
- Unlink and relink to new account supported.
- Full LaTeX support enabling R Markdown, Sweave and regular document compiles within RStudio.
- Java 8 JRE enabling full support for H2O and Spark.
- GDAL dependencies for GIS packages.
- GSL and CURL libraries.
- Database support:
- ODBC drivers installed.
- RMySQL package precompiled and installed.
- Git and Subversion support out of the box.
- MCMC samplers:
- CUDA and cuDNN.
- Enables immediate use of GPU instances (e.g. p2.* instances) without any setup.
- Tensorflow and Keras deep learning libraries can be accelerated using nVidia GPUs on the GPU compute instances, just 3 lines of R code each to setup:
# Tensorflow install.packages("tensorflow") library("tensorflow") install_tensorflow(version = "gpu") # Keras install.packages("keras") library("keras") install_keras(tensorflow = "gpu")
You will then be prompted to install Miniconda: say "Yes" to this option. See the RStudio Keras page and RStudio Tensorflow page for details on using from R. - Also preinstalled Magma GPU linear algebra libraries for accelerated matrix decompositions.
- Swap space for compiling of large packages on constrained memory instances (such as rugarch).
- Arbitrary precision arithmetic and number theory libraries supported out of the box:
- Optimised BLAS for automatically faster matrix operations than base R libraries (OpenBLAS).
Julia?
From May 2016 to September 2018 there was experimental support for Julia (and Python). Julia is an exciting new technical computing language which is very high performance. A lot of R programmers may be interested in levereging both languages, so the AMIs included a web interface (Jupyter) which enabled using Julia immediately.
Unfortunately, with the recent package management system changes, I have had difficulties including the lastest Julia release. This is because Jupyter requires all users to have access to IJulia prior to login, meaning a global package set. This was possible in earlier versions of Julia, but at the time of writing, I have been unable to make the same work with the newest Julias. If you would like to see this functionality return, please contribute to this thread at the Julia community where I have detailed the previous solution and current problems.
Why an RStudio AMI?
The RStudio team have done a phenomenal job with making it simplicity itself to install, but there are still several motivating factors which led to me creating this AMI:
- Although simple, it still takes several minutes to install R and RStudio after the virtual machine is going and this adds up if you do it often.
- More time consuming is getting all the extras one may want such as LaTeX, Git, etc installed.
- Time consuming and fiddly is getting CUDA setup to leverage GPU computing.
- Of course, ‘simple’ is subjective and there are those who don’t know Linux, but want to use RStudio on a server without ever touching a Linux command line.
- Having the full tool stack through to linking a Dropbox account in about 5 seconds means that I can go from zero to having a 36-core machine with over 200GB of RAM with all my code and data synced to a fully functional R environment with all supporting tools in a matter of minutes.
- At the time of writing I couldn’t find any with the standard Amazon search tools and — in the great open-source tradition — that seems like an itch I should scratch!
AMI Release History
Check back for updates as I will be periodically removing old AMIs because I can’t afford indefinite storage for them. For historical purposes, the AMI release history is recorded here (scroll right to see all):
Release | EU West Ireland |
EU West London |
EU West Paris |
EU Central Frankfurt |
EU North Stockholm |
Canada Central |
US East Virginia |
US East Ohio |
US West N. California |
US West Oregon |
South America São Paulo |
Asia Pacific Singapore |
Asia Pacific Tokyo |
Asia Pacific Hong Kong |
Asia Pacific Seoul |
Asia Pacific Sydney |
Asia Pacific Mumbai |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RStudio 1.3.1073 R 4.0.2 CUDA 10.1/cuDNN 7.6.5 Available | 64-bit HVM |
ami-05bf201d51b1db642 | ami-0b4be5cd9e848fabb | ami-005af3b164a016fac | ami-076abd591c4335092 | ami-0fa80e7cbbc94e3b7 | ami-0bdd24fd36f07b638 | ami-0f2290fdad793f863 | ami-07083dcdc7b7e0160 | ami-01c4bf25032f468d5 | ami-0dc8133a777c1be2c | ami-0b900643456dfb4d9 | ami-0cba549926c171ab2 | ami-00b6908a3a1faec83 | ami-9191d2e0 | ami-00c627e2e3173aeb7 | ami-0c48131b082d5cb01 | ami-0136f51bfeac09417 |
RStudio 1.2.1335 R 3.6.0 CUDA 10.0/cuDNN 7.5.1 Available | 64-bit HVM |
ami-0754449f54adcc62d | ami-0e9e5245fffe34a3e | ami-08cd0f9ecf5f0a4c2 | ami-059a2456bd2027e31 | ami-e2a32b9c | ami-09b8f2f441fc21b6f | ami-0226a8af83fcecb43 | ami-09aea2adb48655672 | ami-02bf650155c44b475 | ami-01a01f46103fb6737 | ami-07f82aa15f5fad682 | ami-09bb08039459e1c05 | ami-045e320c21be5a5f1 | ami-5887ff29 | ami-040cb826eb4885a0b | ami-097dd79c1a626b807 | ami-01172262fc72d4421 |
RStudio 1.1.456 R 3.5.1 CUDA 9/cuDNN 7.2.1 Available | 64-bit HVM |
ami-003a0987ccad642ec | ami-0f530f457cea9b2ce | ami-0a4c5ca7ecce53941 | ami-0cccb5af1db2d3ec6 | N/A* | ami-0ccb91fcd3d2460f3 | ami-061a59e27c8da0b93 | ami-02c913b115ea9a608 | ami-0a1ff58b80bb08791 | ami-01d45add662773bed | ami-0c01705f39d74fd21 | ami-07a45f81350cb6584 | ami-06a92d022f66c8d3f | N/A* | ami-03a8b41683339583b | ami-0e2d6f76fea7e91a9 | ami-043085dbe393188c4 |
RStudio 1.1.383 R 3.4.2 Julia 0.6.0 CUDA 8/cuDNN 6 Available | 64-bit HVM |
ami-93805fea | ami-bf6b76db | N/A* | ami-a80db3c7 | N/A* | ami-75c17911 | ami-fd2ffe87 | ami-3b0c205e | ami-7291a312 | ami-bca063c4 | ami-c9344da5 | ami-5b9bde38 | ami-9cbe65fa | N/A* | ami-1280257c | ami-6735d805 | ami-63cb880c |
RStudio 1.0.153 R 3.4.1 Julia 0.6.0 Retired | 64-bit HVM |
ami-f0df2489 | ami-dfdbcbbb | N/A* | ami-0e5cf661 | N/A* | ami-7245fb16 | ami-69909f12 | ami-12d1f277 | ami-ee56628e | ami-013dd679 | ami-6307740f | ami-a13b59c2 | ami-2ea35b48 | N/A* | ami-3b5f8755 | ami-75b0aa16 | ami-2a3c7845 |
RStudio 1.0.143 R 3.4.0 Julia 0.5.2 Retired | 64-bit HVM |
ami-cbd3c6ad | ami-57021533 | N/A* | ami-4421f92b | N/A* | ami-6b5ee20f | ami-65206673 | ami-fe98bf9b | ami-fe42629e | ami-82ccade2 | ami-07bcd26b | ami-c6db5da5 | ami-849fa4e3 | N/A* | ami-f867ba96 | ami-d45246b7 | ami-5ed2af31 |
RStudio 0.99.903 R 3.3.1 Julia 0.4.6 Retired | 64-bit HVM |
ami-b1b0c3c2 | N/A* | N/A* | ami-ca46b6a5 | N/A* | N/A* | ami-8fe18f98 | N/A* | ami-c0b8f5a0 | ami-6a52840a | ami-55079639 | ami-ce9c47ad | ami-1f79b17e | N/A* | ami-41f4212f | ami-b9093fda | N/A* |
RStudio 0.99.896 R 3.3.0 Julia 0.4.5 Retired | 64-bit HVM |
ami-ca149fb9 | N/A* | N/A* | ami-6ec92401 | N/A* | N/A* | ami-0acd2067 | N/A* | ami-ada2dbcd | ami-c78875a7 | ami-af26afc3 | ami-3f9a4c5c | ami-90dd39f1 | N/A* | ami-6e68a000 | ami-72def211 | N/A* |
RStudio 0.99.491 R 3.2.3 Retired | 64-bit HVM |
ami-e95df59a | N/A* | N/A* | ami-52edf33e | N/A* | N/A* | ami-7f9dc615 | N/A* | ami-d1e792b1 | ami-1d7f657c | ami-50f1703c | ami-b277bad1 | ami-2549744b | N/A* | N/A* | ami-a54a6fc6 | N/A* |
RStudio 0.99.484 R 3.2.2 Retired | 64-bit HVM |
ami-776d5a00 | N/A* | N/A* | ami-88bab895 | N/A* | N/A* | ami-753e7c10 | N/A* | ami-b733f5f3 | ami-0ea84c3d | ami-2b24b336 | ami-22b6a070 | ami-a449d2a4 | N/A* | N/A* | ami-1170382b | N/A* |
RStudio 0.99.447 R 3.2.1 Retired | 64-bit HVM |
ami-0c13557b | N/A* | N/A* | ami-4c360d51 | N/A* | N/A* | ami-47a6622c | N/A* | ami-a7cc3ae3 | ami-55353265 | ami-99c34e84 | ami-f4dbdda6 | ami-bca606bc | N/A* | N/A* | ami-d57336ef | N/A* |
RStudio 0.98.1103 R 3.2.0 Retired | 64-bit HVM |
ami-a76705d0 | N/A* | N/A* | ami-f8a995e5 | N/A* | N/A* | ami-628c8a0a | N/A* | ami-45c72a01 | ami-a9596d99 | ami-cb1b9ed6 | ami-a4cef3f6 | ami-84539484 | N/A* | N/A* | ami-2581fc1f | N/A* |
RStudio 0.98.1103 R 3.1.3 Retired | 64-bit HVM |
ami-a544dad2 | N/A* | N/A* | ami-bc0538a1 | N/A* | N/A* | ami-bc5877d4 | N/A* | ami-e7a140a3 | ami-73ad8143 | ami-6907bf74 | ami-2897a67a | ami-47f90f47 | N/A* | N/A* | ami-65ec9c5f | N/A* |
RStudio 0.98.1091 R 3.1.2 Retired | 64-bit HVM |
ami-368c3241 | N/A* | N/A* | ami-5275454f | N/A* | N/A* | ami-a0c7a6c8 | N/A* | ami-01dcce44 | ami-418fde71 | ami-6314a47e | ami-2978577b | ami-58636c59 | N/A* | N/A* | ami-3f84ec05 | N/A* |
RStudio 0.98.1060 R 3.1.1 Retired | 64-bit | ami-ae05a1d9 | N/A* | N/A* | N/A* | N/A* | N/A* | ami-4e4ce226 | N/A* | ami-47f3fa02 | ami-614b0b51 | ami-fb9832e6 | ami-46012514 | ami-658da164 | N/A* | N/A* | ami-ef6a09d5 | N/A* |
RStudio 0.98.501 R 3.1.0 Retired | 64-bit | ami-2f7d8658 | N/A* | N/A* | N/A* | N/A* | N/A* | ami-7376691a | N/A* | ami-a6b68fe3 | ami-b00c6680 | ami-ed2785f0 | ami-4a356618 | ami-b3b5ccb2 | N/A* | N/A* | ami-0b41d931 | N/A* |
RStudio 0.98.501 R 3.0.3 Retired | 64-bit | ami-470ff130 | N/A* | N/A* | N/A* | N/A* | N/A* | ami-930f18fa | N/A* | ami-76e9d733 | ami-04c7ae34 | ami-abdc7eb6 | ami-f06131a2 | ami-4599e444 | N/A* | N/A* | ami-d9cb53e3 | N/A* |
RStudio 0.97.551 R 3.0.1 Retired | 64-bit | ami-6bfeed1f | N/A* | N/A* | N/A* | N/A* | N/A* | ami-69fa8d00 | N/A* | ami-2387a966 | ami-1ffd6d2f | ami-1c832601 | ami-7cc28c2e | ami-b747ccb6 | N/A* | N/A* | ami-05b7243f | N/A* |
RStudio 0.97.320 R 2.15.3 Retired | 64-bit | ami-4ab7bf3e | N/A* | N/A* | N/A* | N/A* | N/A* | ami-0ed24c67 | N/A* | ami-90705dd5 | ami-6868fd58 | ami-9b33e886 | ami-4cfab71e | ami-5151d050 | N/A* | N/A* | ami-2848d912 | N/A* |
RStudio 0.97.245 R 2.15.2 Retired | 64-bit | ami-e6b5b892 | N/A* | N/A* | N/A* | N/A* | N/A* | ami-f129ab98 | N/A* | ami-4686a703 | ami-d677ffe6 | ami-f3fc24ee | ami-9d0745cf | ami-d0fd46d1 | N/A* | N/A* | ami-1f48df25 | N/A* |
RStudio 0.95.256 R 2.14.1 Retired |
32 bit | ami-4b3c023f | N/A* | N/A* | N/A* | N/A* | ami-13f1207a | N/A* | ami-61174e24 | ami-5852df68 | ami-504b944d | ami-e02460b2 | ami-50863051 | N/A* | N/A* | N/A* | ||
64 bit | ami-0b3c027f | N/A* | N/A* | N/A* | N/A* | ami-a5f120cc | N/A* | ami-6b174e2e | ami-5c52df6c | ami-524b944f | ami-e82460ba | ami-58863059 | N/A* | N/A* | N/A* | |||
RStudio 0.94.110 R 2.14.0 Retired |
32 bit | ami-438cb137 | N/A* | N/A* | N/A* | N/A* | ami-83a961ea | N/A* | ami-47530c02 | ami-848c01b4 | N/A* | ami-b4dda7e6 | ami-30e65131 | N/A* | N/A* | N/A* | ||
64 bit | ami-1184b965 | N/A* | N/A* | N/A* | N/A* | ami-53be763a | N/A* | ami-f74e11b2 | ami-9c8f02ac | N/A* | ami-28d1ab7a | ami-7ee3547f | N/A* | N/A* | N/A* | |||
RStudio 0.92.94 R 2.13.1 Retired |
32 bit | ami-a06e5dd4 | N/A* | N/A* | N/A* | N/A* | ami-2b77b642 | N/A* | ami-1d411c58 | N/A* | N/A* | ami-08770c5a | ami-ee893cef | N/A* | N/A* | N/A* | ||
64 bit | ami-b86e5dcc | N/A* | N/A* | N/A* | N/A* | ami-2d77b644 | N/A* | ami-1f411c5a | N/A* | N/A* | ami-0a770c58 | ami-ec893ced | N/A* | N/A* | N/A* |
Regions, 32-bit, 64-bit, HVM???
There are a lot of AMIs to maintain because Amazon have a relatively complicated set of options for running virtual servers. Recently that has simplified so that the only major choice to make is what region you would like to run in, because all instance types now support 64-bit and HVM (the highest performance).
Choosing a region close to you should help reducing latency. More advanced users may choose the cheapest region for a spot instance.
Once you have chosen, simply click on the link above to be taken straight to the AWS launch page and login to your account.
Usage
Simply launch an instance using the appropriate AMI ID (above) for your region and ensure that the security group you setup allows (as a minimum) inbound HTTP (port 80) traffic. Once your instance moves from the “pending” to “running” state, then copy and paste the public DNS address or IP address from the instance properties to your browser and you should receive an RStudio login page. The default login details are:
Username: | rstudio |
Password: | <Your instance ID> |
You will then be in and able to use R straight away. It is highly recommended you change the password immediately and an easy means of doing this is explained upon login in the script that is loaded there. However, users who are comfortable with Linux can follow the usual procedure for changing system user passwords via SSH or the Terminal tab within the RStudio interface if they prefer. Advanced users should also note that the rstudio user can use sudo.
Likewise, publicly visible Shiny apps can be accessed at /shiny/username
(e.g. /shiny/rstudio
for the default user). To make shiny apps visible, they should be placed in a folder named ShinyApps
in the user’s home directory.
The AMI now ships with a package called RStudioAMI
preloaded. Currently this contains two main areas of functionality:
-
The ability to change the login password for the rstudio user by using the
passwd()
function, without having to resort to SSH. -
Support for setting up Dropbox syncing. The function
linkDropbox()
makes it easy to link the server to a Dropbox account, so that files and data can be incredibly easily synced in and out. Simply load the package, run thelinkDropbox()
function and follow the instructions (there may be a pause while everything is setup).- Note, this will initially begin syncing your entire Dropbox. If this is large then it could take some time and may run out of space due to the small EC2 EBS drive space, so it is highly recommeneded to selectively sync just some folders. To achieve this, use
excludeSyncDropbox()
to specify what to exclude andincludeSyncDropbox()
to include items to sync. Note that a common usage pattern would be to initially runexcludeSyncDropbox("*")
to exclude everything from syncing and then to sync just the appropriate folder (say,myFolder
), follow this with a callincludeSyncDropbox("myFolder")
. These sync functions take several seconds to run.
- Note, this will initially begin syncing your entire Dropbox. If this is large then it could take some time and may run out of space due to the small EC2 EBS drive space, so it is highly recommeneded to selectively sync just some folders. To achieve this, use
Share |
Follow |