Teknologian jakaminen

Käytä IaC:tä (Infrastructure as Code) suunnittelemaan ja rakentamaan pilvipohjaista arkkitehtuuria Amazon Cloud Technology AWS:ssä (ilmaisilla oppimisohjeilla ja sertifikaateilla)

2024-07-12

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

Tänään Brother Li esittelee sinulle IaC:n (Infrastructure as Code) käytön Amazon Cloud Technologyn AWS-pilviarkkitehtuurin suunnittelussa ja rakentamisessa. Tässä artikkelissa esitellään, kuinka luodaan pilvipohjaisia ​​palvelimettomia palveluita Amazon Cloud Technologylle, esitellään käytetyt kehityspalvelut ja näytetään cdk-koodi pilvipohjaisen arkkitehtuurin rakentamiseen. Veli Li jakaa sinulle myös ilmaisia ​​oppimisresursseja, joiden avulla voit oppia nopeasti Amazon Cloud Technologyn suosittuja ja huipputeknologioita, ja voit saada todistuksen kurssin suorittamisen jälkeen.

Amazon Cloud Technologyn pilvipohjainen palvelimeton arkkitehtuurisuunnittelu

Lambda-palvelun esittely

AWS Lambda on palvelimeton laskentapalvelu, jonka avulla käyttäjät voivat suorittaa koodia ilman palvelimien provisiointia tai hallintaa. Käyttäjät voivat ladata koodin suoraan ja asettaa alkupään laukaisuja palvelun suorittamiseksi, minkä jälkeen Lambda suorittaa koodin automaattisesti, kun tapahtuma käynnistyy, ja maksaa vain koodin suoritusajasta. Lambda tukee useita ohjelmointikieliä, kuten Node.js, Python, Java jne., ja se voidaan integroida saumattomasti muihin AWS-palveluihin (kuten S3, DynamoDB, Kinesis jne.), joten se on ihanteellinen valinta tapahtumien rakentamiseen. ohjattuja sovelluksia.

API Gateway -palvelun esittely

Amazon API Gateway on täysin hallittu palvelu, jonka avulla kehittäjät voivat helposti luoda, julkaista, ylläpitää, valvoa ja suojata sovellusliittymiä. API Gateway tukee RESTful-sovellusliittymiä ja WebSocket-sovellusliittymiä, ja se voidaan integroida AWS Lambdaan, HTTP-päätepisteisiin, AWS-palveluihin ja muihin taustajärjestelmiin. API-yhdyskäytävän avulla käyttäjät voivat luoda turvallisia, skaalautuvia API-liittymiä ja hyödyntää sisäänrakennettuja liikenteenohjaus-, valvonta- ja versiointiominaisuuksia API-hallinnan yksinkertaistamiseksi.

SQS-palvelun esittely

Amazon Simple Queue Service (SQS) on täysin hallittu viestijonopalvelu (Message Queue pilvessä), joka on suunniteltu erottamaan ja skaalaamaan mikropalvelut, hajautetut järjestelmät ja palvelimettomat sovellukset. SQS tarjoaa kaksi tyyppiä: vakiojonot ja FIFO-jonot. Ensimmäinen takaa korkean suorituskyvyn, mutta ei takaa viestijärjestystä, kun taas jälkimmäinen varmistaa, että viestit järjestetään tarkasti ja käsitellään kerralla. SQS:n avulla voit lähettää, tallentaa ja vastaanottaa viestejä luotettavasti, mikä varmistaa löysän yhteyden ja korkean käytettävyyden eri järjestelmäkomponenttien välillä.

Kun olet ymmärtänyt valtavirran pilvipohjaiset palvelut, opimme käyttämään koodia Amazon Cloud Technology Cloud Infrastructure (IaC) -infrastruktuurin määrittämiseen ja luomiseen. Käyttämämme työkalu on AWS SDK, ja komentosarjakieli on AWS CDK:n erikoiskielikirjoitus.

Mikä on AWS CDK?

AWS Cloud Development Kit (AWS CDK) on avoimen lähdekoodin ohjelmistokehityskehys, jonka avulla kehittäjät voivat määrittää pilviinfrastruktuurin tutuilla ohjelmointikielillä. CDK:n syntyminen tekee AWS-resurssien luomisesta ja hallinnasta helpompaa ja tehokkaampaa. Käyttämällä AWS CDK:ta kehittäjät voivat kirjoittaa infrastruktuurin koodin muodossa ja siten toteuttaa Infrastructure as Code (IaC) -käytännön.

Kuinka asentaa AWS CDK paikallisesti?

CDK:n asentaminen edellyttää useiden riippuvuuksien Node.js, npm ja aws cli asentamista etukäteen Kun olet asentanut yllä olevat riippuvuudet, noudata seuraavia ohjeita:

Asenna AWS CDK

npm install -g aws-cdk

Tarkista asennus

cdk --version

EC2-palvelimen luominen AWS CDK:n avulla:

Alusta CDK-projekti

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


Asenna tarvittavat AWS CDK -moduulit

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


Luo ja määritä lib/my-cdk-stack.ts-tiedosto (ts määrittelee pilvipohjaisen arkkitehtuurin määritystiedoston)

Pääsovellustiedosto (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();

Luo lambda-funktio

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

Luo API-yhdyskäytävä

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

Luo SQS-jono

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

Pilvipohjaisen kurssin esittely

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


Veli Xiao Li on myös valmistellut kaikki 12 AWS-todistusten kysymyspankkia ja todistuskysymyspankkia. Noudata Xiao Li:n yksityistä chattia.

1️⃣ Mitä tämä todistus sisältää?

▶️ Esittele ensin AWS Educate (ilmainen koulutussuunnitelma)

Se on ilmainen projekti koululaisille ja AWS-aloittelijoille auttaakseen heitä oppimaan ja tulemaan taitaviksi AWS:ssä. Se sisältää satoja tunteja kursseja + ilmaisia ​​kokeiluja. Kokeilut ovat aidossa AWS-ympäristössä. Sinun ei tarvitse maksaa itse. Tämän kehittäjäsertifikaatin lisäksi saatavilla on 9 muuta ilmaista sertifikaattia AWS☁️-perustietoihin, tietokantoihin, verkkoon, DevOpsiin, tietoturvaan ja DeepRaceriin (AWS-ajuriton palvelu).



▶️Mitä tämä palvelimeton kehityssertifikaatti sisältää?

Sisältää joitakin suosituimmista tietopisteistä tällä hetkellä palvelimettomassa kehityksessä

➡️ Palvelimeton palvelu - AWS Lambda

➡️ Cloud API -hallintapalvelu-API Gateway

➡️ Pilviviesti-ilmoitus, Pub/Sub-palvelu-SNS

➡️ Viestijonopalvelu pilvi-SQS:ssä

2️⃣Kuinka suoritan kokeen saadakseni ilmaisen todistuksen?

▶️ Ilmoittaudu kurssille etusivulta
▶️ Siirry sisäänkirjautumisliittymään, syötä tilisi salasana ja kirjaudu sisään


▶️Klikkaa kuvan vasemmassa sarakkeessa olevaa DashBoardia ja klikkaa punaista ruutua päästäksesi kurssille


▶️ Kurssi sisältää 1 videon ja 1 kokeilun (voit ohittaa, klikkaa Seuraava siirtyäksesi viimeiseen kokeeseen)


▶️ Todistuksen saat, kun olet läpäissyt loppuarvioinnin (10 kysymystä, 70 % hyväksytty)