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

Tạo VPC với constructor L1 trong CDK

Quân Nguyễn by Quân Nguyễn
25 Tháng 4, 2025
in DevOps & Cloud
0
Share on FacebookShare on Twitter

Trong bài viết trước mình đã giới thiệu về cách cài đạt và init một project CDK. Trong bài này mình xin chia sẽ các tổ chức thư mục project, bằng cách tạo một VPC sự dụng constructor L1



Bài viết trước


Cloud Development Kit (CDK) là gì?

Cấu trúc thư mục dự án

Ở CDK cũng có cấu trúc giống như Cloudformation, để tránh một sack của CDK trở nên quá dài khi có quá nhiều resources, mình sẽ tách resource thành nhiều file khác nhau, lưu ý nếu dùng nested stack cũng được nhé, mình sẽ giới thiệu ở bài viết sau.

Related Post

cdk terraform

CDK cho Terraform

29 Tháng 4, 2025
Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!

Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!

29 Tháng 4, 2025

Đổ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

cấu trúc thư mục dự án.

				
					.
├── lib
│   ├── hello-ckd-stack.ts
│   └── resources
│       └── vpc.ts
				
			

 mình sẽ tạo thêm một thư mục resources bên trong lib, sau đó mỗi khi mình thêm môt resource mới vào thì mình sẽ tạo một file mới ở đây.

file vpc.ts

				
					import * as ec2 from 'aws-cdk-lib/aws-ec2';
import { Construct } from 'constructs';
export class Vpc {
  public vpc: ec2.CfnVPC;
  private readonly VpcCidr: string;
  constructor( VpcCidr: string ) {
    this.VpcCidr = VpcCidr;
  }
  public createResources(scope: Construct) {
    this.vpc = new ec2.CfnVPC(scope, `VPC`, {
      cidrBlock: this.VpcCidr,
      enableDnsSupport: true,
      enableDnsHostnames: true,
      instanceTenancy: `default`,
      tags: [
        {
          key: `Name`,
          value: [`quannhm`, `vpc`].join('-'),
        },
      ],
    });
  }
}

				
			

mình sẽ khởi tạo một class vpc sau sau đó sẽ dùng một file index để upstream class này lên cấp thư mục. (mình nói sai thì các bạn góp ý cho mình ở phần bình luận nhé)

index.ts

				
					import { Vpc } from './vpc';
export { Vpc };
				
			

trong file hello-ckd-stack.ts mình sẽ call class vpc như sau.

				
					import * as cdk from 'aws-cdk-lib';
import { Vpc } from './resources';
export class HelloCkdStack extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
    super(scope, id, props);
    const VpcCidr: string = `10.90.16.0/22`;
    // VPC
    const vpc = new Vpc(
      VpcCidr,
    );
    vpc.createResources(this);
  }
}
				
			

bạn chạy cdk synth để kiểm tra.

				
					Resources:
  VPC:
    Type: AWS::EC2::VPC
    Properties:
     CidrBlock: 10.90.16.0/22
      EnableDnsHostnames: true
      EnableDnsSupport: true
      InstanceTenancy: default
      Tags:
        - Key: Name
          Value: quannhm-vpc
				
			

Github

code trong bài viết mình để ở đây.

Tổng kết

trong bài viết này mình đã chia sẽ cách tạo vpc với constructor L1 và cách tổ chức resources trong project. Với constructor L1  mình có thể tùy chỉnh được sâu hơn thay vì để cho CDK quyết định.

Trong bài sau mình sẽ hướng dẫn cách tạo subnet và tổ chức parameter.

Tags: awscdkec2hướng dẫnkiến trúcnetworkvpc
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
Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!
Tin tức

Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!

by devopsify
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
Next Post

Cấu hình đa môi trường cho CDK app

Để 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

Tổng hợp các phiên bản Stable Diffusion: So sánh, tính năng và yêu cầu phần cứng

Tổng hợp các phiên bản Stable Diffusion: So sánh, tính năng và yêu cầu phần cứng

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

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

11 Tháng 6, 2025
Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

16 Tháng 6, 2025
Cài đặt Maven trên Windows

Cài đặt Maven trên Windows

11 Tháng 6, 2025
Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

16 Tháng 6, 2025
MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

16 Tháng 6, 2025
DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

13 Tháng 6, 2025
GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

11 Tháng 6, 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

  • Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent
  • MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật
  • DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

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