Tips Deploy Serverless Apps using AWS CDK

vocricket1

New member
[TIẾNG VIỆT]:
** Triển khai các ứng dụng không có máy chủ bằng AWS CDK **

AWS CDK là một khung để xây dựng các ứng dụng không có máy chủ trên AWS.Nó cung cấp một sự trừu tượng hóa cấp cao để xác định cơ sở hạ tầng của bạn, vì vậy bạn có thể tập trung vào logic kinh doanh của mình.Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách triển khai một ứng dụng không có máy chủ đơn giản bằng AWS CDK.

## Điều kiện tiên quyết

Để làm theo với hướng dẫn này, bạn sẽ cần những điều sau:

* Tài khoản AWS
* AWS CDK CLI đã cài đặt
* AWS SAM CLI đã cài đặt

## Tạo một dự án mới

Đầu tiên, chúng tôi sẽ tạo một dự án mới bằng AWS CDK CLI.Chạy lệnh sau để tạo thư mục mới cho dự án của bạn:

`` `
MKDIR My-app
cd my-app
`` `

Tiếp theo, khởi tạo dự án AWS CDK bằng cách chạy lệnh sau:

`` `
Ứng dụng khởi động CDK
`` `

Điều này sẽ tạo ra một thư mục mới gọi là `my-app` với cấu trúc dự án cơ bản.

## Xác định cơ sở hạ tầng của bạn

Bước tiếp theo là xác định cơ sở hạ tầng của bạn bằng AWS CDK.Chúng tôi sẽ tạo một ứng dụng không có máy chủ đơn giản bao gồm chức năng Lambda và điểm cuối cổng API.

Mở tệp `lib/my-app-stack.js` và thêm mã sau:

`` `JS
Nhập * dưới dạng CDK từ '@AWS-CDK/Core';
nhập * dưới dạng lambda từ '@aws-cdk/aws-lambda';
Nhập * dưới dạng Apigateway từ '@AWS-CDK/AWS-APIGATEWAY';

Lớp Xuất MyAppStack mở rộng cdk.stack {
Constructor (Phạm vi, ID, Đạo cụ) {
Super (Phạm vi, ID, đạo cụ);

// Tạo chức năng Lambda
const myfunction = new Lambda.Function (this, 'myfunction', {
Mã: Lambda.Code.FromAsset ('Lambda'),
Handler: 'index.handler',
Thời gian chạy: lambda.runtime.nodejs_14_x,
});

// Tạo điểm cuối cổng API
const myapi = new apigateway.restapi (cái này, 'myapi');
const mymethod = myapi.addmethod ('get', '/', {
Tích hợp: Apigateway.integration.fromlambda (myfunction),
});

// triển khai ngăn xếp
this.deploy ();
}
}
`` `

Mã này tạo ra một hàm Lambda được kích hoạt khi yêu cầu được thực hiện cho điểm cuối `/` của API cổng API.Chức năng Lambda chỉ cần trả lại một tin nhắn nói rằng "Xin chào thế giới!".

## Triển khai cơ sở hạ tầng của bạn

Khi bạn đã xác định cơ sở hạ tầng của mình, bạn có thể triển khai nó bằng AWS CDK CLI.Chạy lệnh sau để triển khai ngăn xếp của bạn:

`` `
Triển khai CDK
`` `

Điều này sẽ tạo chức năng Lambda và điểm cuối cổng API trong tài khoản AWS của bạn.

## Kiểm tra ứng dụng của bạn

Bây giờ ứng dụng của bạn đã được triển khai, bạn có thể kiểm tra nó bằng cách thực hiện yêu cầu đến điểm cuối cổng API.Bạn có thể làm điều này bằng cách sử dụng AWS CLI hoặc máy khách REST.

Để thực hiện yêu cầu bằng AWS CLI, hãy chạy lệnh sau:

`` `
AWS APIDIGEWAY GET-REST-APIS-TUYỆT VỜI US-EAST-1 |jq -r '.Items [0] .id'
`` `

Điều này sẽ trả về ID của API cổng API của bạn.

