Explore o novo chatbot do Developer Center! O MongoDB AI chatbot pode ser acessado na parte superior da sua navegação para responder a todas as suas perguntas sobre o MongoDB .

Saiba por que o MongoDB foi selecionado como um líder no 2024 Gartner_Magic Quadrupnt()
Desenvolvedor do MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
Atlaschevron-right

Hospedando com segurança um aplicativo Lambda com uma arquitetura de microsserviço e MongoDB Atlas

BS
como
Babu Srinivasan, Igor Alekseev, Ashwin S.4 min read • Published Sep 19, 2024 • Updated Sep 19, 2024
Atlas
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Neste tutorial, você descobrirá como hospedar com segurança um aplicação Lambda projetado com uma arquitetura de microsserviço, utilizando Amazon Web Services Lambda, o Amazon API Gateway e o MongoDB Atlas. Amazon Web Services Lambda é essencial para as empresas, oferecendo implantação padronizada sem servidor, segurança aprimorada e gerenciamento simplificado, que coletivamente levam a desempenho consistente e operações simplificadas.
Este guia não apenas detalha o processo de configuração e implantação de um aplicação baseado no MongoDB Atlas com um microsserviço e padrão de API, mas também fornece uma estrutura robusta aplicável a qualquer implantação. Ao aproveitar Amazon Web Services CDK para implantação automatizada, você garante uma solução escalável, eficiente e segura que atende às necessidades empresariais e acelera o processo de implantação em vários ambientes.
Para acompanhar este tutorial, você deve ter proficiência intermediária com os serviços da AWS e do MongoDB.

Diagrama de arquitetura.

Diagrama de arquitetura Amazon Web Services Lambda
A arquitetura descrita aqui inclui os seguintes componentes:
  1. Repositório deaplicativos sem servidorAmazon Web Services : Repositório público para o aplicação Amazon Web Services Lambda
  2. Amazon Web Services Lambda: hospeda a lógica de microsserviços
  3. Amazon API Gateway: Expõe as funções Lambda como APIs RESTful
  4. MongoDB Atlas: Armazena os dados do aplicação com segurança

Etapas de implementação para configurar seu aplicação Lambda

Este tutorial pressupõe us-east-1 como a região padrão. Atualize os scripts para sua região específica. se necessário.

Pré-requisitos

Antes de prosseguir, verifique se você tem os seguintes pré-requisitos instalados:

Configuração do ambiente

Clone o repositório de aplicação .
1git clone https://github.com/mongodb-partners/Microservice-api-lambda-MongoDBAtlas
2cd Microservice-api-lambda-MongoDBAtlas
Configure Amazon Web Services CLI.
1aws configure
Insira seu de chave de acesso do , chave de acesso secreta e região de preferência.Amazon Web Services ID
Configure o ambiente virtual Python.
1python3 -m venv .venv
2source .venv/bin/activate
3pip3 install -r lambda/python-crud-lambda/requirements.txt
Para construir o projeto localmente, execute o seguinte comando:
1sam build
Este comando construirá localmente o projeto e os arquivos de saída serão salvos em .aws-sam pasta.

Implante o MongoDB Atlas 

Usar uma connection existente string: verifique se você tem a MongoDB connection completa string do SRV com seu nome de usuário e senha incluídos. Certifique-se Lambda de que o possa acessar seu cluster. Para fins de teste, você pode usar 0.0.0.0/0 na sua IP lista de acesso da rede. Na produção, considere a possibilidade de configurar uma VPC conexão de emparelhamento de entre Amazon Web Services VPC a do e a do Atlas VPC. Isso restringirá o acesso público e VPC aceitará somente VPC conexões da MongoDB Atlas sua . Saiba mais sobre na documentação do.

Implantando o aplicativo

Execute o seguinte comando para implementar o aplicação:
Bash
1sam deploy --guided
Siga as instruções de implantação guiadas:
  • Nome da pilha: insira um nome para a sua pilha.
  • Região Amazon Web Services : insira sua região preferida.
  • Parâmetro ConnectionString: insira sua string de conexão do MongoDB .
  • Parâmetro DBName: insira o nome do seu banco de banco de dados MongoDB .
  • Parâmetro CollectionName: Insira o nome da sua coleção MongoDB .
