我正在使用 PHP AWS SDK,正在寻找避免网络问题的最佳方法。主要问题是:
如果 EC2 服务器通过 SDK 发出 REST 请求,那么该请求是否有可能被重定向到 Amazon Cloud 外部然后又重定向到 Amazon Cloud 内部?
如果请求经过“额外步骤”(例如 DNS 解析或类似操作),亚马逊是否需要支付额外费用?
仅作为示例,我正在使用该类S3Client
:
$oS3 = new \Aws\S3\S3Client(array(
'version' => 'latest',
'region' => S3_REGION,
'credentials' => array(
'key' => S3_KEY,
'secret' => S3_SECRET
)
));
$oS3->putObject(array(
'Bucket' => <Bucket>,
'Body' => <File_content>,
'Key' => <File_path>,
));
我看到有一个名为的参数endpoint
,你可以在那里分配另一个 URL。我发现此列表可能的端点,但我不知道设置一个或让 SDK 默认创建或分配一个是否真的可以有任何改进。
更新
为了简单起见,我制作了一张图片:
我的问题是:
两种情况都会发生吗?或者如果我让默认 URI 或我指定一种,则可能发生一种情况或另一种情况?
答案1
具体来说,对于 S3,定价页面声明从 S3 到 EC2 的同区域数据输入/输出是免费的。这强烈表明它是内部路由(如果不是,也没什么好担心的 - 他们把它当作内部路由来计费,而且出于安全考虑,它将通过 HTTPS 进行传输)。