らんだむな記憶

blogというものを体験してみようか!的なー

GCPオベンキョ(4) — VPC/GCE/Cloud Functions

ここから一旦は無料枠で登録して色々試していく。¥32,565.00 クレジットが付与されるので色々試せる・・・はず。

を見た感じだと、リージョンはus-west1でマシンタイプはf1-microにしておくのが良いのだろう。

sshで接続したいので、アクセス方法を選択する  |  Compute Engine ドキュメント  |  Google Cloudの通りにする。

[USERNAME] は、インスタンスに接続するユーザーのユーザー名です。

ここについて最初 github に登録してるメールアドレスにしていたせいか Permission denied (publickey) で接続できなかった。そこで GCP に関連づけている Gmail のアドレスを very_tired_alice@gmail.com であるとして、

ssh-keygen -t rsa -f ~/.ssh/id_rsa.google_cloud -C very_tired_alice

ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519.google_cloud -C very_tired_alice

みたいにして秘密鍵と公開鍵を作成しておく。で、

pbcopy < ~/.ssh/id_rsa.google_cloud.pub

をして、これを GCE の「SSH 認証鍵」のところにペーストして、

ssh -i ~/.ssh/id_rsa.google_cloud very_tired_alice@PUBLIC_IP_OF_GCE

で接続すると、

very_tired_alice@my-gce-instance:~$

という感じでログインできる。

更に VPC の設定を行い VM インスタンスと関連づけた上で「ファイアウォール ルール」で接続元に制限をかければ不特定多数からのアクセスを阻止できる。Google Compute Engineのファイヤーウォールを理解する #gcpja | DevelopersIOなどが参考になる。ただ、これをやる場合、Cloud Shell などからの接続に支障が出るので、GCP - Cloud Shellのアクセス元グローバルIPを特定する方法 - Qiitaのようなことをするか、

curl ipinfo.io

で Could Shell 時のグローバル IP を特定して、これを「ファイアウォール ルール」に一時的に追加すれば良いと思われる。

後はInstall Docker Engine on Ubuntuでも参考にして docker を導入して

docker run -d -p 80:80 nginx

でもすれば Web サーバの起動テストができたぞーって感じで動作検証できるはず。