Valores de amostra para sistema
1 Setting default arguments for 'sam deploy'
2 =========================================
3 Stack Name [sam-app]: sam-app-api-mdb
4 AWS Region [us-east-1]:
5 Parameter ConnectionString []: mongodb+srv://test1:test1@demo.mongodb.net/?retryWrites=true&w=majority
6 Parameter DBName [test]: sam-app-api-mdb
7 Parameter CollectionName [test]: microservice-lambda-app
8 #Shows you resources changes to be deployed and require a 'Y' to initiate deploy
9 Confirm changes before deploy [y/N]: y
10 #SAM needs permission to be able to create roles to connect to the resources in your template
11 Allow SAM CLI IAM role creation [Y/n]: y
12 #Preserves the state of previously provisioned resources when an operation fails
13 Disable rollback [y/N]: y
14 CRUDLambda has no authentication. Is this okay? [y/N]: y
15 Save arguments to configuration file [Y/n]: y
16 SAM configuration file [samconfig.toml]:
17 SAM configuration environment [default]:
Captura de tela de implementação de exemplo
Aguarde até que a pilha CloudFormation termine de criar a pilha. Após a implementação, você receberá o link do API Gateway nos resultados.
Conclusão da pilha de formação de nuvem
Console Amazon Web Services Cloudformation

Criar um bucket S3

Crie um bucket público S3 para armazenar o código Lambda e restringir o acesso por meio da política de bucket.
1aws s3api create-bucket --bucket aws-sam-cli-mongodb-app1 --region us-east-1
2
3aws s3api put-bucket-policy --bucket my-unique-bucket-name --policy '{
4 "Version": "2012-10-17",
5 "Statement": [
6 {
7 "Effect": "Allow",
8 "Principal": {
9 "Service": "serverlessrepo.amazonaws.com"
10 },
11 "Action": "s3:GetObject",
12 "Resource": "arn:aws:s3:::aws-sam-cli-mongodb-app1/*",
13 "Condition" : {
14 "StringEquals": {
15 "aws:SourceAccount": "<aws account id >"
16 }
17 }

Empacotando o aplicação

Embale o aplicação implantado do modelo de aplicação sem servidor (SAM) no bucket S3 criado nas etapas anteriores da compilação do SAM.
1sam package --template-file template.yaml --output-template-file packaged.yaml --s3-bucket aws-sam-cli-mongodb-app1

Publicando o aplicação

Para publicar seu aplicação como um pacote de modelo de aplicação sem servidor, execute o seguinte comando:
Bash
1sam publish --template packaged.yml --region us-east-1
Siga as instruções para publicar seu aplicação. Por padrão, seu aplicação será publicado como um aplicativo privado. Após a publicação, você pode convertê-lo em um aplicativo público, se necessário. Para obter orientações detalhadas, consulte a documentação do SAM sobre a publicação de um aplicação.

Verificação e validação

Use o link do Gateway de API recebido nos resultados do sistema para testar as APIs. Você pode usar o Postman ou qualquer outra ferramenta de criação de solicitações.
  • Coleção do Postman: Importe a coleção do Postman postman/Python-Microservice.postman_collection.json para o Postman para testar a API.

Limpeza

Use o seguinte comando para limpar todos os recursos do Amazon Web Services criados durante o sistema:
1sam delete

Solução de problemas

Consulte o repositório doGithub para resolver problemas comuns encontrados ao usar Amazon Web Services SAM com o MongoDB Atlas.

Comandos úteis

  • sam build: constrói o projeto localmente
  • sam deploy --guided: implementa o aplicação com prompts guiados
  • sam publish --template packaged.yaml: publica o aplicação como um pacote SAM
  • sam delete: exclui o aplicação implementado
Seguindo essas etapas, você pode configurar um ambiente de hospedagem privado para seu aplicação Lambda baseado em microsserviços usando os serviços Amazon Web Services e o MongoDB Atlas. Essa configuração garante uma solução segura, escalável e econômicas para hospedar aplicativos de microsserviços sem servidor.
Experimente o Amazon Web Services API Gateway de do! Para qualquer MongoDB consulta relacionada ao , visite o MongoDB Community Suporte da.
Principais comentários nos fóruns
Ainda não há comentários sobre este artigo.
Iniciar a conversa

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Tutorial

Aplicativos MEAN Stack sem servidor com Cloud Run e MongoDB Atlas


Apr 02, 2024 | 8 min read
Tutorial

Introdução ao Deno 2.0 e MongoDB


Oct 22, 2024 | 13 min read
Artigo

Mapa do Coronavírus e rastreador de dados ao vivo com o MongoDB Charts


Nov 15, 2023 | 3 min read
Tutorial

Impressione-se: sinônimos no Atlas Search


Feb 27, 2023 | 9 min read
Sumário