Compartilhamento de tecnologia

Use IaC (Infraestrutura como Código) para projetar e construir arquitetura nativa de nuvem na Amazon Cloud Technology AWS (com tutoriais de aprendizagem e certificados gratuitos)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Hoje, o irmão Li apresentará a você o uso de IaC (Infraestrutura como Código) para projetar e construir a arquitetura nativa da nuvem AWS da Amazon Cloud Technology. Este artigo apresentará como construir serviços nativos da nuvem sem servidor na Amazon Cloud Technology, apresentará os serviços de desenvolvimento usados ​​e mostrará o código cdk para construir a arquitetura nativa da nuvem. O irmão Xiao Li também compartilhará com você recursos de aprendizagem gratuitos para aprender rapidamente tecnologias populares e de ponta da Amazon Cloud Technology, e você poderá receber um certificado após concluir o curso.

Design de arquitetura sem servidor nativa da nuvem da Amazon Cloud Technology

Introdução ao serviço Lambda

AWS Lambda é um serviço de computação sem servidor que permite aos usuários executar código sem provisionar ou gerenciar servidores. Os usuários podem fazer upload de código diretamente e configurar gatilhos upstream para executar o serviço, e então o Lambda executará automaticamente o código quando o evento for acionado e pagará apenas pelo tempo de execução do código. Lambda suporta múltiplas linguagens de programação, como Node.js, Python, Java, etc., e pode ser perfeitamente integrado com outros serviços AWS (como S3, DynamoDB, Kinesis, etc.), tornando-o uma escolha ideal para construir eventos. aplicações orientadas.

Introdução ao serviço API Gateway

O Amazon API Gateway é um serviço totalmente gerenciado que permite aos desenvolvedores criar, publicar, manter, monitorar e proteger APIs com facilidade. O API Gateway oferece suporte a APIs RESTful e APIs WebSocket e pode ser integrado ao AWS Lambda, endpoints HTTP, serviços AWS e outros sistemas de back-end. Por meio do API Gateway, os usuários podem criar APIs seguras e escaláveis ​​e aproveitar recursos integrados de controle de tráfego, monitoramento e controle de versão para simplificar o gerenciamento de APIs.

Introdução ao serviço SQS

O Amazon Simple Queue Service (SQS) é um serviço de enfileiramento de mensagens totalmente gerenciado (Message Queue na nuvem) projetado para desacoplar e dimensionar microsserviços, sistemas distribuídos e aplicativos sem servidor. O SQS fornece dois tipos: filas padrão e filas FIFO. A primeira garante alto rendimento, mas não garante a ordem das mensagens, enquanto a última garante que as mensagens sejam estritamente ordenadas e processadas ao mesmo tempo sob demanda. Com o SQS, você pode enviar, armazenar e receber mensagens de maneira confiável, garantindo acoplamento flexível e alta disponibilidade entre diferentes componentes do sistema.

Depois de compreender os principais serviços nativos da nuvem, vamos aprender como usar código para definir e criar a infraestrutura de nuvem (IaC) da Amazon Cloud Technology. A ferramenta que usamos é AWS SDK, e a linguagem de script é a linguagem especial AWS CDK datilografada.

O que é AWSCDK?

O AWS Cloud Development Kit (AWS CDK) é uma estrutura de desenvolvimento de software de código aberto que permite aos desenvolvedores definir a infraestrutura em nuvem usando linguagens de programação familiares. O surgimento do CDK torna a criação e o gerenciamento de recursos da AWS mais fácil e eficiente. Ao usar o AWS CDK, os desenvolvedores podem escrever infraestrutura na forma de código, implementando assim a prática de infraestrutura como código (IaC).

Como instalar o AWS CDK localmente?

A instalação do CDK requer a instalação antecipada de uma série de dependências Node.js, npm e aws cli. Após instalar as dependências acima, siga as etapas específicas:

Instale o AWS CDK

npm install -g aws-cdk

Verifique a instalação

cdk --version

Etapas para criar um servidor EC2 usando AWS CDK:

Inicializar projeto CDK

  1. mkdir my-cdk
  2. cd my-cdk
  3. cdk init app --language typescript


Instale os módulos necessários do AWS CDK

npm install @aws-cdk/aws-ec2 @aws-cdk/core


Crie e defina o arquivo lib/my-cdk-stack.ts (ts é para definir o arquivo de configuração da arquitetura nativa da nuvem)

Arquivo principal do aplicativo (app.ts)

  1. import * as cdk from '@aws-cdk/core';
  2. import { SqsStack } from './sqs-stack';
  3. import { LambdaStack } from './lambda-stack';
  4. import { ApiGatewayStack } from './api-gateway-stack';
  5. const app = new cdk.App();
  6. const sqsStack = new SqsStack(app, 'SqsStack');
  7. const lambdaStack = new LambdaStack(app, 'LambdaStack', sqsStack);
  8. new ApiGatewayStack(app, 'ApiGatewayStack', lambdaStack);
  9. app.synth();

