重新迁移回 GCP
2016年12月12日
忍得住打 Call,忍不住折腾。看到黑科技就手痒。
虽然 AWS 用得挺安心不过越来越多的人向我抱怨博客打开速度很慢,想看文章都要等好久什么的。于是纠结了下,还是迁回了最贵但是最快的 Google Cloud Platform。这里记录一下调(zhe)教(teng)过程,毕竟 GCP 的 Cloud CDN 依然在 Alpha/Beta 阶段,可配置的选项实在太少而且很多 caveats。
前期准备
- 域名
- SSL 证书
- 网站程序或内容
创建实例
我这样没什么访问量的静态网站用 f1.micro
就好啦~ 不过流量比较大的网站的话,还是建议选择高一些的配置和 SSD。
然后创建一个实例组(instance group),确保该实例组包含刚才创建的实例。
NGINX 配置
网站等会说。总之先配置好 SSL 和 Health Check。
1 | # mkdir -p /var/www/hc |
默认站点配置 default.conf
1 | server { |
网站配置 example.com.conf
1 | server { |
(SSL 相关的很多配置步骤省略,请自行查阅其他文档)
创建负载均衡器
戳到 Networking 标签,选择 Load balancing
然后创建一个 HTTP(S) Load Balancing
。首先为负载均衡器命名,因为要分别创建 2 个负载均衡所以这里可以写例如 website-http
之类作为区分。配置页面的三个标签:
- backend
- 创建一个新的 backend
- backend service 选择 http
- instance group 选择刚才创建的实例组
- port numbers 80
- health check 创建新的 health check 并设置 custom header,和之前 NGINX 里的配置一致,这里是
hc
- 勾选 Enable Cloud CDN
- Host and path rules
- 添加域名对应的
/
和/*
两个路径规则。如果有特殊需求则另外添加。
- 添加域名对应的
- Frontend configuration
- Protocol 选择 HTTP
- Create IP Address 然后 reserve 一个 IP
第二个负载均衡器用于 HTTPS,名称可以是 website-https
这样。配置:
- backend
- 因为配置不一样,所以要再创建一个新的 backend
- backend service 选择 https (要点 Edit)
- instance group 选择刚才创建的同一个实例组
- port numbers 443
- health check 创建新的 health check 并设置协议为 https,custom header 为网站域名(因为要和 SSL 证书相符,示例里是
example.com
) - 勾选 Enable Cloud CDN
- Host and path rules
- 同上
- Frontend configration
- Protocol 选择 HTTPS
- IP 选择刚才 reserve 的 IP
- 创建证书,分别上传签发的证书、CA 证书链和私钥
更新解析&收尾
将域名的 DNS 解析到刚才 reserve 的 IP 即可。
至此就是基本的(当前版本的)Google Cloud CDN 配置步骤。还有很多可以自定义和扩展、优化的空间,但是这些需要根据特定的需求变化因此不再详细记录。
以及,不要忘记在虚拟机里把网站跑起来~
最后,南酱的 live 超棒(๑•̀ㅂ•́)و✧