You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Fargate负载均衡器仅接受特定IP地址的流量

限制MLFlow Fargate服务仅允许特定CIDR访问

问题核心在于:公网流量先经过网络负载均衡(NLB),默认情况下NetworkLoadBalancedFargateService创建的NLB安全组允许所有公网IP访问,仅修改Fargate服务的安全组无法实现访问限制。需要修改NLB的安全组规则,同时可加固Fargate服务的安全组策略。

修改步骤与代码示例

  1. 定义需要授权的目标CIDR地址(替换为你的实际IP段)
  2. 修改NLB的安全组,仅允许指定CIDR访问5000端口
  3. 可选:加固Fargate服务的安全组,仅接受NLB的流量

以下是修改后的关键代码片段(替换原代码中Fargate服务创建后的相关部分):

# 定义允许访问的CIDR,替换为你的目标IP段
ALLOWED_CIDR = "192.168.1.0/24"

fargate_service = ecs_patterns.NetworkLoadBalancedFargateService(
    scope=self,
    id="MLFLOW",
    service_name=service_name,
    cluster=cluster,
    task_definition=task_definition,
)

# 1. 修改NLB的安全组:限制仅允许指定CIDR访问5000端口
nlb_security_group = fargate_service.load_balancer.connections.security_groups[0]
# 移除默认的全开放规则(如果存在)
for rule in nlb_security_group.ingress_rules:
    if rule.peer.to_string() == "0.0.0.0/0" and rule.connection == ec2.Port.tcp(5000):
        nlb_security_group.add_ingress_rule(peer=rule.peer, connection=rule.connection, remove_rule=True)
# 添加允许特定CIDR的规则
nlb_security_group.add_ingress_rule(
    peer=ec2.Peer.ipv4(ALLOWED_CIDR),
    connection=ec2.Port.tcp(5000),
    description="Allow inbound from allowed CIDR to MLFlow NLB"
)

# 2. 可选:修改Fargate服务的安全组,仅允许NLB的安全组访问(替代原VPC全段规则)
fargate_service.service.connections.security_groups[0].add_ingress_rule(
    peer=nlb_security_group,
    connection=ec2.Port.tcp(5000),
    description="Allow inbound from NLB to Fargate service",
    remove_rule=True  # 移除之前允许整个VPC访问的规则
)

# 保留原自动扩缩容配置
scaling = fargate_service.service.auto_scale_task_count(max_capacity=2)
scaling.scale_on_cpu_utilization(
    id="AUTOSCALING",
    target_utilization_percent=70,
    scale_in_cooldown=Duration.seconds(60),
    scale_out_cooldown=Duration.seconds(60),
)

说明

  • 将ALLOWED_CIDR替换为你实际需要授权的IP段,比如公司办公网IP、固定公网IP等
  • 移除NLB默认全开放规则是为了确保没有意外的访问权限,若确认默认规则不存在可跳过该步骤
  • 可选的Fargate安全组修改是进一步加固措施,确保服务仅接受来自NLB的流量

内容的提问来源于stack exchange,提问作者siavashk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 18:54:51