Criar função Lambda

  1. import * as cdk from '@aws-cdk/core';
  2. import * as lambda from '@aws-cdk/aws-lambda';
  3. export class LambdaStack extends cdk.Stack {
  4. constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
  5. super(scope, id, props);
  6. // 创建 Lambda 函数
  7. const myLambda = new lambda.Function(this, 'MyLambda', {
  8. runtime: lambda.Runtime.NODEJS_14_X,
  9. handler: 'index.handler',
  10. code: lambda.Code.fromAsset('lambda'),
  11. });
  12. }
  13. }

Criar gateway de API

  1. import * as cdk from '@aws-cdk/core';
  2. import * as apigateway from '@aws-cdk/aws-apigateway';
  3. import { LambdaStack } from './lambda-stack';
  4. export class ApiGatewayStack extends cdk.Stack {
  5. constructor(scope: cdk.Construct, id: string, lambdaStack: LambdaStack, props?: cdk.StackProps) {
  6. super(scope, id, props);
  7. // 创建 API Gateway REST API 并与 Lambda 集成
  8. const api = new apigateway.RestApi(this, 'MyApi', {
  9. restApiName: 'My Service',
  10. description: 'This service serves as an example.',
  11. });
  12. const lambdaIntegration = new apigateway.LambdaIntegration(lambdaStack.myLambda, {
  13. requestTemplates: { 'application/json': '{ "statusCode": "200" }' }
  14. });
  15. api.root.addMethod('GET', lambdaIntegration); // GET / 触发 Lambda
  16. }
  17. }

Criar fila SQS

  1. import * as cdk from '@aws-cdk/core';
  2. import * as sqs from '@aws-cdk/aws-sqs';
  3. export class SqsStack extends cdk.Stack {
  4. public readonly myQueue: sqs.Queue;
  5. constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
  6. super(scope, id, props);
  7. // 创建 SQS 队列
  8. this.myQueue = new sqs.Queue(this, 'MyQueue', {
  9. visibilityTimeout: cdk.Duration.seconds(300)
  10. });
  11. }
  12. }

Introdução ao curso nativo da nuvem

本次课程和证书是关于目前云上开发最🔥的Serverless无服务器开发,Serverless服务说白了就是一台服务器,大家可以部署写好的代码,但是服务器是由AWS帮忙维护的,减轻了基础设施维护压力,而且基础设施可以根据并发请求数量自动扩容,保证系统性能。证书名字叫AWS Educate Getting Start with Serverless,内含免费课程和经典AWS实验(没听错,免费给你用AWS做实验,通过10道测试题后拿证书(5分钟就能拿到)。


O irmão Xiao Li também preparou todos os 12 bancos de perguntas do exame de certificado AWS e o banco de perguntas do certificado. Siga o bate-papo privado de Xiao Li para obtê-lo.

1️⃣ O que este certificado inclui?

▶️ Primeiro apresente o AWS Educate (plano educacional gratuito)

É um projeto gratuito para estudantes e iniciantes em AWS para ajudá-los a aprender e se tornar proficientes em AWS. Inclui centenas de horas de cursos + experimentos gratuitos. Os experimentos estão em um ambiente AWS real. Você não precisa pagar para criar recursos AWS. Além deste certificado de desenvolvedor, existem 9 outros certificados gratuitos disponíveis para AWS☁️ noções básicas, desenvolvimento de sistemas Web, bancos de dados, redes, DevOps, segurança e DeepRacer (serviço sem driver AWS Siga o irmão Li rapidamente).



▶️O que este certificado de desenvolvimento sem servidor inclui?

Incluindo alguns dos pontos de conhecimento mais populares no desenvolvimento sem servidor atualmente

➡️ serviço sem servidor - AWS Lambda

➡️ Serviço de gerenciamento de API em nuvem - API Gateway

➡️ Notificação de mensagens na nuvem, serviço Pub/Sub-SNS

➡️ Serviço de fila de mensagens na nuvem-SQS

2️⃣Como faço o exame para obter um certificado grátis?

▶️ Entre no curso na página inicial
▶️ Entre na interface de login, digite a senha da sua conta e faça login


▶️Clique no DashBoard na coluna esquerda da imagem e clique na caixa vermelha para entrar no curso


▶️ O curso inclui 1 vídeo e 1 experimento (você pode pular, clique em Avançar para pular para o teste final)


▶️ Você pode obter o certificado após passar na Avaliação Final (10 questões, 70% de aprovação)