DevOps AI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
No Result
View All Result
Home DevOps & Cloud

Cloud Development Kit (CDK) là gì?

Quân Nguyễn by Quân Nguyễn
30 Tháng 4, 2025
in DevOps & Cloud
0
Cloud Development Kit (CDK) là gì?
Share on FacebookShare on Twitter

Giới thiệu và cài đặt CDK

CDK là bộ công cụ phát triển ứng dụng cung cấp những tính năng hỗ trợ việc xây dựng và triển khai trên nền tảng AWS. Khác với CloudFormation Template, CDK sử dụng các ngôn ngữ lập trình phổ biên như TypeScript, Java, C# giúp việc khai báo và cấu hình các tài nguyên tính toán theo hướng tiếp cận Imperative

Nhắc lại:

Phương pháp imperative tập trung cho câu hỏi How, qua việc định nghĩa trạng thái mong muốn và các bước hệ thống cần thực hiện để đạt được trạng thái đó.

Related Post

cdk terraform

CDK cho Terraform

29 Tháng 4, 2025
Đổi MTU cho Calico trong Kubernetes

Đổi MTU cho Calico trong Kubernetes

30 Tháng 4, 2025

Tắt NLA trên Amazon EC2 Windows instance

30 Tháng 4, 2025

Demo Tích Hợp Vault trong Kubernetes

30 Tháng 4, 2025

Sự khác biệt lớn so với Cloudformation là CDK có thể được trừu tượng hóa . Trong Cloudformation, ngay cả khi có các tài nguyên có các thuộc tính tương tự, cách duy nhất là củng cố định nghĩa của chúng. Tuy nhiên, CDK hỗ trợ nhiều ngôn ngữ lập trình và bằng cách tận dụng thế mạnh của các ngôn ngữ đó, có thể xác định tài nguyên với một lượng code nhỏ hơn.

Để thuận tiện cho việc sử dụng, AWS CDK xây dựng sẵn một thư viện – AWS Construct Library tương ứng với những tài nguyên, dịch vụ cung cấp bởi AWS. Dựa theo mục đích sử dụng, các thành phần trong thư viện được chia thành nhiều cấp độ khác nhau:

Low level – L1: bao gồm các CFN Resources, đại diện trực tiếp cho những tài nguyên có thể khai báo thông qua dịch vụ AWS CloudFormation. Ví dụ: CfnBucket tương ứng với AWS::S3::Bucket trong đặc tả của CloudFormation Template.

Middle level – L2: bao gồm các thành phần có tính đóng gói cao hơn, tập trung nhiều hơn vào mục đích sử dụng cụ thể. Các thành phần này được khai báo kèm theo những thiết lập thuộc tính với giá trị mặc định, hoặc phương thức thường được áp dụng trong quá trình sử dụng trên thực tế. Ví dụ: thành phần s3.Bucket cùng phương thức addLiffeCycleRule() cho phép bổ sung những qui tắc quản lý vòng đời sử dụng của một S3 Bucket.

Higher level – L3: hay còn gọi là Patterns, các thành phần này giúp người sử dụng nhanh chóng thiết lập những cấu hình ứng dụng được sử dụng phổ biến. Ví dụ: khai báo và thiết lập Fargate hoặc EC2-based Service trong aws-ecs-pattern thông qua một đối tượng duy nhất thay vì thực hiện hàng loạt các cấu hình thành phần ở mức thấp hơn như VPC, Task, Service.

Cài đặt AWS CDK

Trong bài biết này mình sẻ sử dụng ngôn ngử Typescript, 

					
				

Kiểm tra xem đã cài đặt đúng chưa

					
				

Cấu hình CDK

để có thể dùng CDk bạn cần phải cấu hình biến môi trường về tài khoản và khu vực (region).

Cấu hình biến môi trường trên macOS, các bạn dùng linux cũng tương tự nha.

thêm hai dòng sau vào file .zshrc hoặc bashrc.

					
				

Tạo một dự án

					
				

sau đó mở thư mục dự án bằng VS code.

Cấu hình TS-node

ts-node là một mô-đun Node.js sử dụng trình biên dịch TypeScript để chuyển mã TypeScript và chạy nó trong Node. ts-node là một phần của hệ sinh thái Node/npm

					
				

cấu hình trong cdk.json

					
				

Cấu hình CDK app

Phần mình sẽ cấu hình region và tài khoản cho app bằng cách đọc hai biến môi trường đã cấu hình ở bước trên, ngoài ra mình còn cấu hình thêm stack name.

					
				

