Обмен технологиями

Используйте IaC (инфраструктура как код) для проектирования и создания собственной облачной архитектуры в Amazon Cloud Technology AWS (с бесплатными учебными пособиями и сертификатами).

2024-07-12

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

Сегодня Брат Ли познакомит вас с использованием IaC (инфраструктура как код) для проектирования и создания собственной облачной архитектуры AWS Amazon Cloud Technology. В этой статье будет рассказано, как создавать собственные облачные бессерверные сервисы на базе Amazon Cloud Technology, будут представлены используемые сервисы разработки и показан код cdk для создания собственной облачной архитектуры. Брат Ли также поделится с вами бесплатными учебными ресурсами, которые помогут быстро освоить популярные и передовые технологии Amazon Cloud Technology, а после прохождения курса вы сможете получить сертификат.

Дизайн облачной бессерверной архитектуры Amazon Cloud Technology

Введение в сервис Lambda

AWS Lambda — это сервис бессерверных вычислений, который позволяет пользователям запускать код без выделения серверов и управления ими. Пользователи могут напрямую загружать код и настраивать восходящие триггеры для запуска службы, а затем Lambda будет автоматически выполнять код при запуске события и платить только за время выполнения кода. Lambda поддерживает несколько языков программирования, таких как Node.js, Python, Java и т. д., и может быть легко интегрирована с другими сервисами AWS (такими как S3, DynamoDB, Kinesis и т. д.), что делает ее идеальным выбором для создания событийных сервисов. управляемые приложения.

Введение в службу API-шлюза

Amazon API Gateway — это полностью управляемый сервис, который позволяет разработчикам легко создавать, публиковать, поддерживать, отслеживать и защищать API. API Gateway поддерживает API RESTful и API WebSocket и может интегрироваться с AWS Lambda, конечными точками HTTP, сервисами AWS и другими серверными системами. С помощью API Gateway пользователи могут создавать безопасные, масштабируемые API и использовать встроенные возможности управления трафиком, мониторинга и управления версиями для упрощения управления API.

Введение в услугу SQS

Amazon Simple Queue Service (SQS) — это полностью управляемая служба очередей сообщений (очередь сообщений в облаке), предназначенная для разделения и масштабирования микросервисов, распределенных систем и бессерверных приложений. SQS предоставляет два типа: стандартные очереди и очереди FIFO. Первый обеспечивает высокую пропускную способность, но не гарантирует порядок сообщений, а второй гарантирует, что сообщения строго упорядочены и обрабатываются одновременно по требованию. С помощью SQS вы можете надежно отправлять, хранить и получать сообщения, обеспечивая слабую связь и высокую доступность между различными компонентами системы.

Поняв основные облачные сервисы, давайте научимся использовать код для определения и создания облачной инфраструктуры Amazon Cloud Technology (IaC). Мы используем инструмент AWS SDK, а языком сценариев — специальный машинописный язык AWS CDK.

Что такое AWS CDK?

AWS Cloud Development Kit (AWS CDK) — это среда разработки программного обеспечения с открытым исходным кодом, которая позволяет разработчикам определять облачную инфраструктуру с использованием знакомых языков программирования. Появление CDK делает создание ресурсов AWS и управление ими проще и эффективнее. Используя AWS CDK, разработчики могут писать инфраструктуру в виде кода, реализуя тем самым практику «Инфраструктура как код» (IaC).

Как установить AWS CDK локально?

Для установки CDK требуется заранее установить ряд зависимостей Node.js, npm и aws cli. После установки вышеуказанных зависимостей выполните конкретные шаги:

Установите AWS CDK

npm install -g aws-cdk

Проверка установки

cdk --version

Шаги по созданию сервера EC2 с использованием AWS CDK:

Инициализировать проект CDK

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


Установите необходимые модули AWS CDK.

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


Создайте и определите файл lib/my-cdk-stack.ts (ts предназначен для определения файла конфигурации собственной облачной архитектуры).

Основной файл приложения (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();

Создать лямбда-функцию

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

Создать 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. }

Создать очередь 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. }

Введение в курс Cloud Native

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


Брат Сяо Ли также подготовил все 12 банков вопросов для экзаменов на сертификат AWS и банк вопросов для сертификатов. Чтобы получить их, подпишитесь на личный чат Сяо Ли.

1️⃣ Что включает в себя этот сертификат?

▶️ Сначала представьте AWS Educate (бесплатный план обучения)

Это бесплатный проект для школьников и новичков в AWS, который поможет им изучить и освоить AWS. Он включает в себя сотни часов курсов + бесплатные эксперименты. Эксперименты проводятся в реальной среде AWS. Вам не нужно платить за создание ресурсов AWS. Настоятельно рекомендуется. В дополнение к этому сертификату разработчика доступны еще 9 бесплатных сертификатов по основам AWS☁️, разработке веб-систем, базам данных, сети, DevOps, безопасности и DeepRacer (беспилотный сервис AWS). Брат Ли получил 52 сертификата AWS!



▶️Что включает в себя этот сертификат бессерверной разработки?

Включая некоторые из самых популярных на данный момент знаний в области бессерверной разработки.

➡️ бессерверный сервис — AWS Lambda

➡️ Служба управления облачным API-API Gateway

➡️ Уведомление об облачных сообщениях, служба Pub/Sub-SNS.

➡️ Сервис очереди сообщений в облаке-SQS

2️⃣Как мне сдать экзамен, чтобы получить бесплатный сертификат?

▶️ Войдите в курс с главной страницы.
▶️ Войдите в интерфейс входа, введите пароль своей учетной записи и войдите в систему.


▶️Нажмите на панель управления в левом столбце изображения и нажмите на красное поле, чтобы войти в курс.


▶️Курс включает в себя 1 видео и 1 эксперимент (вы можете пропустить его, нажмите «Далее», чтобы перейти к финальному тесту)


▶️ Сертификат можно получить после прохождения итогового оценивания (10 вопросов, пройдено 70%)