Skip to content

Commit 4e82437

Browse files
add ingress and egress rules
1 parent 164e128 commit 4e82437

File tree

2 files changed

+44
-21
lines changed

2 files changed

+44
-21
lines changed

vllm/infra/ec2.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,8 @@ def setup():
227227

228228
# create fsx
229229
sg_fsx = fsx.create_security_group(vpc_id, "vllm-ec2-fsx-sg", "SG for Fsx Mounting")
230-
ingress_rules = [{"protocol": "tcp", "port": "988-1023"}]
231-
fsx.add_security_group_ingress_and_egress_rules(sg_fsx, ingress_rules)
230+
231+
fsx.add_security_group_ingress_and_egress_rules(sg_fsx)
232232

233233
fsx_config = fsx.create_fsx_filesystem(
234234
subnet_ids[0], [sg_fsx], 1200, "SCRATCH_2", {"Name": "vllm-fsx-storage"}

vllm/infra/utils/fsx_utils.py

Lines changed: 42 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -152,33 +152,56 @@ def delete_security_group(self, group_id: str):
152152
raise
153153

154154
def add_security_group_ingress_and_egress_rules(
155-
self, security_group_id: str, ingress_rules: List[Dict[str, Any]]
155+
self, security_group_id: str, client_security_group_id: str = None
156156
):
157157
"""
158-
Add ingress rules to an existing security group
158+
Add required ingress and egress rules for FSx Lustre
159159
: param security_group_id: ID of the security group to modify
160-
: param ingress_rules: list of dictionaries containing ingress rule configurations
161-
Example: [{"protocol": "tcp", "port": "988-1023", "source-group": "sg-xxx"}]
162-
: return: None
163-
: raises: Exception if adding ingress rules fails
160+
: param client_security_group_id: ID of the client security group (optional)
164161
"""
165162
try:
166-
for rule in ingress_rules:
167-
cmd = f"aws ec2 authorize-security-group-ingress --group-id {security_group_id}"
168-
for key, value in rule.items():
169-
cmd += f" --{key} {value}"
170-
run(cmd)
171-
172-
for rule in ingress_rules:
173-
cmd = f"aws ec2 authorize-security-group-egress --group-id {security_group_id}"
174-
for key, value in rule.items():
175-
cmd += f" --{key} {value}"
176-
run(cmd)
163+
# If client_security_group_id is not provided, use the same security group
164+
source_group = (
165+
client_security_group_id if client_security_group_id else security_group_id
166+
)
177167

178-
logger.info(f"Added ingress rules to security group: {security_group_id}")
168+
# Define the required rules
169+
rules = [
170+
# Ingress rules for port 988
171+
f"aws ec2 authorize-security-group-ingress --group-id {security_group_id} "
172+
f"--protocol tcp --port 988 --source-group {security_group_id}",
173+
f"aws ec2 authorize-security-group-ingress --group-id {security_group_id} "
174+
f"--protocol tcp --port 988 --source-group {source_group}",
175+
# Ingress rules for ports 1018-1023
176+
f"aws ec2 authorize-security-group-ingress --group-id {security_group_id} "
177+
f"--protocol tcp --port 1018-1023 --source-group {security_group_id}",
178+
f"aws ec2 authorize-security-group-ingress --group-id {security_group_id} "
179+
f"--protocol tcp --port 1018-1023 --source-group {source_group}",
180+
# Egress rules for port 988
181+
f"aws ec2 authorize-security-group-egress --group-id {security_group_id} "
182+
f"--protocol tcp --port 988 --destination-group {security_group_id}",
183+
f"aws ec2 authorize-security-group-egress --group-id {security_group_id} "
184+
f"--protocol tcp --port 988 --destination-group {source_group}",
185+
# Egress rules for ports 1018-1023
186+
f"aws ec2 authorize-security-group-egress --group-id {security_group_id} "
187+
f"--protocol tcp --port 1018-1023 --destination-group {security_group_id}",
188+
f"aws ec2 authorize-security-group-egress --group-id {security_group_id} "
189+
f"--protocol tcp --port 1018-1023 --destination-group {source_group}",
190+
]
191+
192+
# Execute each rule
193+
for cmd in rules:
194+
try:
195+
run(cmd)
196+
except Exception as e:
197+
logger.warning(
198+
f"Rule application failed: {e}. Continuing with remaining rules..."
199+
)
200+
201+
logger.info(f"Added security group rules to: {security_group_id}")
179202

180203
except Exception as e:
181-
logger.error(f"Failed to add ingress rules to security group: {e}")
204+
logger.error(f"Failed to add security group rules: {e}")
182205
raise
183206

184207
def setup_csi_driver(self):

0 commit comments

Comments
 (0)