Compartir tecnología

Utilice IaC (Infraestructura como código) para diseñar y crear una arquitectura nativa de la nube en Amazon Cloud Technology AWS (con certificados y tutoriales de aprendizaje gratuitos)

2024-07-12

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

Hoy, el hermano Li le presentará el uso de IaC (Infraestructura como código) para diseñar y construir la arquitectura nativa de la nube de AWS de Amazon Cloud Technology. Este artículo presentará cómo crear servicios sin servidor nativos en la nube en Amazon Cloud Technology, presentará los servicios de desarrollo utilizados y mostrará el código cdk para crear una arquitectura nativa en la nube. El hermano Li también compartirá con usted recursos de aprendizaje gratuitos para aprender rápidamente tecnologías populares y de vanguardia de Amazon Cloud Technology, y podrá recibir un certificado después de completar el curso.

Diseño de arquitectura sin servidor nativa de la nube de Amazon Cloud Technology

Introducción al servicio Lambda

AWS Lambda es un servicio informático sin servidor que permite a los usuarios ejecutar código sin aprovisionar ni administrar servidores. Los usuarios pueden cargar código directamente y configurar activadores ascendentes para ejecutar el servicio, y luego Lambda ejecutará automáticamente el código cuando se active el evento y solo pagará por el tiempo de ejecución del código. Lambda admite múltiples lenguajes de programación, como Node.js, Python, Java, etc., y se puede integrar perfectamente con otros servicios de AWS (como S3, DynamoDB, Kinesis, etc.), lo que lo convierte en una opción ideal para crear eventos. aplicaciones impulsadas.

Introducción al servicio API Gateway

Amazon API Gateway es un servicio totalmente administrado que permite a los desarrolladores crear, publicar, mantener, monitorear y proteger API fácilmente. API Gateway admite API RESTful y API WebSocket, y puede integrarse con AWS Lambda, puntos finales HTTP, servicios de AWS y otros sistemas backend. A través de API Gateway, los usuarios pueden crear API seguras y escalables y aprovechar las capacidades integradas de control de tráfico, monitoreo y control de versiones para simplificar la administración de API.

Introducción al servicio SQS

Amazon Simple Queue Service (SQS) es un servicio de cola de mensajes totalmente administrado (Message Queue en la nube) diseñado para desacoplar y escalar microservicios, sistemas distribuidos y aplicaciones sin servidor. SQS proporciona dos tipos: colas estándar y colas FIFO. La primera garantiza un alto rendimiento pero no garantiza el orden de los mensajes, mientras que la segunda garantiza que los mensajes se ordenen y procesen estrictamente al mismo tiempo según demanda. Con SQS, puede enviar, almacenar y recibir mensajes de manera confiable, lo que garantiza un acoplamiento flexible y una alta disponibilidad entre los diferentes componentes del sistema.

Después de comprender los principales servicios nativos de la nube, aprendamos cómo usar el código para definir y crear la infraestructura de nube (IaC) de Amazon Cloud Technology. La herramienta que utilizamos es AWS SDK y el lenguaje de secuencias de comandos es el lenguaje especial mecanografiado de AWS CDK.

¿Qué es AWS CDK?

AWS Cloud Development Kit (AWS CDK) es un marco de desarrollo de software de código abierto que permite a los desarrolladores definir la infraestructura de la nube utilizando lenguajes de programación familiares. La aparición de CDK hace que la creación y administración de recursos de AWS sea más fácil y eficiente. Al utilizar AWS CDK, los desarrolladores pueden escribir infraestructura en forma de código, implementando así la práctica de infraestructura como código (IaC).

¿Cómo instalar AWS CDK localmente?

La instalación de CDK requiere instalar una serie de dependencias Node.js, npm y aws cli por adelantado. Después de instalar las dependencias anteriores, siga los pasos específicos:

Instalar AWS CDK

npm install -g aws-cdk

Verificar la instalación

cdk --version

Pasos para crear un servidor EC2 utilizando AWS CDK:

Inicializar proyecto CDK

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


Instale los módulos AWS CDK necesarios

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


Cree y defina el archivo lib/my-cdk-stack.ts (ts es para definir el archivo de configuración de la arquitectura nativa de la nube)

Archivo de aplicación principal (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();

Crear función 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. }

Crear puerta de enlace 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. }

Crear cola 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. }

Introducción al curso nativo de la nube

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


El hermano Xiao Li también preparó los 12 bancos de preguntas del examen de certificado de AWS y el banco de preguntas del certificado. Siga el chat privado de Xiao Li para obtenerlo.

1️⃣ ¿Qué incluye este certificado?

▶️ Primero presente AWS Educate (plan educativo gratuito)

Es un proyecto gratuito para estudiantes escolares y principiantes de AWS para ayudarlos a aprender y dominar AWS. Incluye cientos de horas de cursos + experimentos gratuitos. Los experimentos se realizan en un entorno real de AWS. No necesita pagar para crear recursos de AWS usted mismo. Además de este certificado de desarrollador, hay otros 9 certificados gratuitos disponibles para conceptos básicos de AWS☁️, desarrollo de sistemas web, bases de datos, redes, DevOps, seguridad y DeepRacer (servicio sin controlador de AWS). ¡Ven y sigue al hermano Li!



▶️¿Qué incluye este certificado de desarrollo serverless?

Incluyendo algunos de los puntos de conocimiento más populares en el desarrollo sin servidor en la actualidad.

➡️ servicio sin servidor - AWS Lambda

➡️ Servicio de gestión de API en la nube-API Gateway

➡️ Notificación de mensajes en la nube, servicio Pub/Sub-SNS

➡️ Servicio de cola de mensajes en la nube-SQS

2️⃣¿Cómo realizo el examen para obtener un certificado gratuito?

▶️ Ingresa al curso desde la página de inicio
▶️ Ingrese a la interfaz de inicio de sesión, ingrese la contraseña de su cuenta e inicie sesión


▶️Haga clic en el Tablero en la columna izquierda de la imagen y haga clic en el cuadro rojo para ingresar al curso


▶️ El curso incluye 1 vídeo y 1 experimento (puedes omitirlo, haz clic en Siguiente para pasar a la prueba final)


▶️ Podrás obtener el certificado tras aprobar la Evaluación Final (10 preguntas, 70% aprobado)