我有一个 ECS 服务集群,运行在几台 EC2 机器上。每项服务都面向互联网并形成一个目标组,所有这些目标组都位于同一个负载均衡器上。
Architecture:
Service 1 -> TG1 -> ELB
Service 2 -> TG2 -> ELB
ELB Rules:
If request from 1.domain.com -> route to Service 1
If request from 2.domain.com -> route to Service 2
这些服务通过其公共 CNAME 相互通信。
我正在尝试计算当服务 1 通过调用 2.domain.com 上的端点与服务 2 通信时数据传输成本。我认为即使服务位于同一区域(实际上可能托管在同一台机器上),我们也会按与数据输出到公共互联网相同的费率收费,因为通信不是通过私有 IP 进行的,而是通过公共互联网进行的。我查阅了 AWS 文档,但找不到任何相关内容来证实这一点。有人能帮忙吗?
编辑后添加:我的 AWS 账单反映了数据输出费用,因为我们使用多项公共服务,并向网络外的客户提供信息。我想知道这个特定案例是否也需要收费。
答案1
即使您正在访问同一服务器或 VPC 内的服务,如果您通过公有 IP 地址访问该服务,则连接将退出 VPC 并重新进入。这将产生传出数据传输费用。
要访问同一 VPC(或同一服务器)内的服务而不产生数据传输成本,请使用私有 IP 地址或 localhost/127.0.0.1(如果服务位于同一服务器上)。