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.
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.
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.
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.
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.
CDK:n asentaminen edellyttää useiden riippuvuuksien Node.js, npm ja aws cli asentamista etukäteen Kun olet asentanut yllä olevat riippuvuudet, noudata seuraavia ohjeita:
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
Pääsovellustiedosto (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();
Luo lambda-funktio
- 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'),
- });
- }
- }
Luo API-yhdyskäytävä
- 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
- }
- }
Luo SQS-jono
- 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分钟就能拿到)。
Veli Xiao Li on myös valmistellut kaikki 12 AWS-todistusten kysymyspankkia ja todistuskysymyspankkia. Noudata Xiao Li:n yksityistä chattia.
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).
Sisältää joitakin suosituimmista tietopisteistä tällä hetkellä palvelimettomassa kehityksessä
▶️ 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)