Tạo ECS cluster
Tạo ECS Cluster stack
- Mở CDK project tạo stack mới với tên là ClusterStack.java

- Để tạo ECS stack chúng ta cần VPC mà chúng ta đã tạo trước đó. Nên chúng ta cần tạo 1 record class để truyền VPC vào ECS Stack. Thêm đoạn code bên ngoài class ClusterStack
record ClusterStackProps(
Vpc vpc
){}

- Tạo thuộc tính cluster và phương thức getter
private final Cluster cluster;
public Cluster getCluster() {
return cluster;
}

- Tạo constructor
public ClusterStack(final Construct scope, final String id,
final StackProps props, ClusterStackProps clusterStackProps) {
super(scope, id, props);
}

- Khởi tạo đối tượng VPC bằng đoạn code sau trong contructor
this.cluster = new Cluster(this, "Cluster", ClusterProps.builder()
.build());

- Thêm tên của cluster là ECommerce
.clusterName("ECommerce")

- Thêm VPC vào cluster
.vpc(clusterStackProps.vpc())

- Cuối cùng là set containerInsight bằng true

Tổ chức ECS stack in CDK project
- Mở file root Fcj2024CdkApp

- Tạo ECS Stack với id là Vpc bằng đoạn code
ClusterStack clusterStack = new ClusterStack(app, "Cluster", StackProps.builder()
.build());

- Truyền VPC đã tạo trước đó cho ClusterStackProps của ECS stack
new ClusterStackProps(vpcStack.getVpc())

- Thêm environmen* và Tags cho ECS Stack
.env(environment)
.tags(infraTags)

- Bởi vì ECS cần có VPC nhưng chúng ta không thể biết chắc chắn rằng VPC có được tạo trước CES hay không. Vì vậy hãy thêm một ràng buộc là khi nào việc tạo VPC hoàn thành rồi ECS mới được tạo bằng cách
clusterStack.addDependency(vpcStack);

Deloy Ecs cluster bằng AWS CDK
- Để deloy ecs cluster, mở terminal và nhập
- Ta có thể deploy tất cả các stack bằng
- Ngoài ra chúng ta có thể bỏ qua bước confirm bằng cách
cdk deploy --all --require-approval never

Deloy Ecs cluster bằng AWS CDK
- Kiểm tra cluster vừa tạo
Truy cập vào AWS console, Nhập ECS, chọn Elastic Container Service

- Trong giao diện ECS, ta có thể thấy 1 cluster tên ECommerce đã được tạo
