In your CDK project, create a new stack named NlbStack.java and have the NlbStack class inherit from the Stack class from the amazon.awscdk library.

To create the NLB stack, we need the VPC that we created earlier. Therefore, we will create a record class named NlbStackProps to pass the VPC into the NLB Stack. Add the following code outside the ClusterStack class:
record NlbStackProps(
Vpc vpc
){}

private final VpcLink vpcLink;
private final NetworkLoadBalancer networkLoadBalancer;
private final ApplicationLoadBalancer applicationLoadBalancer;

public VpcLink getVpcLink() {
return vpcLink;
}
public NetworkLoadBalancer getNetworkLoadBalancer() {
return networkLoadBalancer;
}
public ApplicationLoadBalancer getApplicationLoadBalancer() {
return applicationLoadBalancer;
}

NlbStack class: public NlbStack(final Construct scope, final String id,
final StackProps props, NlbStackProps nlbStackProps) {
super(scope, id, props);
}

networkLoadBalancer object within the constructor: this.networkLoadBalancer = new NetworkLoadBalancer(this, "Nlb",
NetworkLoadBalancerProps.builder()
.build());

.loadBalancerName("ECommerceNlb")

.internetFacing(false)
.vpc(nlbStackProps.vpc())
