グローバルIP を持たず、インターネットとの接続が行えない GCP VM に対して SSH 接続するための設定を記載します。
インターネットアクセスを制限するための設定
以下のような制限が存在しているとします。
これらの制限がなされていたとしても SSH 接続できることの確認になります。
Firewall
ネットワーク 10.1.1.0/24
を作成しました。
インターネットとの接続制限
ただし、Cloud IAP が利用する 35.235.240.0/20
からの流入を許可する必要があります。
VPC-SC
Cloud IAP と HTTPS トンネルを張る User の外部 IP のみが記載された Access Level を作成して VPC-SC に紐付けます。
補足: Firewall で指定した 35.235.240.0/20
を Access Level に指定する必要はありません。
検証のためすべての GCP サービスを VPC-SC で制限してみます。
外部IP を持たない VM
VM を起動する際に 外部IP を持たないように設定します。
BeyondCorp Enterprise
組織内の User アカウントについて、Cloud Console (Web 管理画面) および GCP API に対する IP 制限を行います。
SSH パケットの通信経路について
Cloud IAP と User の間に HTTPS トンネルが張られるため、GCP VM はグローバル IP を持つ必要がありません。
tunnel.cloudproxy.app
ドメインについて
Cloud IAP による HTTPS トンネルで TCP forwarding を行なうためには、
Cloud IAP と HTTPS トンネルを張るクライアントから tunnel.cloudproxy.app
へのアクセスが行える必要があります。
参考: What domain does IAP for TCP use?
以下の二つの方法で Cloud IAP と HTTPS トンネルを張ることができます。
"SSH from the browser" の利用
VM 一覧における「SSH」ボタンをクリックします。
ポップアップウィンドウが開かれます。
以下のロールの権限が必要です。
roles/iap.tunnelResourceAccessor
roles/iam.serviceAccountUser
roles/compute.instanceAdmin
gcloud コマンドの利用
動作検証に先立ち、Cloud Shell で接続された端末の外部IP を確認して Access Level に追記しておきます。
SSH
gcloud compute ssh instance-1 --project myproject-20210411 --zone asia-northeast1-b
その他の TCP 通信
gcloud compute start-iap-tunnel instance-1 22 --local-host-port=localhost:2222 --project myproject-20210411 --zone asia-northeast1-b
関連記事
- GKE における Node および Pod の autoscalingGoogle Kubernetes Engine (GKE) における autoscaling について、用語の意味を整理します。 GKE の機能による Node の autoscaling GKE のクラスタには Standard と Autopilot の二種類が存在します。 Autopilot の場合は Node は Google によって管理されるため、自動で autoscaling され...
- Snowflake におけるネットワーク関連の設定本ページではネットワーク関連の設定について記載します。 Network Policy によるアクセス元 IP 制限 IPv4 で指定します。IPv6 は 2021/9/21 時点では利用できません。 allowed list で許可されていない IP は block されます。 allowed list が /24 等で指定されており、その一部を
- VPC Service Controls に関する雑多な事項の整理VPC Service Controls (VPC-SC) に関する雑多な事項を記載します。 Private Google Access の基本形 Private Google Access は外部 IP を持たない VM のための機能です。VPC の機能ですが、VPC-SC と関連するため基本事項を記載します。 [Private Google Access](ht
- AWS IAM Role を GCP から STS 認証で利用する設定例GCP から AWS IAM Role を利用するための設定例を記載します。 GCP Service Account の作成 Service Account を作成して Unique ID を確認します。 AWS IAM Role の作成 Trust relationship の設定は Web Identity を選択します。Identity Provider
- Amazon Comprehend を GCP VPC 内から実行する設定の例 (Public Internet 接続なし)GCP DLP に相当する AWS サービスに Amazon Comprehend が存在します。GCP VPC 内から Public Internet を経由せずに利用する設定の例を記載します。 AWS VPC と GCP VPC の作成 クラウド 項目 値 AWS VPC region ap-northeast-1 AWS VPC CIDR 10.2.0.0/16 AWS ap-north