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

时间:2017-08-26 23:57:00

标签: google-cloud-platform google-compute-engine

我有一个GCE VM实例运行一个安装了点击部署的WP站点。运行得很好,我设法从斯德哥尔摩获得了600ms的pingdom-tools for page。来自美国达拉斯并不是那么好:约4s来自澳大利亚...> 6s。

除了CDN之外,所有优化都已完成。由于我在云中运行,我认为很容易,但我很天真。

我正在尝试启用Google CDN但我在文档中感到困惑。

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

Q1:我必须这样做(DNS中的IP)吗?我不清楚。

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

Q2:如何将现有实例添加到新创建的组中?或者我可以吗?

我的WP站点是一个非常简单的站点,用于公司演示,因此我不需要计算能力。并行化静态资源的下载应该足够了,但为了学习,我愿意加倍努力,创建安装CDN所需的一切。

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

2 个答案:

答案 0 :(得分:0)

Google的CDN需要负载平衡。所以你需要设置它。具体来说,你想要:

TargetHttpProxy - > UrlMap - > BackendService - > (区域)非托管实例组 - >你的WP实例。

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

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

为什么是区域非托管实例组?

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

答案 1 :(得分:-1)

答案是:

  

你可以,但是对于托管实例来说它没用./

我个人认为,谷歌CDN仍需要增长一点 主要问题:

  • 没有“原始拉动”方法
  • 没有gzip或任何其他形式的处理
  • 每个文件都需要手动公开设置。您无法设置文件夹,文件夹结构中也没有递归传播。
  • 我遇到了与权利相关的非常奇怪的错误。我的实例可以将文件从存储桶复制到服务器但无法写入。经过几个小时的搜索,修复是为某些文件设置权限。

大约10个小时......试验。然后我在AWS上设置了一个CDN,只需几秒钟就可以复制/粘贴域名,只需点击几下即可。 也许这只是我,但我认为在这一点上它是一个可以改进的产品。

我尝试了什么: 我发布了一组托管实例,安装了WP“hello world”+ 1图片。您从cmd行执行此操作,click-to-deploy在此处不起作用。
然后我用BlazeMeter进行了压力测试,并将其自动调整为10个实例(左右)。那个很棒。
CDN已启用,但谷歌Pagespeed正在尖叫着并行下载并没有其他域,然后主要是在URL中发现。此外,加载时间与安装CDN之前的时间相同,所以...不是我真正需要的。

之后我通过存储桶创建了另一个CDN,它作为CDN工作。但是,没有PULL可用。您可以通过一个漂亮的拖放界面复制/粘贴相关文件。不够好,所以我尝试使用rsync只是为了落入许多权利冲突。最后它奏效了。然后我需要为每个文件设置公开可用的权限。无法设置文件夹,因此您需要输入每个文件夹,只选择文件并点击按钮。那也是。现在它正在运作。但是不支持gzip导致我的总体时间增加。没有其他方法可以自行gzip文件并再次上传。手动

所以我放弃并使用了我在不到1分钟内设置的另一个CDN。
我相信我需要等待一段时间,直到Google CDN成熟为止。