Berbagi teknologi

Gunakan IaC (Infrastruktur sebagai Kode) untuk merancang dan membangun arsitektur cloud native di Amazon Cloud Technology AWS (dengan tutorial dan sertifikat pembelajaran gratis)

2024-07-12

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

Hari ini, Brother Li akan memperkenalkan kepada Anda penggunaan IaC (Infrastruktur sebagai Kode) untuk merancang dan membangun arsitektur asli cloud AWS dari Teknologi Cloud Amazon. Artikel ini akan memperkenalkan cara membangun layanan cloud native tanpa server di Amazon Cloud Technology, memperkenalkan layanan pengembangan yang digunakan, dan menampilkan kode cdk untuk membangun arsitektur cloud native. Brother Li juga akan berbagi dengan Anda sumber daya pembelajaran gratis untuk mempelajari dengan cepat teknologi populer dan mutakhir dari Amazon Cloud Technology, dan Anda dapat menerima sertifikat setelah menyelesaikan kursus.

Desain arsitektur tanpa server cloud-native dari Amazon Cloud Technology

Pengenalan layanan Lambda

AWS Lambda adalah layanan komputasi tanpa server yang memungkinkan pengguna menjalankan kode tanpa menyediakan atau mengelola server. Pengguna dapat langsung mengunggah kode dan mengatur pemicu upstream untuk menjalankan layanan, lalu Lambda akan secara otomatis mengeksekusi kode tersebut ketika peristiwa dipicu, dan hanya membayar waktu eksekusi kode tersebut. Lambda mendukung berbagai bahasa pemrograman, seperti Node.js, Python, Java, dll., dan dapat diintegrasikan secara mulus dengan layanan AWS lainnya (seperti S3, DynamoDB, Kinesis, dll.), menjadikannya pilihan ideal untuk membangun event- aplikasi yang digerakkan.

Pengenalan layanan API Gateway

Amazon API Gateway adalah layanan terkelola sepenuhnya yang memungkinkan pengembang membuat, menerbitkan, memelihara, memantau, dan mengamankan API dengan mudah. API Gateway mendukung RESTful API dan WebSocket API, serta dapat berintegrasi dengan AWS Lambda, titik akhir HTTP, layanan AWS, dan sistem backend lainnya. Melalui API Gateway, pengguna dapat membuat API yang aman dan dapat diskalakan serta memanfaatkan kemampuan kontrol lalu lintas, pemantauan, dan pembuatan versi bawaan untuk menyederhanakan pengelolaan API.

Pengenalan layanan SQS

Amazon Simple Queue Service (SQS) adalah layanan antrian pesan yang dikelola sepenuhnya (Antrian Pesan di cloud) yang dirancang untuk memisahkan dan menskalakan layanan mikro, sistem terdistribusi, dan aplikasi tanpa server. SQS menyediakan dua jenis: antrian standar dan antrian FIFO. Yang pertama memastikan throughput yang tinggi tetapi tidak menjamin urutan pesan, sedangkan yang kedua memastikan bahwa pesan diurutkan dan diproses secara ketat pada satu waktu sesuai permintaan. Dengan SQS, Anda dapat mengirim, menyimpan, dan menerima pesan dengan andal, memastikan sambungan longgar dan ketersediaan tinggi antar komponen sistem yang berbeda.

Setelah memahami layanan cloud-native arus utama, mari pelajari cara menggunakan kode untuk menentukan dan membuat Infrastruktur Cloud Teknologi Cloud Amazon (IaC). Alat yang kami gunakan adalah AWS SDK, dan bahasa skripnya adalah skrip bahasa khusus AWS CDK.

Apa itu AWS CDK?

AWS Cloud Development Kit (AWS CDK) adalah kerangka pengembangan perangkat lunak sumber terbuka yang memungkinkan pengembang menentukan infrastruktur cloud menggunakan bahasa pemrograman yang sudah dikenal. Kemunculan CDK membuat pembuatan dan pengelolaan sumber daya AWS menjadi lebih mudah dan efisien. Dengan menggunakan AWS CDK, pengembang dapat menulis infrastruktur dalam bentuk kode, sehingga menerapkan praktik Infrastruktur sebagai Kode (IaC).

Bagaimana cara menginstal AWS CDK secara lokal?

Menginstal CDK memerlukan instalasi serangkaian dependensi Node.js, npm, dan aws cli terlebih dahulu. Setelah menginstal dependensi di atas, ikuti langkah-langkah spesifik:

Instal AWS CDK

npm install -g aws-cdk

Verifikasi instalasi

cdk --version

Langkah-langkah membuat server EC2 menggunakan AWS CDK:

Inisialisasi proyek CDK

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


Instal modul AWS CDK yang diperlukan

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


Buat dan tentukan file lib/my-cdk-stack.ts (ts untuk menentukan file konfigurasi arsitektur cloud native)

File aplikasi utama (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();

Buat fungsi Lambda

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

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

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

Pengenalan kursus cloud native

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


Saudara Xiao Li juga telah menyiapkan 12 bank soal ujian sertifikat AWS dan bank soal sertifikat. Silakan ikuti obrolan pribadi Xiao Li untuk mendapatkannya.

1️⃣ Apa saja yang termasuk dalam sertifikat ini?

▶️ Pertama perkenalkan AWS Educate (paket pendidikan gratis)

Ini adalah proyek gratis untuk siswa sekolah dan pemula AWS untuk membantu mereka belajar dan menjadi mahir dalam AWS. Ini mencakup ratusan jam kursus + eksperimen gratis. Eksperimen berada di lingkungan AWS nyata. Anda tidak perlu membayar untuk membuat sumber daya AWS sendiri. Selain sertifikat pengembang ini, ada 9 sertifikat gratis lainnya yang tersedia untuk dasar-dasar AWS☁️, pengembangan sistem Web, database, jaringan, DevOps, keamanan, dan DeepRacer (layanan tanpa driver AWS). Datang dan ikuti Brother Li.



▶️Apa saja yang tercakup dalam sertifikat pengembangan tanpa server ini?

Termasuk beberapa poin pengetahuan terpopuler dalam pengembangan tanpa server saat ini

➡️ layanan tanpa server - AWS Lambda

➡️ Layanan manajemen Cloud API-API Gateway

➡️ Pemberitahuan pesan cloud, layanan Pub/Sub-SNS

➡️ Layanan Antrian Pesan di cloud-SQS

2️⃣Bagaimana cara mengikuti ujian untuk mendapatkan sertifikat gratis?

▶️ Masuk kursus dari beranda
▶️ Masuk ke antarmuka login, masukkan kata sandi akun Anda dan masuk


▶️Klik DashBoard di kolom kiri gambar dan klik kotak merah untuk masuk kursus


▶️ Kursus ini mencakup 1 video dan 1 eksperimen (Anda dapat melewatinya, klik Berikutnya untuk melompat ke tes akhir)


▶️ Anda bisa mendapatkan sertifikat setelah lulus Penilaian Akhir (10 soal, 70% lulus)