Định nghĩa tài nguyên đầu tiên

					
				

lib/stack.ts

					
				

Mình sẽ tạo một vpc,  sau đó dùng lệnh cdk synth để gen ra CLoudfromation nhằm mục đích kiểm tra xem resource tạo ra có đúng hay không.

					
				

Triển khai

Khi bạn triển khai ứng dụng AWS CDK cho môi trường của mình (tài khoản / khu vực) lần đầu tiên, hãy thực hiện cài đặt ban đầu. Hãy thực hiện lệnh.

					
				
					
				

và sau đó nó đã tạo ra một VPC, bốn mạng con, bốn bảng định tuyến, một cổng internet, hai elastic IP và hai cổng NAT. 

Bạn sẽ tự hỏi là tại sao lại như thế, bạn chỉ khai báo mỗi VPC thôi mà? đó là vì constructor (Cấu trúc) được sử dụng trong mẫu Vpc này là L2 và bằng cách tạo nó, các tài nguyên khác cần thiết cho việc xây dựng mạng đã được tạo cùng với các cài đặt thích hợp.

Nó có thể thuận tiện cho những người không quan tâm đến cài đặt chi tiết và muốn triển khai thứ gì đó hoạt động ngay lập tức, nhưng là một kỹ sư cơ sở hạ tầng, mình muốn tùy chỉnh các thuộc tính của từng tài nguyên một cách chi tiết.

Github

clone source code trong bài viết ở đây.

Dọn dẹp

để dọn dẹp bạn dùng lệnh cdk destroy, tỏng bài này mình đã nói tổng quan một cách đơn giản nhất để tạo một vpc với CDK, trong phần sau mình sẽ chia sẽ thêm về phần tesing và format code.

Tổng kết

trong bài viết này mình đã giớ thiệu tổng quan về CDK, trong bài viết tới mình sẽ nói về các sử dụng constructor L1 để định nghĩa tài nguyên một cách chi tiết.

Tags: cdkCloudformationcông cụđịnh nghĩaec2hoạt độngkiến trúclinuxTypeScriptvpc
Quân Nguyễn

Quân Nguyễn

Related Posts

cdk terraform
DevOps & Cloud

CDK cho Terraform

by Quân Nguyễn
29 Tháng 4, 2025
Đổi MTU cho Calico trong Kubernetes
DevOps & Cloud

Đổi MTU cho Calico trong Kubernetes

by Hiếu Tạ
30 Tháng 4, 2025
Tắt NLA trên Amazon EC2 Windows instance
DevOps & Cloud

Tắt NLA trên Amazon EC2 Windows instance

by Hiếu Tạ
30 Tháng 4, 2025
Next Post

Luồng hoạt động của Azure Pipeline

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Recommended

Cài đặt Maven trên Windows

25 Tháng 4, 2025

Các website demo hay được sử dụng cho thực hành Automation Test

1 Tháng 5, 2025
Cài đặt Jenkins bằng Docker

Cài đặt Jenkins bằng Docker

30 Tháng 4, 2025

Kiểm tra tài nguyên CPU, RAM trên Ubuntu 22.04

25 Tháng 4, 2025
Unit Test là gì?

Unit Test là gì?

29 Tháng 4, 2025
cdk terraform

CDK cho Terraform

29 Tháng 4, 2025
Hướng Dẫn Thiết Lập LDAPS Trên Windows Server 2022

Hướng Dẫn Thiết Lập LDAPS Trên Windows Server 2022

26 Tháng 4, 2025
DeepSeek AI là gì? Tổng hợp các mô hình DeepSeek mạnh mẽ nhất hiện nay

DeepSeek AI là gì? Tổng hợp các mô hình DeepSeek mạnh mẽ nhất hiện nay

1 Tháng 5, 2025
DevOpsify

Cộng đồng DevOps Việt Nam chia sẽ kiến thức giúp tăng tốc quá trình phát triển ứng dụng và tự động hóa trong lĩnh vực Cloud DevOps & AI.

Bài viết mới

  • Unit Test là gì?
  • CDK cho Terraform
  • Hướng Dẫn Thiết Lập LDAPS Trên Windows Server 2022

Categories

  • AI & Automation
  • Bảo mật
  • Chưa phân loại
  • DevOps & Cloud
  • Tin tức
No Result
View All Result
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud

© 2025 DevOpsify