在Cloud Workstations上构建的SQL 100题环境🏏
你好。我是Enabling团队的山本。
你们大家都在进行过敏症的预防吗?
听说”寡糖”对花粉症有效,于是我开始用自己的身体进行实验。
下一篇文章中,我想写一下”寡糖”的进展。
目前为止,感觉处于完美状态 ?✨
放在前面的事情就暂且不提,我们现在来谈谈云工作站(Workstations)。
正如您所知,Workstations是一种可以在云上构建开发环境的服务(目前处于预览阶段)。为了构建从4月开始的“新员工培训的开发环境(SQL 100本ノック环境)”,我们将查看Workstations的设置。
开发新员工培训环境(SQL百题挑战环境)。
-
- 小売の現場を変革するためには、データを利用した意思決定が不可欠です。データの利活用の第1歩として、SQL の使い手になってもらう必要があります。
-
- 弊社の Engineer の端末は、Mac と Windows が混在しています。
- Windows は、ソフトウェアのインストールが統制されており、自由にソフトウェアをインストールすることができません。
因此,工程师需要一个不依赖于特定终端环境的开发环境。
要点如下:
-
- 再現性。データが壊れても何度でも作り直せる。
-
- 期間限定。研修後は必要なくなる。
- セキュリティ。リモートワークで研修を進める期間があるためリーモートでログインできる。
云工作站
工作站是在集群节点上预装了集成开发环境(IDE)的服务。
-
- 使わない時は、停止できる。
-
- 一定時間未使用の場合は自動で停止される。
-
- 状態は Disk に保持される。
-
- 例えるなら Kubernetes の Deployment に remote でログインし操作するような環境です。
- そこが Google の Security で保護されている。
这一次,我们决定将工作站用作新员工培训的开发环境。
问题1:如何使用Devcontainer(远程容器)?
我开始建立环境时,发现了一个问题。
问题是无法使用Devcontainer。
作为SQL培训,我原本打算使用Devcontainer的Docker(PostgreSQL)。
然而,似乎无法在工作站上使用Devcontainer。
于是,我重新阅读文档,并发现如下写道。
在VPC内运行代码
由于Cloud Workstations可以在VPC内执行,因此可以在私有网络和分段环境中开发和运行代码,无需模拟服务。
只要与VPC相连的设备,就可以从工作站连接。
如果能利用这一点,就可以实现类似于Devcontainer的功能。
实际上,从Code-OSS的终端Ping Compute Engine实例,可以确认可以进行通信,具体如下。
user@workstation-danny:~/sitemap-submit$ ping 10.128.0.4
PING 10.128.0.4 (10.128.0.4): 56 data bytes
64 bytes from 10.128.0.4: icmp_seq=0 ttl=63 time=3.905 ms
64 bytes from 10.128.0.4: icmp_seq=1 ttl=63 time=0.430 ms
64 bytes from 10.128.0.4: icmp_seq=2 ttl=63 time=0.444 ms
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.430/1.593/3.905/1.635 ms
user@workstation-danny:~/sitemap-submit$
验证1
使用工作站的PostgreSQL工具进行连接验证。
这次我们将在Compute Engine上安装PostgreSQL。

总结
我写了关于云工作站的文章。
在途中,我遇到了Devcontainer的问题,感到非常焦虑 ?
顺便提一句,今年是我第一次参与新员工培训。
我认为新员工培训是涉及到他们、公司和我们未来的事情,因此我们需要认真面对。
我希望能够全力以赴地完成任务,并将所学应用于明年的新员工培训。