1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GCEへのSSH接続元IPを絞りつつ、Cloud IAPでSSHする

Posted at

TL/DR;

Cloud IAP APIの状態確認。

  • Cloud IAP APIが有効になっている確認する。
gcloud services list --filter=NAME:iap
  • 無効になっていた場合の出力。
$ gcloud services list --filter=NAME:iap
Listed 0 items.

Cloud IAPを有効化する。

   gcloud services enable iap.googleapis.com

IAPからのSSHをVPC Firewallで許可してあげる。

gcloud compute firewall-rules create allow-iap-forwarding-ssh   --network=<VPC名>   --allow=tcp:22   --source-ranges=35.235.240.0/20
  • 別のVPC FirewallルールでインスタンスへのSSHは絞っている前提。

IAP経由での接続確認

  • GCPのコンソールでSSH-->gcloudコマンドを表示で表示されたコマンドの最後に--tunnel-through-iapをつけてあげればOK

image.png

gcloud beta compute ssh --zone "<インスタンスのゾーン>" "<インスタンス名>" --project "<プロジェクト名>" --tunnel-through-iap

--tunnel-through-iapって呪文が覚えれられない。

手元の端末のbashrcで以下のように関数定義

## for gce
function iap() {
  command gcloud compute ssh $1 --tunnel-through-iap
}
  • zoneとプロジェクトの引数は省略。
    • だって、gcloudコマンド使うときは対象のプロジェクトにアカウント切り替えるから。

実行例

$ iap hoge
No zone specified. Using zone [asia-northeast1-b] for instance: [hoge].
Last login: Sun Mar 21 10:38:38 2021 from 35.235.240.242
[XXXXXXXXX@hoge ~]$
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?