Tips Deploy Serverless Apps using AWS CDK

ductrungdipper

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 cách đơn giản và nhất quán để xác định cơ sở hạ tầng và ứng dụng của bạn bằng cách sử dụng các ngôn ngữ lập trình quen thuộc như TypeScript, Python và Java.

Bài viết này 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.Chúng tôi sẽ tạo API REST cho phép người dùng tạo và liệt kê các mục TODO.

## Đ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 đây:

* Tài khoản AWS
* AWS CLI đã cài đặt và cấu hình
* AWS CDK được cài đặt và cấu hình
* Trình chỉnh sửa văn bản hoặc IDE

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

Đầu tiên, chúng ta cần tạo một dự án mới.Chúng ta có thể làm điều này bằng cách chạy lệnh sau:

`` `
Ứng dụng CDK init -Tiểu ngôn
`` `

Điều này sẽ tạo ra một thư mục mới gọi là `my-app`.Bên trong thư mục này, bạn sẽ tìm thấy một tệp có tên là `bin/main.ts`.Tệp này là nơi chúng tôi sẽ xác định cơ sở hạ tầng và ứng dụng của chúng tôi.

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

Trong tệp `bin/main.ts`, chúng ta cần nhập các mô -đun sau:

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

Sau đó, chúng tôi có thể xác định cơ sở hạ tầng của mình bằng mã sau:

`` `
const app = new cdk.app ();

const api = new apigateway.restapi (Ứng dụng, 'myapi');

const handler = new Lambda.Function (Ứng dụng, 'myHandler', {
Mã: Lambda.Code.FromAsset ('Lambda'),
Handler: 'index.handler',
Thời gian chạy: lambda.runtime.nodejs_14_x,
});

api.addmethod ('get', '/todos', {
Handler: Handler,
});

app.synth ();
`` `

Mã này tạo ra API API Gateway Rest mới và chức năng Lambda.Hàm Lambda chịu trách nhiệm xử lý các yêu cầu đối với API.

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

Để triển khai cơ sở hạ tầng của bạn, hãy chạy lệnh sau:

`` `
Triển khai CDK
`` `

Điều này sẽ tạo các tài nguyên sau trong tài khoản AWS của bạn:

* API API Gateway Rest
* Một chức năng Lambda
* Bảng DynamoDB

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

Bây giờ cơ sở hạ tầng của bạn đã được triển khai, bạn có thể kiểm tra ứng dụng của mình bằng cách thực hiện yêu cầu đến điểm cuối cổng API.

Bạn có thể tìm thấy URL điểm cuối trong đầu ra của lệnh `cdk triển khai`.

Để đưa ra yêu cầu, bạn có thể sử dụng lệnh Curl sau:

`` `
Curl -x Nhận https: // <API-Gateway-Endpoint>/Todos
`` `

Điều này sẽ trả về một danh sách các Todos ở định dạng JSON.

## 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.Bạn có thể sử dụng AWS CDK để triển khai bất kỳ loại ứng dụng không máy chủ nào, từ API REST đơn giản đến các dịch vụ vi mô phức tạp.

Để biết thêm thông tin, vui lòng tham khảo tài liệu AWS CDK.

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

AWS CDK is a framework for building serverless applications on AWS. It provides a simple and consistent way to define your infrastructure and applications using familiar programming languages like TypeScript, Python, and Java.

This article will show you how to deploy a simple serverless app using AWS CDK. We'll create a REST API that allows users to create and list todo items.

## Prerequisites

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

* An AWS account
* The AWS CLI installed and configured
* The AWS CDK installed and configured
* A text editor or IDE

## Create a new project

First, we need to create a new project. We can do this by running the following command:

```
cdk init app --language typescript
```

This will create a new directory called `my-app`. Inside this directory, you will find a file called `bin/main.ts`. This file is where we will define our infrastructure and applications.

## Define your infrastructure

In the `bin/main.ts` file, we need to import the following modules:

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

We can then define our infrastructure using the following code:

```
const app = new cdk.App();

const api = new apigateway.RestApi(app, 'MyApi');

const handler = new lambda.Function(app, 'MyHandler', {
code: lambda.Code.fromAsset('lambda'),
handler: 'index.handler',
runtime: lambda.Runtime.NODEJS_14_X,
});

api.addMethod('GET', '/todos', {
handler: handler,
});

app.synth();
```

This code creates a new API Gateway REST API and a Lambda function. The Lambda function is responsible for handling requests to the API.

## Deploy your infrastructure

To deploy your infrastructure, run the following command:

```
cdk deploy
```

This will create the following resources in your AWS account:

* An API Gateway REST API
* A Lambda function
* A DynamoDB table

## Test your application

Now that your infrastructure is deployed, you can test your application by making a request to the API Gateway endpoint.

You can find the endpoint URL in the output of the `cdk deploy` command.

To make a request, you can use the following curl command:

```
curl -X GET https://<api-gateway-endpoint>/todos
```

This will return a list of todos in JSON format.

## Conclusion

In this tutorial, you learned how to deploy a simple serverless app using AWS CDK. You can use AWS CDK to deploy any type of serverless application, from simple REST APIs to complex microservices.

For more information, please refer to the AWS CDK documentation.
 
Join Telegram ToolsKiemTrieuDoGroup
Back
Top