Tiếp theo, chạy lệnh sau để lấy URL gọi cho điểm cuối `/`:

`` `
AWS APIDIGEWAY GET-REST-APIS-TUYỆT VỜI US-EAST-1 |jq -r '.items [0] .Resource [0] .id'
`` `

Điều này sẽ trả về URL gọi cho điểm cuối `/`.

Cuối cùng, hãy chạy lệnh sau để đưa ra yêu cầu đến điểm cuối cổng API:

`` `
Curl -x Get https: // <Gọi -url>
`` `

Bạn sẽ thấy một phản hồi nói rằng "Xin chào thế giới!".

## Phần kết luận

Trong hướng dẫn này, bạn đã học cách triển khai một ứng dụng không có máy chủ đơn giản bằng AWS CDK.AWS CDK là một công cụ mạnh mẽ có thể giúp bạn xây dựng và triển khai máy chủ phức tạp

[ENGLISH]:
**Deploy Serverless Apps using AWS CDK**

AWS CDK is a framework for building serverless applications on AWS. It provides a high-level abstraction for defining your infrastructure, so you can focus on your business logic. In this article, we'll show you how to deploy a simple serverless app using AWS CDK.

## Prerequisites

To follow along with this tutorial, you'll need the following:

* An AWS account
* The AWS CDK CLI installed
* The AWS SAM CLI installed

## Create a new project

First, we'll create a new project using the AWS CDK CLI. Run the following command to create a new directory for your project:

```
mkdir my-app
cd my-app
```

Next, initialize the AWS CDK project by running the following command:

```
cdk init app
```

This will create a new directory called `my-app` with a basic project structure.

## Define your infrastructure

The next step is to define your infrastructure using AWS CDK. We'll create a simple serverless app that consists of a Lambda function and an API Gateway endpoint.

Open the `lib/my-app-stack.js` file and add the following code:

```js
import * as cdk from '@aws-cdk/core';
import * as lambda from '@aws-cdk/aws-lambda';
import * as apigateway from '@aws-cdk/aws-apigateway';

export class MyAppStack extends cdk.Stack {
constructor(scope, id, props) {
super(scope, id, props);

// Create a Lambda function
const myFunction = new lambda.Function(this, 'MyFunction', {
code: lambda.Code.fromAsset('lambda'),
handler: 'index.handler',
runtime: lambda.Runtime.NODEJS_14_X,
});

// Create an API Gateway endpoint
const myApi = new apigateway.RestApi(this, 'MyApi');
const myMethod = myApi.addMethod('GET', '/', {
integration: apigateway.Integration.fromLambda(myFunction),
});

// Deploy the stack
this.deploy();
}
}
```

This code creates a Lambda function that is triggered when a request is made to the `/` endpoint of the API Gateway API. The Lambda function simply returns a message saying "Hello World!".

## Deploy your infrastructure

Once you've defined your infrastructure, you can deploy it using the AWS CDK CLI. Run the following command to deploy your stack:

```
cdk deploy
```

This will create the Lambda function and API Gateway endpoint in your AWS account.

## Test your app

Now that your app is deployed, you can test it by making a request to the API Gateway endpoint. You can do this using the AWS CLI or a REST client.

To make a request using the AWS CLI, run the following command:

```
aws apigateway get-rest-apis --region us-east-1 | jq -r '.items[0].id'
```

This will return the ID of your API Gateway API.

Next, run the following command to get the Invoke URL for the `/` endpoint:

```
aws apigateway get-rest-apis --region us-east-1 | jq -r '.items[0].resources[0].id'
```

This will return the Invoke URL for the `/` endpoint.

Finally, run the following command to make a request to the API Gateway endpoint:

```
curl -X GET https://<invoke-url>
```

You should see a response that says "Hello World!".

## Conclusion

In this tutorial, you learned how to deploy a simple serverless app using AWS CDK. AWS CDK is a powerful tool that can help you to build and deploy complex serverless
 
Join Telegram ToolsKiemTrieuDoGroup
Back
Top