目的
- GCEインスタンスを起動
- GCEインスタンスにSSH接続
- WindowsPCからとりあえずSSH接続できるところまで
- おまけ:GKEノード(Kubernetes)にSSH接続
前提
- Googleアカウントがある
- プロジェクトを作成済
作業
- 作成を押してVMを作り始める
- リージョンを決める。無料対象はアメリカ西側など限られるので注意
- インスタンス性能を決める。microが無料らしいのでmicroを選択。デフォルトは違うので注意。
- SSDの容量を決める。30Gまで無料らしい。せっかくなので変更しておく。
- SSHでつなぐので固定外部IPをアタッチする
- AWSと同じく使わないで放置しておくと料金が発生するらしいので注意
- 必要事項を入力し生成
- AWSと同じく使わないで放置しておくと料金が発生するらしいので注意
- インスタンスが作成されるまで待つ
GCEインスタンスにSSH接続したい場合
- メタデータメニューからSSH認証鍵タブを選択
- 手持ちのSSH公開鍵を登録
- SSH公開鍵を貼り付ける
- SSHクライアントで接続してみる。
- コマンドラインの場合
//win
ssh -i "C:\Users\appuser\Desktop\work\sshkey\kp-appuser" appuser@35.211.xxx.xxx
//mac
ssh -i appuser-key appuser@35.211.xxx.xxx
GKEノードにSSH接続したい場合
- Cloud ShellからNode名を指定して"gcloud compute ssh"で接続
$ kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
sample-app-server-644758d6d-2gvsb 0/1 CrashLoopBackOff 220 18h 10.48.1.10 gke-sample-cluster-default-pool-abcbad49-2w8m <none> <none>
sample-app-server-644758d6d-5x8k4 0/1 CrashLoopBackOff 220 18h 10.48.2.6 gke-sample-cluster-default-pool-abcbad49-95gp <none> <none>
sample-app-server-644758d6d-67dfh 0/1 CrashLoopBackOff 220 18h 10.48.1.11 gke-sample-cluster-default-pool-abcbad49-2w8m <none> <none>
$ gcloud compute ssh gke-sample-cluster-default-pool-abcbad49-2w8m
$ journalctl -n 50 --no-pager
ファイアウォールで拒否される場合
- コネクションタイムアウトなどはファイアウォールが整備されていない可能性が高いです
- ファイアウォールルールを作成してインスタンスに設定します。
- 作成したファイアウォールルールはインスタンスのネットワークタグとして適用し有効化する
- 個人的にココが非常に分かりづらかったので注意ですね