É o fornecimento de serviços de computação – servidores, armazenamento, bancos de dados, rede, software, análise e muito mais – pela Internet (“a nuvem”).
Fonte: 10 motivos para aderir à nuvem e dar adeus ao servidor
A Amazon Web Services (AWS) é uma plataforma de serviços em nuvem segura, oferecendo poder computacional, armazenamento de banco de dados, distribuição de conteúdo e outras funcionalidades.
#!/bin/bash
#install R
sudo amazon-linux-extras install R3.4
#install RStudio-Server (2018-07-19)
sudo wget https://download2.rstudio.org/rstudio-server-rhel-1.1.456-x86_64.rpm
sudo yum install -y --nogpgcheck rstudio-server-rhel-1.1.456-x86_64.rpm
sudo rm rstudio-server-rhel-1.1.456-x86_64.rpm
#install Shiny and Shiny-Server (2018-07-19)
sudo -i R -e "install.packages(c('shiny', 'rmarkdown', 'plumber'), repos = 'https://cran.fiocruz.br/')"
sudo wget https://download3.rstudio.org/centos6.3/x86_64/shiny-server-1.5.7.907-rh6-x86_64.rpm
sudo yum install -y --nogpgcheck shiny-server-1.5.7.907-rh6-x86_64.rpm
sudo rm shiny-server-1.5.7.907-rh6-x86_64.rpm
#add user(s)
useradd usuário
echo usuário:senha | chpasswd
#permission to folder
sudo chmod 777 /srv/shiny-server
#install R
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install r-base-core r-base-dev libcurl4-openssl-dev libssl-dev libxml2-dev
#updated R
sudo add-apt-repository "deb http://cran.rstudio.com/bin/linux/ubuntu $(lsb_release -sc)/"
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
sudo add-apt-repository ppa:marutter/rdev
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install r-base
#install Shiny and Shiny-Server (2018-07-19)
sudo -i R -e "install.packages(c('shiny', 'rmarkdown', 'plumber', 'gtrendsR', 'dplyr', 'flexdashboard', 'xts', 'dygraphs', 'tbl2xts', 'aws.s3'), repos = 'https://cran.fiocruz.br/')"
wget https://download3.rstudio.org/ubuntu-14.04/x86_64/shiny-server-1.5.7.907-amd64.deb
sudo dpkg -i shiny-server-1.5.7.907-amd64.deb
sudo rm shiny-server-1.5.7.907-amd64.deb
#permission to folder
sudo chmod 777 /srv/shiny-server
OBS: Este script não está automático como o anterior. Os comandos deverão ser inseridos depois de ser iniciada a máquina na nuvem.
Em Public DNS (IPv4) está o endereço de acesso à máquina. O usuário é o ec2-user.
ssh ec2-user@ec2-34-219-66-250.us-west-2.compute.amazonaws.com -i thop.pem
http://ec2-54-202-207-158.us-west-2.compute.amazonaws.com:8787
http://ec2-54-202-207-158.us-west-2.compute.amazonaws.com:3838
http://ec2-54-202-207-158.us-west-2.compute.amazonaws.com:3838/sample-apps/hello/
netstat -ant
:8000Arquivo plumber.R
#' Return the sum of two numbers
#' @param a The first number to add
#' @param b The second number to add
#' @get /sum
#' @html
function(a, b){
paste("<html><h1>=", as.numeric(a) + as.numeric(b), "<html><h1>")
}Baixar arquivo plumber.R na máquina
wget https://gist.githubusercontent.com/th1460/5651ece3822f958c018150db6506b1f4/raw/e47b27570a2a04c74192d177f500d3040db05d75/plumber.R
Inicializar a API no terminal
R -e 'pr <- plumber::plumb("plumber.R"); pr$run(host = "0.0.0.0", port = 8000)'
Digitando no browser o host a porta e os argumentos de acesso à API:
http://ec2-54-200-63-187.us-west-2.compute.amazonaws.com:8000/sum?a=145&b=189
Para dar acessos específicos. É necessária esta etapa para criar o id e senha de acessos para utlizar o AWS CLI.
sudo apt-get install awscli
aws configure
sudo aws s3 cp s3://th1460/shiny_dengue.Rmd /srv/shiny-server/sample-apps/gtrendsR/shiny_dengue.Rmd
require(aws.s3)
Sys.setenv("AWS_ACCESS_KEY_ID" = "AKIAJINKOTYFNMTNTRLQ",
"AWS_SECRET_ACCESS_KEY" = "hsxs3k1ayEr7ruRTLge6HQukpKolJxSGorCTJcOv")
# lista de buckets
bucketlist()
# upload dados no S3
s3saveRDS(x = dados, bucket = "th1460", object = "dados.rds")
# ler dados do S3
s3readRDS(object = "dados.rds", bucket = "th1460")
# deletar dados
delete_object(object = "dados.rds", bucket = "th1460")