2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Heute stellt Ihnen Bruder Li die Verwendung von IaC (Infrastructure as Code) zum Entwerfen und Erstellen der AWS-Cloud-nativen Architektur der Amazon Cloud Technology vor. In diesem Artikel erfahren Sie, wie Sie cloudnative serverlose Dienste auf Amazon Cloud Technology erstellen, stellen die verwendeten Entwicklungsdienste vor und zeigen den CDK-Code zum Erstellen einer cloudnativen Architektur. Bruder Xiao Li stellt Ihnen außerdem kostenlose Lernressourcen zur Verfügung, mit denen Sie schnell beliebte und hochmoderne Technologien der Amazon Cloud-Technologie erlernen können. Nach Abschluss des Kurses können Sie ein Zertifikat erhalten.
AWS Lambda ist ein Serverless-Computing-Dienst, der es Benutzern ermöglicht, Code auszuführen, ohne Server bereitzustellen oder zu verwalten. Benutzer können Code direkt hochladen und Upstream-Trigger festlegen, um den Dienst auszuführen. Anschließend führt Lambda den Code automatisch aus, wenn das Ereignis ausgelöst wird, und zahlt nur für die Ausführungszeit des Codes. Lambda unterstützt mehrere Programmiersprachen wie Node.js, Python, Java usw. und kann nahtlos in andere AWS-Dienste (wie S3, DynamoDB, Kinesis usw.) integriert werden, was es zu einer idealen Wahl für den Aufbau von Event-Anwendungen macht. gesteuerte Anwendungen.
Amazon API Gateway ist ein vollständig verwalteter Dienst, der es Entwicklern ermöglicht, APIs einfach zu erstellen, zu veröffentlichen, zu warten, zu überwachen und zu sichern. API Gateway unterstützt RESTful-APIs und WebSocket-APIs und kann in AWS Lambda, HTTP-Endpunkte, AWS-Services und andere Backend-Systeme integriert werden. Über API Gateway können Benutzer sichere, skalierbare APIs erstellen und integrierte Funktionen zur Verkehrskontrolle, Überwachung und Versionierung nutzen, um die API-Verwaltung zu vereinfachen.
Amazon Simple Queue Service (SQS) ist ein vollständig verwalteter Nachrichtenwarteschlangendienst (Message Queue in the Cloud), der zur Entkopplung und Skalierung von Mikrodiensten, verteilten Systemen und serverlosen Anwendungen entwickelt wurde. SQS bietet zwei Typen: Standardwarteschlangen und FIFO-Warteschlangen. Erstere gewährleistet einen hohen Durchsatz, garantiert jedoch keine Nachrichtenreihenfolge, während letztere sicherstellt, dass Nachrichten streng geordnet und bei Bedarf gleichzeitig verarbeitet werden. Mit SQS können Sie Nachrichten zuverlässig senden, speichern und empfangen und so eine lockere Kopplung und hohe Verfügbarkeit zwischen verschiedenen Systemkomponenten gewährleisten.
Nachdem wir die gängigen Cloud-nativen Dienste verstanden haben, lernen wir, wie man mithilfe von Code die Amazon Cloud Technology Cloud Infrastructure (IaC) definiert und erstellt. Das von uns verwendete Tool ist AWS SDK und die Skriptsprache ist AWS CDK Special Language Typescript.
AWS Cloud Development Kit (AWS CDK) ist ein Open-Source-Softwareentwicklungs-Framework, mit dem Entwickler Cloud-Infrastrukturen mithilfe vertrauter Programmiersprachen definieren können. Das Aufkommen von CDK macht die Erstellung und Verwaltung von AWS-Ressourcen einfacher und effizienter. Durch die Verwendung von AWS CDK können Entwickler Infrastruktur in Form von Code schreiben und so die Praxis von Infrastructure as Code (IaC) implementieren.
Für die Installation von CDK ist die vorherige Installation einer Reihe von Abhängigkeiten Node.js, npm und aws cli erforderlich. Befolgen Sie nach der Installation der oben genannten Abhängigkeiten die spezifischen Schritte:
npm install -g aws-cdk
cdk --version
- mkdir my-cdk
- cd my-cdk
- cdk init app --language typescript
npm install @aws-cdk/aws-ec2 @aws-cdk/core
Hauptanwendungsdatei (app.ts)
- import * as cdk from '@aws-cdk/core';
- import { SqsStack } from './sqs-stack';
- import { LambdaStack } from './lambda-stack';
- import { ApiGatewayStack } from './api-gateway-stack';
-
- const app = new cdk.App();
-
- const sqsStack = new SqsStack(app, 'SqsStack');
- const lambdaStack = new LambdaStack(app, 'LambdaStack', sqsStack);
- new ApiGatewayStack(app, 'ApiGatewayStack', lambdaStack);
-
- app.synth();
Erstellen Sie eine Lambda-Funktion
- import * as cdk from '@aws-cdk/core';
- import * as lambda from '@aws-cdk/aws-lambda';
-
- export class LambdaStack extends cdk.Stack {
- constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
- super(scope, id, props);
-
- // 创建 Lambda 函数
- const myLambda = new lambda.Function(this, 'MyLambda', {
- runtime: lambda.Runtime.NODEJS_14_X,
- handler: 'index.handler',
- code: lambda.Code.fromAsset('lambda'),
- });
- }
- }
Erstellen Sie ein API-Gateway
- import * as cdk from '@aws-cdk/core';
- import * as apigateway from '@aws-cdk/aws-apigateway';
- import { LambdaStack } from './lambda-stack';
-
- export class ApiGatewayStack extends cdk.Stack {
- constructor(scope: cdk.Construct, id: string, lambdaStack: LambdaStack, props?: cdk.StackProps) {
- super(scope, id, props);
-
- // 创建 API Gateway REST API 并与 Lambda 集成
- const api = new apigateway.RestApi(this, 'MyApi', {
- restApiName: 'My Service',
- description: 'This service serves as an example.',
- });
-
- const lambdaIntegration = new apigateway.LambdaIntegration(lambdaStack.myLambda, {
- requestTemplates: { 'application/json': '{ "statusCode": "200" }' }
- });
-
- api.root.addMethod('GET', lambdaIntegration); // GET / 触发 Lambda
- }
- }
Erstellen Sie eine SQS-Warteschlange
- import * as cdk from '@aws-cdk/core';
- import * as sqs from '@aws-cdk/aws-sqs';
-
- export class SqsStack extends cdk.Stack {
- public readonly myQueue: sqs.Queue;
-
- constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
- super(scope, id, props);
-
- // 创建 SQS 队列
- this.myQueue = new sqs.Queue(this, 'MyQueue', {
- visibilityTimeout: cdk.Duration.seconds(300)
- });
- }
- }
本次课程和证书是关于目前云上开发最🔥的Serverless无服务器开发,Serverless服务说白了就是一台服务器,大家可以部署写好的代码,但是服务器是由AWS帮忙维护的,减轻了基础设施维护压力,而且基础设施可以根据并发请求数量自动扩容,保证系统性能。证书名字叫AWS Educate Getting Start with Serverless,内含免费课程和经典AWS实验(没听错,免费给你用AWS做实验,通过10道测试题后拿证书(5分钟就能拿到)。
Bruder Xiao Li hat außerdem alle 12 AWS-Zertifikatsprüfungsfragenbanken und die Zertifikatsfragenbank vorbereitet. Bitte folgen Sie Xiao Lis privatem Chat, um sie zu erhalten.
Es handelt sich um ein kostenloses Projekt für Schüler und AWS-Anfänger, das ihnen dabei helfen soll, AWS zu erlernen und sich damit vertraut zu machen. Es umfasst Hunderte von Kursstunden + kostenlose Experimente. Die Experimente finden in einer echten AWS-Umgebung statt. Sie müssen nicht bezahlen, um AWS-Ressourcen selbst zu erstellen. Zusätzlich zu diesem Entwicklerzertifikat sind 9 weitere kostenlose Zertifikate für AWS☁️-Grundlagen, Websystementwicklung, Datenbanken, Netzwerke, DevOps, Sicherheit und DeepRacer (AWS-Fahrerlosdienst) verfügbar. Habe schnell 52 AWS-Zertifizierungen erhalten!
Einschließlich einiger der derzeit beliebtesten Wissenspunkte in der serverlosen Entwicklung
▶️ Betreten Sie den Kurs über die Homepage
▶️ Rufen Sie die Anmeldeschnittstelle auf, geben Sie Ihr Kontopasswort ein und melden Sie sich an
▶️Klicken Sie auf das DashBoard in der linken Spalte des Bildes und klicken Sie auf das rote Kästchen, um zum Kurs zu gelangen
▶️ Der Kurs beinhaltet 1 Video und 1 Experiment (Sie können es überspringen, klicken Sie auf „Weiter“, um zum Abschlusstest zu springen)
▶️ Das Zertifikat erhalten Sie nach bestandener Abschlussprüfung (10 Fragen, 70 % bestanden)