моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Сегодня Брат Ли познакомит вас с использованием IaC (инфраструктура как код) для проектирования и создания собственной облачной архитектуры AWS Amazon Cloud Technology. В этой статье будет рассказано, как создавать собственные облачные бессерверные сервисы на базе Amazon Cloud Technology, будут представлены используемые сервисы разработки и показан код cdk для создания собственной облачной архитектуры. Брат Ли также поделится с вами бесплатными учебными ресурсами, которые помогут быстро освоить популярные и передовые технологии Amazon Cloud Technology, а после прохождения курса вы сможете получить сертификат.
AWS Lambda — это сервис бессерверных вычислений, который позволяет пользователям запускать код без выделения серверов и управления ими. Пользователи могут напрямую загружать код и настраивать восходящие триггеры для запуска службы, а затем Lambda будет автоматически выполнять код при запуске события и платить только за время выполнения кода. Lambda поддерживает несколько языков программирования, таких как Node.js, Python, Java и т. д., и может быть легко интегрирована с другими сервисами AWS (такими как S3, DynamoDB, Kinesis и т. д.), что делает ее идеальным выбором для создания событийных сервисов. управляемые приложения.
Amazon API Gateway — это полностью управляемый сервис, который позволяет разработчикам легко создавать, публиковать, поддерживать, отслеживать и защищать API. API Gateway поддерживает API RESTful и API WebSocket и может интегрироваться с AWS Lambda, конечными точками HTTP, сервисами AWS и другими серверными системами. С помощью API Gateway пользователи могут создавать безопасные, масштабируемые API и использовать встроенные возможности управления трафиком, мониторинга и управления версиями для упрощения управления API.
Amazon Simple Queue Service (SQS) — это полностью управляемая служба очередей сообщений (очередь сообщений в облаке), предназначенная для разделения и масштабирования микросервисов, распределенных систем и бессерверных приложений. SQS предоставляет два типа: стандартные очереди и очереди FIFO. Первый обеспечивает высокую пропускную способность, но не гарантирует порядок сообщений, а второй гарантирует, что сообщения строго упорядочены и обрабатываются одновременно по требованию. С помощью SQS вы можете надежно отправлять, хранить и получать сообщения, обеспечивая слабую связь и высокую доступность между различными компонентами системы.
Поняв основные облачные сервисы, давайте научимся использовать код для определения и создания облачной инфраструктуры Amazon Cloud Technology (IaC). Мы используем инструмент AWS SDK, а языком сценариев — специальный машинописный язык AWS CDK.
AWS Cloud Development Kit (AWS CDK) — это среда разработки программного обеспечения с открытым исходным кодом, которая позволяет разработчикам определять облачную инфраструктуру с использованием знакомых языков программирования. Появление CDK делает создание ресурсов AWS и управление ими проще и эффективнее. Используя AWS CDK, разработчики могут писать инфраструктуру в виде кода, реализуя тем самым практику «Инфраструктура как код» (IaC).
Для установки CDK требуется заранее установить ряд зависимостей Node.js, npm и aws cli. После установки вышеуказанных зависимостей выполните конкретные шаги:
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
Основной файл приложения (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();
Создать лямбда-функцию
- 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'),
- });
- }
- }
Создать API-шлюз
- 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
- }
- }
Создать очередь SQS
- 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分钟就能拿到)。
Брат Сяо Ли также подготовил все 12 банков вопросов для экзаменов на сертификат AWS и банк вопросов для сертификатов. Чтобы получить их, подпишитесь на личный чат Сяо Ли.
Это бесплатный проект для школьников и новичков в AWS, который поможет им изучить и освоить AWS. Он включает в себя сотни часов курсов + бесплатные эксперименты. Эксперименты проводятся в реальной среде AWS. Вам не нужно платить за создание ресурсов AWS. Настоятельно рекомендуется. В дополнение к этому сертификату разработчика доступны еще 9 бесплатных сертификатов по основам AWS☁️, разработке веб-систем, базам данных, сети, DevOps, безопасности и DeepRacer (беспилотный сервис AWS). Брат Ли получил 52 сертификата AWS!
Включая некоторые из самых популярных на данный момент знаний в области бессерверной разработки.
▶️ Войдите в курс с главной страницы.
▶️ Войдите в интерфейс входа, введите пароль своей учетной записи и войдите в систему.
▶️Нажмите на панель управления в левом столбце изображения и нажмите на красное поле, чтобы войти в курс.
▶️Курс включает в себя 1 видео и 1 эксперимент (вы можете пропустить его, нажмите «Далее», чтобы перейти к финальному тесту)
▶️ Сертификат можно получить после прохождения итогового оценивания (10 вопросов, пройдено 70%)