R é uma linguagem de programação analítica popular usada por cientistas e analistas de dados para realizar processamento de dados, realizar análises estatísticas, criar visualizações de dados e construir modelos de aprendizado de máquina (ML). RStudio, o ambiente de desenvolvimento integrado para R, fornece ferramentas de código aberto e software profissional pronto para empresas para que as equipes desenvolvam e compartilhem seu trabalho em toda a organização.
A implementação do ambiente RStudio na AWS fornece elasticidade e escalabilidade que você não tem ao implantar no local, eliminando a necessidade de gerenciar essa infraestrutura. Você pode selecionar a computação e a memória desejadas com base nos requisitos de processamento e também pode aumentar ou diminuir a escala para trabalhar com cargas de trabalho analíticas e de ML de diferentes tamanhos sem um investimento inicial. Isso permite que você experimente rapidamente novas fontes de dados e código e implemente novos processos de análise e modelos de ML para o restante da organização. Você também pode integrar perfeitamente seus recursos do Data Lake para disponibilizá-los para desenvolvedores e cientistas de dados e proteger os dados usando controles de acesso em nível de linha e coluna de Formação AWS Lake.
Esta postagem apresenta duas maneiras de implantar e executar facilmente o RStudio na AWS para acessar dados armazenados no data lake:
- Totalmente gerenciado em Amazon Sage Maker
- Auto-hospedado em Amazon Elastic Compute Nuvem (Amazon EC2)
- Você pode optar por implantar a versão de código aberto do RStudio usando uma abordagem hospedada no EC2 que também descreveremos neste post. A opção auto-hospedada requer que o administrador crie uma instância do EC2 e instale o RStudio manualmente ou usando um Formação da Nuvem AWS Também há menos flexibilidade para implementar controles de acesso de usuário nessa opção, pois todos os usuários têm o mesmo nível de acesso nesse tipo de implementação.
RStudio no Amazon SageMaker
Você pode iniciar o RStudio Workbench com um simples clique no SageMaker. Com o SageMaker, os clientes não precisam arcar com a sobrecarga operacional de construir, instalar, proteger, dimensionar e manter o RStudio, eles não precisam pagar pelo RStudio Server em execução contínua (se estiverem usando t3.medium) e pagam apenas para computação RSession quando eles a usam. Os usuários do RStudio terão flexibilidade para dimensionar dinamicamente a computação alternando instâncias em tempo real. A execução do RStudio no SageMaker requer que um administrador estabeleça um domínio do SageMaker e perfis de usuário associados. Você também precisa de uma licença apropriada do RStudio
No SageMaker, você pode conceder acesso ao administrador do RStudio e ao nível de usuário do RStudio, com permissões diferentes. Apenas perfis de usuário com uma dessas duas funções podem acessar o RStudio no SageMaker. Para obter mais informações sobre as tarefas do administrador para configurar o RStudio no SageMaker, consulte Comece a usar o RStudio no Amazon SageMaker. Essa postagem também mostra o processo de seleção de instâncias do EC2 para cada sessão e como o administrador pode restringir as opções de instância do EC2 para usuários do RStudio.
Use o acesso de segurança em nível de linha e coluna do Lake Formation
Além de permitir que sua equipe inicie sessões do RStudio no SageMaker, você também pode proteger o data lake usando controles de acesso em nível de linha e coluna do Lake Formation. Para obter mais informações, consulte Data lakes eficazes usando o AWS Lake Formation, Parte 4: Implementando a segurança em nível de célula e em nível de linha.
Por meio dos controles de segurança do Lake Formation, você pode garantir que cada pessoa tenha o acesso correto aos dados no data lake. Considere os dois perfis de usuário a seguir no domínio SageMaker, cada um com uma função de execução diferente:
Perfil de usuário | Função de execução |
rstudiouser-fullaccess |
AmazonSageMaker-ExecutionRole-FullAccess |
rstudiouser-limitedaccess |
AmazonSageMaker-ExecutionRole-LimitedAccess |
A captura de tela a seguir mostra o rstudiouser-limitedaccess
Detalhes de perfil.
A captura de tela a seguir mostra o rstudiouser-fullaccess
Detalhes de perfil.
O conjunto de dados usado para este post é um Conjunto de dados públicos COVID-19. A captura de tela a seguir mostra um exemplo dos dados:
Depois de criar o perfil de usuário e atribuí-lo à função apropriada, você pode acessar o Lake Formation para rastrear os dados com Cola AWS, crie os metadados e a tabela e conceda acesso aos dados da tabela. Para o AmazonSageMaker-ExecutionRole-FullAccess
função, você concede acesso a todas as colunas na tabela e, para AmazonSageMaker-ExecutionRole-LimitedAccess
, você concede acesso usando o filtro de dados USA_Filter
. Usamos esse filtro para fornecer permissões de coluna em nível de linha e de célula (consulte o Recursos coluna na captura de tela a seguir).
Conforme mostrado na captura de tela a seguir, a segunda função tem acesso limitado. Os usuários associados a esta função só podem acessar o continent
, date
, total_cases
, total_deaths
, new_cases
, new_deaths
e iso_codecolumns
.
Com as permissões de função anexadas a cada perfil de usuário, podemos ver como o Lake Formation impõe as permissões apropriadas em nível de linha e coluna. Você pode abrir o RStudio Workbench a partir do Lançamento do Aplicativo menu suspenso na lista de usuários criada e escolha RStudio.
Na captura de tela a seguir, iniciamos o aplicativo como o rstudiouser-limitedaccess user
.
Você pode ver a página inicial do RStudio Workbench e uma lista de sessões, projetos e conteúdo publicado.
Escolha um nome de sessão para iniciar a sessão no SageMaker. Instale o Paws (consulte as orientações anteriores neste post) para que você possa acessar os serviços apropriados da AWS. Agora você pode executar uma consulta para extrair todos os campos do conjunto de dados por meio de Amazona atena, usando o comando “SELECT * FROM "databasename.tablename"
e armazene a saída da consulta em um Serviço de armazenamento simples da Amazon (Amazon S3).
A captura de tela a seguir mostra os arquivos de saída no bucket do S3.
A captura de tela a seguir mostra os dados nesses arquivos de saída usando Seleção do Amazon S3.
Apenas dados dos EUA e colunas continente, data, total_cases
, total_deaths
, new_cases
, new_deaths
e iso_code
são mostrados no resultado para rstudiouser-limitedaccess
usuário.
Vamos repetir os mesmos passos para o rstudiouser-fullaccess
usuário.
Você pode ver a página inicial do RStudio Workbench e uma lista de sessões, projetos e conteúdo publicado.
Vamos executar a mesma consulta “SELECT * FROM "databasename.tablename"
usando Atena.
A captura de tela a seguir mostra os arquivos de saída no bucket do S3.
A captura de tela a seguir mostra os dados nesses arquivos de saída usando Seleção do Amazon S3.
Como mostrado neste exemplo, o rstudiouser-fullaccess
o usuário tem acesso a todas as colunas e linhas no conjunto de dados.
Auto-hospedado no Amazon EC2
Se você quiser começar a experimentar a versão de código aberto do RStudio na AWS, poderá instalar o Rstudio em uma instância do EC2. Este modelo do CloudFormation fornecido nesta postagem provisiona a instância do EC2 e instala o RStudio usando o script de dados do usuário. Você pode executar o modelo várias vezes para provisionar várias instâncias do RStudio conforme necessário e usá-lo em qualquer região da AWS. Depois de implantar o modelo do CloudFormation, ele fornece uma URL para acessar o RStudio de um navegador da web. O Amazon EC2 permite que você aumente ou diminua a escala para lidar com alterações no tamanho dos dados e na capacidade de computação necessária para executar suas análises.
Crie um par de valores-chave para acesso seguro
A AWS usa criptografia de chave pública para proteger as informações de login da sua instância do EC2. Você especifica o nome do par de chaves no KeyPair
parâmetro ao iniciar o modelo do CloudFormation. Em seguida, você pode usar a mesma chave para fazer login na instância do EC2 provisionada posteriormente, se necessário.
Antes de executar o modelo do CloudFormation, verifique se você tem o par de chaves do Amazon EC2 na conta da AWS que planeja usar. Se não, então consulte Criar um par de chaves usando o Amazon EC2 para obter instruções para criar um.
Inicie o modelo do CloudFormationFaça login no console do CloudFormation no us-east-1
Região e escolha Iniciar Pilha.
Você deve inserir vários parâmetros no modelo do CloudFormation:
- InitialUser e InitialPassword – O nome de usuário e a senha que você usa para fazer login na sessão do RStudio. Os valores padrão são
rstudio
eRstudio@123
, Respectivamente. - Tipo de instância – O tipo de instância do EC2 no qual implantar o servidor RStudio. Atualmente, o modelo aceita todas as instâncias nas famílias de instâncias t2, m4, c4, r4, g2, p2 e g3 e pode incorporar facilmente outras famílias de instâncias. O valor padrão é t2.micro.
- Par de Chaves – O par de chaves que você usa para efetuar login na instância do EC2.
- VpcId e SubnetId - A Nuvem privada virtual da Amazon (Amazon VPC) e sub-rede na qual iniciar a instância.
Depois de inserir esses parâmetros, implante o modelo do CloudFormation. Quando estiver concluído, os seguintes recursos estarão disponíveis:
- Uma instância do EC2 com o RStudio instalado.
- Uma função do IAM com as permissões necessárias para se conectar a outros serviços da AWS.
- Um grupo de segurança com regras para abrir a porta 8787 para o Servidor RStudio.
Faça login no RStudio
Agora você está pronto para usar o RStudio! Vou ao Saídas guia para a pilha do CloudFormation e copie o valor da URL do RStudio (está no formato http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/
). Digite esse URL em um navegador da web. Isso abre sua sessão do RStudio, na qual você pode fazer login usando o mesmo nome de usuário e senha fornecidos durante a execução do modelo do CloudFormation.
Acesse os serviços da AWS a partir do RStudio
Após acessar a sessão do RStudio, você deve instalar o R Package for AWS (Paws). Isso permite que você se conecte a muitos serviços da AWS, incluindo serviços e recursos em seu data lake. Para instalar o Paws, insira e execute o seguinte código R:
Para usar um serviço da AWS, crie um cliente e acesse as operações do serviço desse cliente. Ao acessar as APIs da AWS, você deve fornecer suas credenciais e região. O Paws pesquisa as credenciais e a região usando a cadeia de autenticação da AWS:
- Chave de acesso, chave secreta, token de sessão, perfil ou região fornecida explicitamente
- Variáveis de ambiente R
- Variáveis de ambiente do sistema operacional
- Credenciais compartilhadas e arquivos de configuração da AWS em
.aws/credentials
e.aws/config
- Função do IAM do contêiner
- Função do IAM da instância
Como você está executando em uma instância do EC2 com uma função do IAM anexada, o Paws usa automaticamente suas credenciais de função do IAM para autenticar solicitações de API da AWS.
Para ambiente de produção, recomendamos o uso da solução escalável Rstudio descrita em este blog.
Conclusão
Você aprendeu a implantar seu ambiente RStudio na AWS. Demonstramos as vantagens de usar o RStudio no Amazon SageMaker e como você pode começar. Você também aprendeu como começar a experimentar rapidamente a versão de código aberto do RStudio usando uma instalação auto-hospedada usando o Amazon EC2. Também demonstramos como integrar o RStudio em suas arquiteturas de data lake e implementar controle de acesso refinado em uma tabela de data lake usando o recurso de segurança em nível de linha e de célula do Lake Formation.
Em nosso próximo post, vamos demonstrar como conteinerizar scripts R e executá-los usando AWS Lambda.
Sobre os autores
Venkata Campana é um arquiteto de soluções sênior na equipe de serviços humanos e de saúde da AWS e mora em Sacramento, CA. Nessa função, ele ajuda os clientes do setor público a atingir seus objetivos de missão com soluções bem arquitetadas na AWS.
Dra. Dawn Heisey-Grove é o líder de análise de saúde pública da equipe de governo estadual e local da Amazon Web Services. Nessa função, ela é responsável por ajudar agências de saúde pública estaduais e locais a pensar de forma criativa sobre como atingir seus desafios de análise e metas de longo prazo. Ela passou sua carreira encontrando novas maneiras de usar dados novos ou existentes para apoiar a vigilância e a pesquisa em saúde pública.
- AI
- arte ai
- gerador de arte ai
- ai robô
- Amazon Sage Maker
- inteligência artificial
- certificação de inteligência artificial
- inteligência artificial em bancos
- robô de inteligência artificial
- robôs de inteligência artificial
- software de inteligência artificial
- Aprendizado de máquina da AWS
- blockchain
- conferência blockchain ai
- Coingenius
- inteligência artificial conversacional
- conferência de criptografia ai
- dall's
- deep learning
- google ai
- aprendizado de máquina
- platão
- platão ai
- Inteligência de Dados Platão
- Jogo de Platão
- PlatãoData
- jogo de platô
- escala ai
- sintaxe
- zefirnet