aws / aws/aws-parallelcluster

[Feature Request] Port forwarding to Login nodes from the Load Balancer

Open
#6,652 1 comment 2 reactions 0 assignees View on GitHub
3.x Backlog Feature Request
Dominant language
Python
Stars
888
Forks
314
Avg merge
1d 10h
Merged PRs (30d)
43

Description

# Currently

PCluster creates for login nodes (pools) an Elastic Load Balancer (NLB) with:
- A target group encompassing the login nodes for Port 22, TCP
- A listener for port 22, TCP

# Request

Enable customization for this. For each [pool](https://docs.aws.amazon.com/parallelcluster/latest/ug/LoginNodes-v3.html#LoginNodes-v3-Pools) add the key "LoadBalancers" is a list of "LoadBalancer", having two keys "Type" and "PortForwardings". "Type" is either ALB or NLB for the type of load balancer. PortForwardings is a list of a "Portfowarding" class, having the keys:
- SourcePort, Integer, Required, Constraint: >= 0
- TargetPort, Integer, Required, Constraint: >= 0
- Protocol, String, Required, Constraint: [TCP, UDP]
- Certificate: String, optional, Constraint: ARN of certificate in ACM, default: None
- Stickiness: Boolean, optional, default: false

With those information, PCluster will set up the target groups and listeners, populated with the values provided.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing how PCluster currently creates the login-node pools' network load balancer, target group, and port-22 listener. Then trace the login-node pool configuration entry point and determine how the requested LoadBalancers and PortForwardings fields should map to ALB/NLB target groups and listeners; done means the documented options create the requested forwarding configuration with the stated validation and defaults.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, python
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.