Google cloud platform GCE:为现有VM实例启用CDN/将现有VM实例添加到新的区域实例组

Google cloud platform GCE:为现有VM实例启用CDN/将现有VM实例添加到新的区域实例组,google-cloud-platform,google-compute-engine,Google Cloud Platform,Google Compute Engine,我有一个运行WP站点的GCE VM实例,安装了click to deploy。运行非常好,我在pingdom工具上为一个页面从斯德哥尔摩获得了600毫秒。从美国到达拉斯没那么好:~4s从澳大利亚来……>6秒 除了CDN之外,所有优化都已完成。因为我在云端跑步,我觉得很简单,但我很天真 我试图启用谷歌CDN,但我在文档中感到困惑 尝试1: 尝试从我的wp实例创建负载平衡并添加bucket,但没有得到任何结果。我没有做的是将LB IP添加到我的DNS 问题1:我必须这样做吗(DNS中的IP)?我不清

我有一个运行WP站点的GCE VM实例,安装了click to deploy。运行非常好,我在pingdom工具上为一个页面从斯德哥尔摩获得了600毫秒。从美国到达拉斯没那么好:~4s从澳大利亚来……>6秒

除了CDN之外,所有优化都已完成。因为我在云端跑步,我觉得很简单,但我很天真

我试图启用谷歌CDN,但我在文档中感到困惑

尝试1: 尝试从我的wp实例创建负载平衡并添加bucket,但没有得到任何结果。我没有做的是将LB IP添加到我的DNS

问题1:我必须这样做吗(DNS中的IP)?我不清楚

尝试2 创建实例组,区域。听起来不错,但我已经有了一个实例,有一个固定的IP和一个连接到它的域

问题2:如何将现有实例添加到新创建的组中?或者我不能

我的WP站点是一个超级简单的站点,用于公司演示,所以我不需要计算能力。静态资源的并行下载应该足够了,但是为了学习,我愿意付出额外的努力,创建安装CDN所需的任何东西


问题3:有没有更简单的方法只为静态资源创建CDN?

谷歌的CDN需要负载平衡。所以你需要设置它。具体而言,您需要:

TargetHttpProxy->UrlMap->BackendService->(分区)非托管实例组->您的WP实例

这是API和CLI的外观。如果您使用的是Web UI,只需设置一个普通HTTP负载平衡器,并为实例组请求分区和非托管

稍后,您可以在另一个区域(或区域)中添加另一个非托管实例组,并将其附加到同一后端服务以实现负载平衡。它是您启用CDN的后端服务


为什么是分区非托管实例组

首先,只有非托管实例组允许您添加不是由InstanceGroupManager创建的实例。由于非托管实例组的唯一类型是分区非托管实例组,因此这是您唯一的选择。但这并不太重要,因为您可以简单地创建更多实例组。

答案是:

您可以,但对托管实例没有用处。

在我个人看来,谷歌CDN仍需要进一步发展。
主要问题:

  • 无“原点拉动”方法
  • 没有gzip或任何其他形式的处理
  • 每个文件都需要手动设置为公开可用。无法设置文件夹,并且文件夹结构中没有递归传播。
  • 我遇到了与权利相关的非常奇怪的错误。我的实例可以将文件从bucket复制到服务器,但无法写入。经过数小时的搜索,修复程序将设置某些文件的权限。
大约10个小时的。。。做实验。然后我在AWS上设置了一个CDN,只需几秒钟就可以复制/粘贴域名,只需点击几下即可。 所以,也许只有我一个人,但我认为在这一点上,这是一个可以改进的产品

我尝试的是: 我已经启动了一组托管的实例,安装了带有“hello world”+1张图片的WP。从cmd行执行此操作时,单击部署在此处不起作用
然后我用BlazeMeter做了一个压力测试,它自动缩放到10个实例(大约)。干得好。
CDN已经启用,但Google Pagespeed却在尖叫着要并行下载,而且没有其他域名可以在URL中找到主域名。此外,加载时间与安装CDN之前相同,因此。。。不是我真正需要的

之后,我通过bucket创建了另一个CDN,它作为CDN工作。但是,没有可用的拉力。您可以通过一个漂亮的拖放界面复制/粘贴相关文件。不够好,所以我尝试使用rsync,但却遇到了许多权利冲突。终于成功了。然后我需要为每个文件设置公开可用的权限。无法设置文件夹,因此您需要输入每个文件夹,仅选择文件并点击按钮。我也这么做了。现在它开始工作了。但是gzip不受支持,这导致我的总时间增加。没有其他方法可以解决这个问题,然后自己gzip文件并再次上传。手动

所以我放弃了,使用了另一个CDN,我在不到1分钟的时间内设置好了它

我相信我需要再等一段时间,直到Google CDN成熟。

非托管实例组有帮助吗?如果我错了,请纠正我,但当我从单区域切换到多区域时,我无法再将我的实例添加到组中。其思想不是在同一个区域上有多个实例,而是在全球范围内部署它,从而部署多个区域。我错过什么了吗?我仍然期望一个简单的静态资源CDN应该比这个更简单。嗨@Stephen Weinberg,谢谢你的回复。因为“评论”不够大,所以我用了“回复”。如果您需要更详细的反馈,请告诉我。