RStudio na Amazon Web Services

A plataforma

A Amazon Web Services (AWS) é uma plataforma de computação em nuvem assim como o Google Cloud e Azure. Uma de suas principais funcionalidades é o “EC2”, um que permite que o usuário utilize máquinas virtuais com dados alocados na nuvem para diversas finalidades. Além da computação em nuvem, o site possui um fórum onde cada usuário pode relatar sua experiência ou fazer perguntas relacionadas a plataforma, oferece suporte ao usuário direto da AWS (apenas para usuários pagos) e uma série de materiais de aprendizado que contam com tutoriais, vídeos e projetos para que o processo de adaptação à plataforma seja feito da melhor forma possível. Um de seus pontos fortes é a capacidade que o usuário tem de operar seu servidor de qualquer lugar e em qualquer computador desde que possua conexão com a internet, um programa para autenticar sua chave SSH e o arquivo SSH Key Pair. Outra característica importante da AWS é o poder de processamento disponível, há uma grande variedade de instâncias a escolha, com até 128 núcleos virtuais e 3904 GB de RAM. Enquanto todo esse hardware ocuparia um grande espaço físico e teria um custo de aquisição e manutenção altíssimo, a plataforma permite que o usuário opere tudo direto do seu computador pagando uma certa quantia por hora de uso.

RStudio na AWS

Para utilizar O Amazon EC2 é necessário escolher uma imagem para o sistema, essas imagens se chamam Amazon machine images (AMI) e definem o software com as especificações desejadas. Há opções de AMIs disponíveis gratuitamente pela amazon, AMIs que podem ser compradas no AWS Marketplace, AMIs feitos pela comunidade e também é possível escolher um AMI criado por você mesmo. Este artigo utilizara o RStudio como exemplo. A linguagem R é utilizada principalmente para analises estatísticas e plotagem de gráficos, ela é bastante usada em finanças e há alguns exemplos de seu uso no mercado financeiro em artigos já publicados pelo clube. RStudio é um ambiente de desenvolvimento do R, é o programa que é usado para escrever e rodar o código, nesse exemplo usaremos o AMI de RStudio em Linux Ubuntu feito por Louis Aslett.

Os planos de suporte

Para criar uma conta na AWS é necessário escolher um plano de suporte. Estes pacotes de suporte se diferenciam entre si pela quantidade de serviços oferecidos e pela rapidez de resposta. Para contas pessoais há três principais tipos de planos que podem ser escolhidos, o Plano Básico, o Plano Desenvolvedor e o Plano Business, há também o Plano Entreprise, que como o próprio nome diz é destinado a empresas, este custa 15.000 dólares por mês e oferece suporte de alto nível no menor tempo de de resposta possível.

Criando o servidor

Após você cadastrar sua conta e logar na AWS aparecerá uma série de opções de criação no console de gerenciamento, selecione “Executar uma máquina virtual com EC2”.

Em seguida selecione a zona de disponibilidade mais próxima da sua localização, que no caso dos usuários na américa do sul seria a zona de São Paulo.

Escolhendo a imagem e instância

Nesta etapa você escolhe a imagem que será usada na máquina. Como dito anteriormente, será usado um AMI RStudio de Louis Aslett. Na barra de pesquisa de AMIs procure por “rstudio louis aslett ” na seção “Community AMIs” e selecione a versão mais recente do RStudio.

E então escolhe a instância que será utilizada. A instância que define as especificações da maquina virtual criada, escolha de acordo com a necessidade de poder de processamento que o seu programa requer. Nesse caso será utilizado a versão grátis t2.micro, que possui um núcleo virtual de 2,5GHz e 1 GB de memória e será o suficiente para realizar tarefas básicas.

Configurando detalhes da instância e armazenamento

Na página de configurações da instância é possível adicionar algum software (como pacotes para o R), também é possível instalar os softwares desejados por comandos após a instância ser criada. Você pode deixar as configurações padrão e seguir para a adição de armazenamento. O armazenamento da versão grátis pode ser de até 30 GB, o tamanho padrão de 20 GB deve ser o suficiente para guardar os dados a serem utilizados nessa máquina virtual.

Nomeando a instância

Para criar a tag do servidor você pode colocar um nome (key) e uma descrição (value)

Configurando a segurança

Agora é a etapa em que será criada a chave SSH e que possibilitará o seu servidor ser acessado de qualquer lugar pelo usando a chave SSH ou conectando por um browser. Selecione a opção de criar um novo grupo de segurança, e, além do tipo padrão SSH de segurança adicione uma regra de tipo HTTP. É importante ressaltar que a fonte de cada regra deve ser deixada na opção “Anywhere” (caso você queria que seja possível acessar seu servidor de qualquer IP), ou deixar especificado os IPs que tem permissão de acessar a instância (caso você queira restringir os locais de que seu servidor pode ser acessado).

Conectando ao RStudio

Com tudo já preparado finalmente é possível acessar o servidor. Para acessá-lo copie o “Public DNS” do seu servidor, que aparecerá para você em sua lista de instâncias, e cole em seu navegador. Ao entrar na tela de login coloque o nome de usuário “rstudio” e a senha será seu ID de instância, por padrão, caso você não tenha mudado.

Então seu RStudio estará pronto para ser usado, funcionando normalmente como um RStudio padrão de computador da mesma versão.

Fontes: 1. https://kinsta.com/blog/google-cloud-vs-aws 2. https://aws.amazon.com/pt/about-aws/global-infrastructure 3. http://strimas.com/r/rstudio-cloud-1 4. http://www.louisaslett.com/RStudio_AMI

Posted by Erik Naoki Kawano

Leave a Reply

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

This site uses Akismet to reduce spam. Learn how your comment data is processed.