【GCP】GCEで外部IPアドレスが割り振られてるVMインスタンスにSSH接続できない
GCEで外部IPアドレスが割り振られてるVMインスタンスにSSH接続できない場合の対応方法の1つを紹介します。
状況
- 自分で作成したVPCネットワーク内にVMインスタンスを作成
- 作成したVMインスタンスには外部IPアドレスが割り振られている
- 下のコマンドを実行したがエラーになる
$ gcloud beta compute ssh --zone "ゾーン名" "VMインスタンス名" --project "GCPプロジェクト名"
# エラー内容
ssh: connect to host 34.84.16.138 port 22: Operation timed out
ERROR: (gcloud.beta.compute.ssh) [/usr/bin/ssh] exited with return code [255].
今回の場合の解決方法
- 接続元IPアドレスからtcpプロトコルの22番ポートのアクセスを許可するFirewallルールを作成するだけでOK
- VMインスタンスにtagを設定してる場合は、Firewallルールでtagを指定してもOK
公式ドキュメント
- https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-ssh?hl=ja
- めっちゃ詳しく様々なパターンについて書いてあるので、こちらをちゃんと読めばたいていの場合は解決しそう
解説
GCPのVPCネットワークの特徴
$ gcloud beta compute ssh --zone "ゾーン名" "VMインスタンス名" --project "GCPプロジェクト名"
# エラー内容
ssh: connect to host 34.84.16.138 port 22: Operation timed out
ERROR: (gcloud.beta.compute.ssh) [/usr/bin/ssh] exited with return code [255].
- 接続元IPアドレスからtcpプロトコルの22番ポートのアクセスを許可するFirewallルールを作成するだけでOK
- VMインスタンスにtagを設定してる場合は、Firewallルールでtagを指定してもOK
公式ドキュメント
- https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-ssh?hl=ja
- めっちゃ詳しく様々なパターンについて書いてあるので、こちらをちゃんと読めばたいていの場合は解決しそう
解説
GCPのVPCネットワークの特徴
GCPのVPCネットワークの特徴
AWSは外部からアクセスできるインスタンスを用意するためには、VPC、subnet、IGW、ルーティング、セキュリティーグループを用意する必要があります。
GCPの場合はVPCネットワークを作成するだけで、サブネット、インターネットゲートウェイ、ルーティング、Firewallなど、様々なものを自動で作成してくれます。
なので、GCPでは基本的に、VPCネットワークを作成し、その中に外部IPアドレスを持つVMインスタンスを起動するだけで外部のネットワークと接続できる状態になります。
暗黙のFirewallルール
GCPの全てのVPCネットワークには2つの暗黙のFirewallルールがあります。
- ほとんどの下りトラフィックを許可
- すべての上りトラフィックを拒否
(詳細 -> https://cloud.google.com/vpc/docs/vpc?hl=ja#affiliated_resources )
VPCネットワークを作成すると絶対に存在するFirewallルールになります。
この暗黙のルールはコンソールに表示されません。なので、編集することもできません。
上にあるように暗黙のFirewallルールにより、VMインスタンスへの上りのトラフィックは拒否されてしまいます。
なので、新たにFirewallルールを設定して、VMインスタンスへSSH接続できるようにします。
Firewallルールを作成する
接続元IPアドレスからtcpプロトコルの22番ポートのアクセスを許可するFirewallルールを作成します。
VMインスタンスにtagをつけてる場合は、tagを設定してあげたほうがいいと思います。
作成したFirewallルールは以下のような感じになります。
おわり
GCPはいろいろなものを勝手にやってくれるので楽チンな面もありますが、勝手に色々やられてるので煩わしい面もありますね😅
Author And Source
この問題について(【GCP】GCEで外部IPアドレスが割り振られてるVMインスタンスにSSH接続できない), 我々は、より多くの情報をここで見つけました https://qiita.com/nekoshita_yuki/items/645ddf25916c41df83aa著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .