文档章节

GCP(Google Cloud Platform)入门

o
 osc_y8yehimr
发布于 2019/03/20 20:32
字数 2781
阅读 20
收藏 0

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

本文由 简悦 SimpRead 转码, 原文地址 https://zhuanlan.zhihu.com/p/40983101

好久没更专栏了,都快荒废了,这段时间发生了很多事,往事不提,开始更正文:

众所周知,GCP 的中国台湾节点对大陆十分友好,但小白在新建、配置实例的时候会碰到很多困难,我在第一次使用的时候,也遭遇不少坑,有许多设定是极其反人类的。

下面分享一些经验,给后面的同学做参考。

阅读本文的前提:

  1. 你已经有了一个 Google 账号;

2. 能够正常访问 http://google.com 域名的爱国工具;

3. 已注册 GCP;

4. 已绑定信用卡并获得新注册用户 300 美金的赠送余额。

一、创建实例

登陆 GCP 平台的控制面板:

https://console.cloud.google.com​console.cloud.google.com

打开侧边栏,找到「Compute Engine」,在弹出的二级列表中,单击「VM 实例」:

GCP 平台的实例,都是依附于对应的项目下的,所以你需要先新建一个项目,项目名 ID 保持默认,项目名称可按照自己的喜好自定,单击「创建」即可:

首次创建项目,需要一段时间,请耐心等待:

继续等,如果时间过长,请刷新浏览器。

当「创建」按钮由灰蓝变蓝,就可以创建实例了:

挨个讲一下创建实例时的选项:

1. 名称自定,使用默认的也行。

2. 区域选择「asia-east1(中国台湾)」,地区都是中国台湾彰化县,有 a、b、c 可选,我选的是 c,据说网络质量更好一些。

3. 机器类型选择「微型」,租用机器本身按时付费,月计 5$,流量费 0.23$/GB,不包含在机器价格内,额外计算,也是用多少算多少,挺金贵的。

4. 「容器」功能相当于链接一个远程镜像,当做系统安装盘,用 GCP 自带的镜像就好了,都是最新版的系统,不用选。

5. 点击「启动磁盘」的「更改」按钮,可以在 GCP 自带的系统安装镜像里选一个,我习惯用 Debian 系 Linux,选择 Debian 9 或是 Ubuntu 16.04 都是可以的。默认磁盘容量 10GB,富强上网足够,选择更大容量的磁盘需额外计费。

6. 「身份和默认 API 权限」及关联选项保持默认

7. 「防火墙」选项下的 http 和 https 必须开启,否则你将无法通过这两个协议访问到机器,比如在 GCP 实例上建设网站,访客无法访问

8. 不用单独展开「管理、安全、磁盘、网络、单独租用」做额外设置,点击「创建」即可新建实例:

新创建的实例如下:

二、配置实例(用户管理、网络设置)

下面我们可以在浏览器里远程连接服务器,在命令行里直接设置 root 用户密码,使用 root 用户登录等。

在「连接」功能的下拉菜单里,点击「在浏览器窗口中打开」:

稍后出现命令行操作界面:

输入:

sudo passwd root

为 root 用户设置密码。

建议在在线随机密码生成器 生成一个包含大小写字母、特殊符号、数字的 30 位以上随机密码,将密码复制下来粘贴(Ctrl+C)到命令行中,按回车,再输入一次密码,按回车,使密码生效:

使当前用户具备 root 权限:

su root

再次输入密码,授权成功:

编辑 ssh 服务配置文件:

vim /etc/ssh/sshd_config

找到这一行:

PermitRootLogin prohibit-password

将「prohibit-password」改成「yes」,使允许 root 用户登录:

并且将「PasswordAuthentication」从默认的「no」改成「yes」:

最后是这样的:

顺便把 ssh 端口号(Port)改成高端口(范围 10000~65535),避免密码在默认端口被暴力破解:

按 Esc,输入:

:wq

确认保存并退出。

重新启动 ssh 服务,使更改生效:

/etc/init.d/ssh restart

特别地,GCP 配置了自己的防火墙(类似阿里云的安全组规则),默认只允许 22、80、443、3306 等常用端口传入,这就意味着如果我们设置了高端口用本地 ssh 工具连接,以及使用带有动态端口切换功能的敬业代理时,防火墙规则会造成许多麻烦,所以我们要把所有端口的访问都打开。

设置非 22 端口用 GCP 自带工具做 ssh 连接,如果未在防火墙里允许放行对应的端口,即使指定对应端口做登陆也会登录失败(疯起来我寄几都咬)。

返回实例管理列表,点击最右边的竖排省略号,在展开的列表点击「查看网络详情」:

鼠标移到左侧列表并展开:

点击「防火墙规则」:

默认处于「入站」选项卡,点击「创建防火墙规则」:

设置好防火墙规则名称后,「流量方向」选择「入站」:

「对匹配项执行的操作」保持默认「允许」。

「目标」选择「网络中的所有实例」,「来源 IP 地址范围」输入「0.0.0.0/0」(允许所有 IP)。

「次要来源过滤条件」保持默认「无」,「协议和端口」选择「全部允许」,最后点击「创建」:

等待创建完成:

同样给出站规则设置放行所有 IP、协议和端口,因为法治上网的代理需要允许主机去访问目标网站,把获得的流量转发给客户端,方法如法炮制,直接上图:

特别地,「来源过滤条件」除了可以设置允许全部内网机器访问外网,你还可以指定「子网」规则之一,如勾选「10.140.0.0/20」(亚洲东部 1 区,即中国台湾机房),不同地域的实例处于不同的子网,从逻辑上,它们从属于同一 GCP 账户下的同一项目中,彼此之间构成了一个局域网。

在这里「全选」也是可以的 不同地域的机房拥有不同的子网 IP 地址GCP 管理面板首页可直接查看当前实例所在子网的 IP 地址

创建:

至此,所有的设置就完成了。凭服务器 IP、端口、root 用户名、root 用户密码,就可以在 XShell 里连接到机器了。

三、意外处理(实例新建后无系统 & 设置新的用户并采用密钥登录)

3.1

在创建实例时,偶尔会发现「启动磁盘」项没有「更改」按钮,也没有标注系统名称,这意味着实例创建后是没有系统的,更无从远程连接,使用后续功能。碰到这种情况,请返回 VM 实例控制面板首页,先将当前磁盘完全为空的机器删除:

接着,将左侧列表展开,点击「映像」:

在列表中点击需要安装的系统:

点击「创建实例」:

注意事项和第一章「创建实例」的要求相同:

3.2

由于安全方面的考虑,你仍然可以选择自定义用户名,并用对应的密钥登录,你可以先在 Xshell 中生成一个新的密钥文件:

工具(T)→新建用户密钥生成向导(W):

选项默认,下一步:

继续:

密钥名称自定,设置什么样的密钥名称,就意味着你以什么样的用户名登录系统(不可设置为 root),用户密钥加密密码属于可选项,可不填,意思就是在这个密钥的外壳又添加一个密码,使用密钥的时候需要输入密码:

是(Y):

「用户密钥」里,可看到我们刚才创建的,名称叫「exp」的密钥:

接着,选中要导入到 GCP 钥匙串的密钥,点击右边的「属性(P)」,并切换到「公钥」选项卡:

接着,将公钥里的内容(以 ssh-rsa 开头的),将到末尾两个等于号(=)处的内容,复制出来:

然后,登陆 GCP 的控制面板,点击侧边栏的「元数据」:

点击第二个选项卡——「SSH 密钥」:

修改:

添加一项:

把刚才复制来的公钥粘贴进来,此时会提示密钥格式无效:

不要着急,在密钥末尾的两个等于号之后,打一个空格,再输入任意字母 + 英文数字,ssh 密钥就创建成功了,同时空格后面输入的内容,就是你登录 GCP 实例的用户名:

保存生效:

然后,在 Xshell 里建立新连接:

名称(N)自定,主机(H)填 IP,端口号(O)默认 22,如果在 sshd 文件里更改了,请自行用新的端口号:

点击侧边栏的「用户身份验证」,方法(M)选择「PublicKey」,用户名填你刚才在 GCP 后面板→元数据→ssh 密钥里,在「== 」后面设置过的用户名。

「用户密钥」选择你刚才用 Xshell 密钥生成工具生成的那个,点击下方「确定」保存。

快捷键「Alt+O」快速启动连接,选中刚才设置好的那台机器,点击连接(C),就可以成功连上 GCP 实例了,用户名就是我们刚才设置的「exp」:

写下你的评论...

还有哪些靠谱加密方式?

密钥 + 任意高端口登录就很安全啦,比密码登录安全,注意密钥文件不要随便暴露给别人

不赞,但是分享到朋友圈。

您的转发是支持我的动力

非常详细,感谢 还有哪些靠谱加密方式?

密钥 + 任意高端口登录就很安全啦,比密码登录安全,注意密钥文件不要随便暴露给别人

抱歉我没说清楚,我说的不是 ssh 登录,我是说科学上网酸酸乳的靠谱加密方式。貌似 aes 加密已经 GG 了。。。 唉,太贵了,最便宜的都要 4.28 刀,还不包括流量费用。流量费用 0.23 刀一个 G。用不起用不起。快到期了,正发愁以后用什么呢。

第一年有送 300 刀给你免费用的呀,刨掉最低配机器钱,分摊每个月折合流量也有 80G 左右可用,你一个人爱国上网用肯定够,先占一年便宜再说呗

已经用了 11 个月了,还剩 1 个月到期。不过找到了 AWS 了,又能蹭一年了

图文非常详细,太赞了,竟然还是个妹纸~

尝试了一下感觉延迟还是比较严重... 但是好像也没有很好的解决方法 orz

协议和端口全部允许。。。看得我很慌

手机党操作: wc 那步后如何保存呢,我只有自己关了,然后重启 SSH 显示失败

就是重启 SSH 使更改生效显示失败,另外 SSR 手机端已经可以上网,但是我的谷歌软件都无法升级,没有速度,不知道怎么破

想知道这东西理论上会不会被 q 掉,比如直接禁止访问台湾的 GCP 服务器

下一篇: node.js安装
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
InfluxDB goes live on Google Cloud

http://www.zdnet.com/article/influxdb-goes-live-on-google-cloud/ In a long-awaited move, time series database provider InfluxDB announced general availability of its managed clo......

osc_tylqml9v
03/19
5
0
InfluxDB goes live on Google Cloud

http://www.zdnet.com/article/influxdb-goes-live-on-google-cloud/ In a long-awaited move, time series database provider InfluxDB announced general availability of its managed clo......

osc_neocf7df
03/19
1
0
Google Cloud Platform 支持 R 语言

R 语言最常用于数据分析工具和统计应用程序。为了在 Google Cloud Platform(GCP) 上为 R 编程语言提供更多支持,Google 宣布推出 Cloud Dataproc 上的 Spark 测试版。据谷歌称,云计算的兴...

程六金
2018/12/22
815
1
Google Cloud joins DLT platform Hedera Hashgraph's governing council

http://www.zdnet.com/article/google-cloud-joins-dlt-platform-hedera-hashgraphs-governing-council/ Google Cloud Platform (GCP) has announced joining the Hedera Governing Council,......

osc_ty60k6mi
03/19
2
0
Google Cloud hits a $10B annual revenue run rate

http://www.zdnet.com/article/google-cloud-hits-a-10b-annual-revenue-run-rate/ Google Cloud has hit a $10 billion annual revenue run rate, Google said Monday as its parent compan......

osc_7slii3nj
03/19
2
0

没有更多内容

加载失败,请刷新页面

加载更多

VB语言基础重要知识点12

我们课程,我们做一些针对于考试的简要讲解。 一、有关考试的几个问题 首先,提问:考试最重要的是什么? 答案其实很简单:得分!!!!! 想要得分,就要做到基本的保存。 保存哪些文件呢?...

刘金玉编程
2019/10/30
3
0
全网最全JAVA、Python电子书!限时领取,过时不候!

给大家整理了最全的入门+进阶书籍!!! 免费领取,无套路! 加微信发送“电子书” 秒通过,秒发资源! 本文分享自微信公众号 - Python进击者(JAVAandPythonJun)。 如有侵权,请联系 supp...

kuls
01/16
0
0
原创356--免费还是付费

最近得有一个星期,被一个录屏软件(record it)烦到了,本来免费版可以无限制录制,只能720p,GIF不支持,高清不支持,没有剪辑功能。 之前调研了好几种,用起来还是这个方便,就一直用了。...

八音弦
04/24
10
0
数字IC技术讨论群,设计和验证、前端和后端,总有你感兴趣的话题。快满了,需要的抓紧加入。

本文分享自微信公众号 - 白山头讲IC(gray_mount)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

白山头
04/29
0
0
how to install mongodb in centos7

[root@xtwj88 ~]# cat /etc/yum.repos.d/mongodb-org-4.2.repo [mongodb-org-4.2]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86......

qwfys
18分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部