Visão geral do laboratório
Neste laboratório, você aprenderá a implantar, modificar e invocar aplicações .NET na nuvem AWS usando um ambiente de desenvolvimento integrado (IDE) e uma Command Line Interface (CLI). Este laboratório fornece uma instância do AWS Cloud9 para uso como IDE e é instalada com as ferramentas necessárias para o laboratório. Os projetos .NET aproveitam o serviço AWS Lambda para uma arquitetura sem servidor e recursos de computação para executar o código que você implanta.
Objetivos
Ao final deste laboratório, você será capaz de fazer o seguinte:
- Criar e implantar uma aplicação web .NET sem servidor no AWS Lambda usando um modelo AWS Serverless Application Model (AWS SAM).
- Criar e implantar uma aplicação .NET na função do AWS Lambda que faz chamadas para o serviço Amazon Simple Storage Service (Amazon S3) e retorna valores.
- Invocar uma função do AWS Lambda implantada usando a command line interface (CLI) do .NET.
- Criar e implantar uma aplicação .NET no AWS Lambda que invoca outra aplicação .NET no AWS Lambda.
Pré-requisitos de conhecimentos técnicos
Para concluir este laboratório com sucesso, é preciso ter um conhecimento básico dos serviços da AWS, conforme definido no curso AWS Cloud Practitioner Essentials. Você deve estar familiarizado com a navegação no console de gerenciamento da AWS, a interface AWS Cloud9 para o IDE e os comandos da CLI do .NET.
Duração
Este laboratório levará aproximadamente 60 minutos para ser concluído.
Lista de ícones
Vários ícones são usados neste laboratório para chamar a atenção para diferentes tipos de instruções e observações. A lista a seguir explica a finalidade de cada ícone:
- Comando: um comando que você precisa executar.
- Saída esperada: um exemplo que você pode usar para verificar a saída de um comando ou arquivo editado.
- Informações adicionais: onde encontrar mais informações.
- AVISO: informações de interesse ou importância especiais (não tão importantes a ponto de causar problemas com o equipamento ou dados caso você não as veja, mas que possam resultar na necessidade de repetir determinadas etapas).
- Observação: uma sugestão, dica ou orientação importante.
- Exemplo: fornece um exemplo de um comando ou código a ser usado.
Ambiente do laboratório
Neste laboratório, você usa a CLI do .NET e a AWS Command Line Interface (AWS CLI) de um shell no IDE. Este laboratório começa com uma única instância do IDE do AWS Cloud. O IDE do AWS Cloud9 fornecido a você neste laboratório vem instalado com o Kit de Desenvolvimento de Software (SDK) do .NET, no SDK do ASP.NET, na AWS CLI e nos pacotes e extensões do AWS SDK para o .NET. Em algumas tarefas de laboratório, você cria e implanta funções do AWS Lambda. As funções do AWS Identity and Access Management (AWS IAM) necessárias para essas funções são fornecidas neste laboratório. Além disso, um bucket do Amazon S3 é fornecido neste laboratório para armazenamento e teste das funções do AWS Lambda.
Quando você inicia o laboratório, o ambiente contém os recursos exibidos no diagrama a seguir:
Descrição da imagem: o ambiente inicial do laboratório contém uma instância do AWS Cloud9 em uma sub-rede pública dentro de um Amazon VPC e um bucket do Amazon S3 colocado fora do Amazon VPC. Três perfis do IAM são fornecidos pelo laboratório: AspNetCoreWebAppRoleARN, GetS3BucketsRole e InvokeGetS3BucketsRole
Ao final deste laboratório, você terá criado a arquitetura mostrada no diagrama a seguir:
Descrição da imagem: a imagem do ambiente inicial do laboratório contém uma instância do AWS Cloud9 em uma sub-rede pública dentro de um Amazon VPC. Três perfis do IAM são fornecidos pelo laboratório: AspNetCoreWebAppRoleARN, GetS3BucketsRole e InvokeGetS3BucketsRole. Existem três funções do AWS Lambda criadas durante este laboratório. Elas são: AspNetCoreFunction, GetS3Buckets e GetS3BucketsCallFromLambdaFunction. Os recursos adicionais desenvolvidos durante este laboratório incluem: um API Gateway chamado AspNetCoreApi.
Serviços usados neste laboratório
AWS Cloud9
Um ambiente de desenvolvimento integrado (IDE) da nuvem para gravação, execução e depuração do código
AWS Lambda
O AWS Lambda é um serviço computacional sem servidor e orientado por eventos, que permite executar código para praticamente qualquer tipo de aplicação ou serviço de back-end sem provisionar ou gerenciar servidores.
Amazon S3
O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos que oferece dimensionamento, disponibilidade de dados, segurança e desempenho que lideram o setor.
AWS Serverless Application Model (SAM)
O AWS Serverless Application Model (SAM) é um framework de código aberto para criar aplicações sem servidor. Ele fornece sintaxe simplificada para expressar funções, APIs, bancos de dados e mapeamentos de origem de evento. Com apenas algumas linhas por recurso, você pode definir a aplicação que deseja e modelá-la usando YAML. Durante a implantação, o SAM transforma e expande a sintaxe do SAM na sintaxe do AWS CloudFormation, permitindo criar aplicações sem servidor mais rapidamente.
Serviços da AWS não usados neste laboratório
O ambiente do laboratório segue as permissões do princípio de menor privilégio. Por exemplo, as ações que você executa são limitadas somente às necessárias para concluir as tarefas do laboratório e os objetivos de aprendizado. O acesso aos serviços da AWS que não são necessários para concluir as tarefas do laboratório é restrito. Ocorrerão erros se você tentar executar ações além daquelas fornecidas pelo guia do laboratório.
Informações adicionais: para saber mais sobre esse conceito, acesse o link permissões do princípio de menor privilégio fornecido na seção de recursos adicionais.