我正在逐渐习惯云计算,尤其是亚马逊网络服务(AWS)。
AWS 有区域 (Region) 和可用区 (Availability Zone) 的概念。区域 (Region) 内的所有可用区都通过特殊的内部网络连接。
当我在区域内传输数据时,是否会自动使用这个内部网络?
例如:1)我从 EC2 向 S3 发出 HTTP-GET 请求以接收文件。2)我从 EC2 向充当 S3 代理的 API 网关发出 HTTP-GET 请求
答案1
您所描述的在 AWS 术语中定义为“VPC 端点”。
这是一个详细描述的链接, https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html
基本上,要访问 API Gtw 或 S3,您可以选择在 S3 服务情况下创建接口端点或网关端点。否则,流量将通过现有的防火墙离开 VPC,并路由回 S3/API 公共接口。
答案2
亚利桑那州际交通
在可用区内,如果您使用私有 IP 地址,则您正在使用内部 AWS 网络。如果您使用私有 IP,则 ELB、RDS、Elasticache、S3 和 EC2 实例 AZ 之间的流量是免费的。如果您使用公共 IP,则需要付费。
大多数可用区间流量都是免费的,但可用区间流量可能会收费。小心不要被抓住,AWS 带宽非常昂贵。一般来说,如果您需要反向代理,请考虑使用 AWS Lightsail 实例。
区域间交通
区域之间的流量需要收费,目前为 0.02 美元/GB。我很确定这会通过私有 AWS 网络进行,但你应该确保对传输中的流量进行加密。
VPC 终端节点
AWS 也有以下概念VPC 终端节点。这会将私有端点放入您的 VPC 中,因此到 S3 和其他公共服务的流量将通过 AWS 网络而不是互联网传输。这提高了安全性并提高了性能。我认为 AWS 不会为此收费。
还有其他概念,例如 PrivateLink,但我不想在这里解释有关 EC2 的所有内容。
EC2 定价页面
这是来自 EC2定价页面。
同一 AWS 区域内的数据传输
跨可用区或同一 AWS 区域内的 VPC 对等连接,从 Amazon EC2、Amazon RDS、Amazon Redshift、Amazon DynamoDB Accelerator (DAX) 和 Amazon ElastiCache 实例或弹性网络接口“传入”和“传出”的数据按每个方向 0.01 USD/GB 的费率收费。
IPv4:从公共或弹性 IPv4 地址“传入”和“传出”的数据单向收费为 0.01 美元/GB。IPv6:从不同 VPC 中的 IPv6 地址“传入”和“传出”的数据单向收费为 0.01 美元/GB。
在同一可用区内的 Amazon EC2、Amazon RDS、Amazon Redshift、Amazon ElastiCache 实例和弹性网络接口之间传输数据是免费的。使用 VPC 对等连接传输数据时请参见上文。
在同一 AWS 区域内的 Amazon S3、Amazon Glacier、Amazon DynamoDB、Amazon SES、Amazon SQS、Amazon Kinesis、Amazon ECR、Amazon SNS 或 Amazon SimpleDB 与 Amazon EC2 实例之间传输数据是免费的。通过 PrivateLink 终端节点访问的 AWS 服务将产生标准的 PrivateLink 费用,如下所述。
在同一个 AWS 区域的 EC2 实例和负载均衡器之间,使用私有 IP 地址从 Amazon Classic 和 Application Elastic Load Balancer 传输的数据都是免费的。