尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Cortex 自定义域名配置指南:使用 AWS Route 53 为你的 API 绑定专属子域名

发布时间:2026/9/26 10:25:39

资讯中心
01
ARTICLE

Cortex 自定义域名配置指南:使用 AWS Route 53 为你的 API 绑定专属子域名

Cortex 自定义域名配置指南:使用 AWS Route 53 为你的 API 绑定专属子域名
后端云原生模型推理服务MLOps人工智能【免费下载链接】cortexProduction infrastructure for machine learning at scale项目地址https://gitcode.com/gh_mirrors/co/cortex点击查看免费下载本指南面向部署了 Cortex 机器学习生产集群的用户完整讲解如何通过 AWS Route 53 托管区Hosted Zone为 Cortex API 配置专属自定义子域名例如api.example.com使部署在集群上的推理 API 以api.example.com/hello-world这类易读、稳定的地址对外提供服务。读完本文你将掌握从创建 Route 53 托管区、在根域名服务商处配置 NS 委派、为 API 负载均衡器添加 Alias 记录到连通性排错与清理下线的一整套实战流程。背景Cortex 的 API 负载均衡器与自定义域名的作用在 Cortex 集群中所有已部署的 API 共享同一个 API 负载均衡器API load balancer。从源码可以确认这个负载均衡器对应的是 istio-system 命名空间下的ingressgateway-apisServicepkg/operator/operator/k8s.go 中APILoadBalancerURL()通过getLoadBalancerURL(ingressgateway-apis)获取 API 入口地址pkg/consts/consts.go 定义了IstioNamespace istio-systemmanager/install.sh 安装时也会读取ingressgateway-apisService 的 hostname 作为api_load_balancer_endpoint。默认情况下该负载均衡器是公网可达的地址形如a5044e34a352d44b0945adcd455c7fa3-32fa161d3e5bcbf9.elb.us-west-2.amazonaws.com——这是一串难以记忆、不便对外暴露的长域名详见 负载均衡器说明。配置自定义域名的核心价值在于对外可读用api.example.com/hello-world替代一长串 AWS 生成的 ELB 域名解耦底层设施底层 ELB 变更时客户端地址不受影响为 HTTPS 铺路完成本指南后可进一步在 ACM 申请证书并启用 HTTPS见 HTTPS 配置。前置条件开始前请确认以下事项你拥有一个已在注册商处购买的域名本指南以cortexlabs.dev为例且能够登录该域名的 DNS 管理后台拥有 AWS 账户可以访问 Route 53 控制台 与 EC2 Load Balancer 控制台已部署一个正在运行的 Cortex 集群并通过cortex cluster info可以查询到 API 负载均衡器地址了解你自己域名的根 DNS 服务商是谁通常就是购买域名的注册商除非你已把 DNS 托管转移到了别处例如 AWS Route 53、Google Domains、GoDaddy 等。第一步在 Route 53 创建子域名的托管区要为一个子域名如api.cortexlabs.dev建立独立的 DNS 解析体系需要在 Route 53 中创建一个专属的托管区Hosted Zone。打开 Route 53 控制台进入 Hosted Zones点击 Create Hosted Zone将你的子域名如api.cortexlabs.dev填入 Domain name然后点击 Create托管区创建完成后记录下其中NSName Server记录里的 4 个权威名称服务器地址。这些 NS 值稍后需要写到根域名服务商的 DNS 配置里用于把子域名的解析权委派给 Route 53。这里创建的是一个子域名独立托管区而不是在根域名的托管区里直接加记录。这样做的好处是把 API 相关的 DNS 记录与根域名其他记录隔离便于单独管理与清理。第二步在根域名服务商处添加 NS 委派记录创建好 Route 53 托管区后还需要让互联网上的递归解析器知道api.cortexlabs.dev这个子域名的权威解析权已经被委托给 Route 53。登录你的根 DNS 服务商即注册商或其他 DNS 托管平台的管理后台为子域名添加一条NSName Server记录将上一步记录到的 4 个 Route 53 名称服务器填入保存后任何对api.cortexlabs.dev的 DNS 查询都会先被引导到 Route 53 的托管区再由该托管区内的记录给出最终答案。不同服务商的添加 UI 会有差异例如本指南使用的 Google Domains 与 AWS Route 53 控制台界面就完全不同但核心配置项是一致的主机名子域名 类型NS 4 个名称服务器值。第三步找到 Cortex API 负载均衡器接下来需要把子域名指向实际承载 API 流量的负载均衡器。打开 EC2 Load Balancer 控制台在负载均衡器列表中定位 Cortex 的 API 负载均衡器判定方法查看每个负载均衡器上的kubernetes.io/service-name标签。该标签对应的是 Kubernetes Service 名API 入口对应的 Service 名是ingressgateway-apis命名空间istio-system与 pkg/operator/operator/k8s.go 中APILoadBalancerURL()读取的 Service 完全一致记下该负载均衡器的名称后续创建 Alias 记录时要用。更快捷的方式是使用 CLI在本地运行cortex cluster info输出中会直接给出 API 负载均衡器端点load balancer endpoint无需逐个比对标签。第四步在 Route 53 添加指向 API 负载均衡器的 Alias 记录回到 Route 53 控制台执行以下操作选择第一步创建的api.cortexlabs.dev托管区点击 Create Record Set创建记录集Name 留空——因为托管区本身就是api.cortexlabs.dev留空表示记录适用于该子域名本身类型选择A并勾选Alias在 Alias Target 中选择或输入你在第三步记下的 API 负载均衡器名称点击 Create 完成创建。创建完成后api.cortexlabs.dev的所有流量就会经由 Route 53 解析到 Cortex 集群的 API 负载均衡器进而路由到集群内对应的 API 工作负载即ingressgateway-apis→ Istio 网关 → 各 API 服务。验证自定义域名是否生效1. 先部署一个 API参考仓库中的示例例如 test/apis/realtime/hello-world 下的cortex_cpu.yaml定义了一个最小化的 Realtime API。使用 CLI 部署cortex deploy cortex_cpu.yaml2. 向自定义域名发起请求部署完成后用 curl 或浏览器验证curl http://api.cortexlabs.dev/hello-world如果 API 支持 GET 请求也可以直接把该 URL 粘贴到浏览器中访问。3. 观察并处理 DNS 传播延迟如果请求返回curl: (6) Could not resolve host: api.cortexlabs.dev说明本地或沿途的 DNS 缓存尚未刷新等待几分钟后再试并建议换一台之前从未访问过该 URL的设备验证——这样可以排除本地 DNS 缓存造成的假阴性。常见连通性问题排错由于 DNS 属于分布式缓存体系排错时请优先考虑传播时延而不是怀疑配置错误场景预期耗时新建 DNS 记录后首次访问通常需要 510 分钟完成传播更新已有 DNS 记录缓存过期可能从几分钟到最长 48 小时期间仍会使用旧配置排查步骤建议确认 Route 53 托管区中的 Alias 记录指向的是ingressgateway-apis对应的负载均衡器可用cortex cluster info交叉核对端点确认根域名服务商处的 NS 委派记录填写的是当前 Route 53 托管区的 4 个名称服务器而非旧托管区的值使用dig api.cortexlabs.dev或nslookup观察解析结果确认返回的是 ELB 的 A 记录若解析正确但连接失败检查负载均衡器的安全组与api_load_balancer_cidr_white_list如已配置是否放行了客户端 IP——该配置项定义在 pkg/types/clusterconfig/cluster_config.go。衔接 HTTPS为自定义域名签发证书并启用 SSL完成本指南后你的 API 虽然可以通过自定义域名访问但默认的 API 负载均衡器 SSL 证书是安装时用localhost作为 Common Name 自动生成的直接使用 HTTPS 会面临证书校验失败详见 负载均衡器说明。因此若要对外提供可信的 HTTPS 服务需要在AWS Certificate Manager (ACM)申请覆盖api.cortexlabs.dev的公网证书并通过 DNS 验证在 Route 53 托管区自动添加验证记录将证书 ARN 写入集群配置# cluster.yaml ... ssl_certificate_arn: ARN of your certificate该字段在 pkg/types/clusterconfig/config_key.go 中被定义为ssl_certificate_arn对应结构体字段SSLCertificateARN见 cluster_config.go类型为可选字符串。应用配置# 新建集群 cortex cluster up cluster.yaml # 或更新已有集群 cortex cluster configure cluster.yaml等待 DNS 传播完成后即可用https://api.cortexlabs.dev/hello-world替代原来的 ELB 域名发起请求。详细的 ACM 证书申请与验证步骤见 HTTPS 配置指南。如果不想管理域名与证书也可以考虑使用 AWS API Gateway 直接为负载均衡器提供 HTTPS 入口相关操作见 API Gateway 配置注意 API Gateway 对单请求有 30 秒超时限制。清理与下线当集群不再需要时按以下顺序清理资源避免产生持续费用使用cortex cluster down销毁 Cortex 集群含 API 负载均衡器在 Route 53 控制台 删除为子域名创建的托管区api.cortexlabs.dev若曾启用 HTTPS还需在 ACM 控制台删除不再使用的 SSL 证书详见 HTTPS 清理如有需要删除根域名服务商处的 NS 委派记录恢复子域名的默认解析。小结通过 Route 53 托管区 NS 委派 Alias 记录三个步骤你就能为 Cortex 集群的 API 负载均衡器ingressgateway-apis绑定一个易读、稳定的自定义子域名。整个链路为客户端 → api.example.com → Route 53Alias 记录→ API 负载均衡器NLB→ istio-system/ingressgateway-apis → 对应 API 服务。在此基础上配合 ACM 证书与 HTTPS 配置即可让集群上的机器学习 API 以标准、可信的 HTTPS 地址面向生产环境提供服务。赞分享后端云原生模型推理服务MLOps人工智能【免费下载链接】cortexProduction infrastructure for machine learning at scale项目地址https://gitcode.com/gh_mirrors/co/cortex点击查看免费下载相关推荐Chalice 自定义域名配置完全指南为 REST 与 WebSocket API 绑定专属域名Chalice 自定义域名配置完全指南为 REST 与 WebSocket API 绑定专属域名 Chalice 支持为部署的 REST API 与 WebS后端云原生Chalice 自定义域名实战教程使用 Route53 与 ACM 为 REST API 绑定专属域名Chalice 自定义域名实战教程使用 Route53 与 ACM 为 REST API 绑定专属域名 导读 API Gateway 在每次部署 REST A后端云原生Encore 自定义域名配置指南为你的云环境绑定自有域名并启用 WAF 防护Encore 自定义域名配置指南为你的云环境绑定自有域名并启用 WAF 防护 导读 Encore 平台默认会为每个应用环境分配共享域名 encr.app 下的后端开发工具云原生微服务上一篇番茄小说本地下载终极方案免费打造永不消失的个人书库下一篇PathOfBuilding Mod 语法完全指南从 mod() 函数到 Extra Tags 的源码级解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。