Condivisione della tecnologia

Utilizza IaC (Infrastructure as Code) per progettare e creare un'architettura nativa del cloud in Amazon Cloud Technology AWS (con tutorial e certificati di apprendimento gratuiti)

2024-07-12

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

Oggi, Brother Li ti introdurrà all'uso di IaC (Infrastructure as Code) per progettare e costruire l'architettura nativa del cloud AWS della tecnologia cloud di Amazon. Questo articolo introdurrà come creare servizi serverless nativi del cloud sulla tecnologia Amazon Cloud, introdurrà i servizi di sviluppo utilizzati e mostrerà il codice cdk per creare un'architettura nativa del cloud. Brother Li condividerà anche con te risorse di apprendimento gratuite per apprendere rapidamente le tecnologie più diffuse e all'avanguardia della tecnologia cloud di Amazon e potrai ricevere un certificato dopo aver completato il corso.

Progettazione dell'architettura serverless nativa del cloud di Amazon Cloud Technology

Introduzione al servizio Lambda

AWS Lambda è un servizio di elaborazione serverless che consente agli utenti di eseguire codice senza effettuare il provisioning o gestire i server. Gli utenti possono caricare direttamente il codice e impostare trigger upstream per eseguire il servizio, quindi Lambda eseguirà automaticamente il codice quando l'evento viene attivato e pagherà solo per il tempo di esecuzione del codice. Lambda supporta più linguaggi di programmazione, come Node.js, Python, Java, ecc. e può essere perfettamente integrato con altri servizi AWS (come S3, DynamoDB, Kinesis, ecc.), rendendolo la scelta ideale per la creazione di eventi. applicazioni guidate.

Introduzione al servizio API Gateway

Amazon API Gateway è un servizio completamente gestito che consente agli sviluppatori di creare, pubblicare, mantenere, monitorare e proteggere facilmente le API. API Gateway supporta API RESTful e API WebSocket e può integrarsi con AWS Lambda, endpoint HTTP, servizi AWS e altri sistemi backend. Attraverso API Gateway, gli utenti possono creare API sicure e scalabili e sfruttare le funzionalità integrate di controllo del traffico, monitoraggio e controllo delle versioni per semplificare la gestione delle API.

Introduzione al servizio SQS

Amazon Simple Queue Service (SQS) è un servizio di accodamento dei messaggi completamente gestito (Message Queue nel cloud) progettato per disaccoppiare e scalare microservizi, sistemi distribuiti e applicazioni serverless. SQS fornisce due tipi: code standard e code FIFO Le prime garantiscono un throughput elevato ma non garantiscono l'ordine dei messaggi, mentre le seconde assicurano che i messaggi siano rigorosamente ordinati ed elaborati contemporaneamente su richiesta. Con SQS puoi inviare, archiviare e ricevere messaggi in modo affidabile, garantendo un accoppiamento libero e un'elevata disponibilità tra i diversi componenti del sistema.

Dopo aver compreso i principali servizi nativi del cloud, impareremo come utilizzare il codice per definire e creare l'infrastruttura cloud (IaC) di Amazon Cloud Technology. Lo strumento che utilizziamo è AWS SDK e il linguaggio di scripting è il dattiloscritto del linguaggio speciale AWS CDK.

Cos'è AWS CDK?

AWS Cloud Development Kit (AWS CDK) è un framework di sviluppo software open source che consente agli sviluppatori di definire l'infrastruttura cloud utilizzando linguaggi di programmazione familiari. L'emergere di CDK rende la creazione e la gestione delle risorse AWS più semplice ed efficiente. Utilizzando AWS CDK, gli sviluppatori possono scrivere l'infrastruttura sotto forma di codice, implementando così la pratica dell'Infrastructure as Code (IaC).

Come installare AWS CDK localmente?

L'installazione di CDK richiede l'installazione anticipata di una serie di dipendenze Node.js, npm e aws cli. Dopo aver installato le dipendenze di cui sopra, seguire i passaggi specifici:

Installa il CDK di AWS

npm install -g aws-cdk

Verificare l'installazione

cdk --version

Passaggi per creare un server EC2 utilizzando AWS CDK:

Inizializza il progetto CDK

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


Installa i moduli AWS CDK necessari

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


Creare e definire il file lib/my-cdk-stack.ts (ts serve a definire il file di configurazione dell'architettura nativa del cloud)

File dell'applicazione principale (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();

Crea la funzione 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. }

Crea gateway 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. }

Crea coda 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. }

Introduzione al corso cloud nativo

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


Il fratello Xiao Li ha anche preparato tutte le 12 banche di domande per l'esame dei certificati AWS e la banca di domande per i certificati. Segui la chat privata di Xiao Li per ottenerle.

1️⃣ Cosa include questo certificato?

▶️ Presenta innanzitutto AWS Educate (piano formativo gratuito)

È un progetto gratuito per studenti delle scuole e principianti di AWS per aiutarli a imparare e diventare esperti in AWS. Include centinaia di ore di corsi + esperimenti gratuiti. Gli esperimenti si svolgono in un ambiente AWS reale. Non è necessario pagare per creare risorse AWS da soli. Oltre a questo certificato per sviluppatori, sono disponibili altri 9 certificati gratuiti per nozioni di base su AWS☁️, sviluppo di sistemi Web, database, rete, DevOps, sicurezza e DeepRacer (servizio senza driver AWS). Vieni e segui Brother Li. Ha ottenuto 52 certificazioni AWS!



▶️Cosa include questo certificato di sviluppo serverless?

Inclusi alcuni dei punti di conoscenza più popolari attualmente nello sviluppo serverless

➡️ servizio serverless - AWS Lambda

➡️ Servizio di gestione API Cloud-API Gateway

➡️ Notifica messaggi cloud, servizio Pub/Sub-SNS

➡️ Servizio Message Queue sul cloud-SQS

2️⃣Come posso sostenere l'esame per ottenere un certificato gratuito?

▶️ Accedi al corso dalla homepage
▶️ Accedi all'interfaccia di accesso, inserisci la password del tuo account ed effettua l'accesso


▶️Clicca sulla DashBoard nella colonna di sinistra dell'immagine e clicca sul riquadro rosso per entrare nel corso


▶️ Il corso comprende 1 video e 1 esperimento (puoi saltarlo, clicca su Avanti per passare al test finale)


▶️ Puoi ottenere il certificato dopo aver superato la valutazione finale (10 domande, 70% superato)