[Bug] 2-networking-a-fedramp: the NVA return routes still omit the proxy-only subnets, so traffic from a regional managed load balancer's proxies cannot get replies from the internet
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 70/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- gcp, terraform
調査の方向性
fast/stages-aw/2-networking-a-fedramp/nva.tf の local.routing_config にある landing エントリから始めてください。このエントリは var.subnets からのみルートを構築しています。branch-net-envs.tf の subnets_proxy_only および variables.tf の var.proxy_subnets と比較してください。各環境の proxy-only CIDR が landing のルートに含まれ、modules/cloud-config-container/simple-nva/cloud-config.yaml の NVA ゲスト cloud-config がそれを受け取れば完了です。
索引モデルが issue の本文から書いたものです。
説明
Bug Description
PR #269 (closing #146) builds the NVAs' trusted-side return routes from every tenant subnet of every environment. The proxy-only subnet that branch-net-envs.tf creates in each environment spoke (subnets_proxy_only, CIDR from var.proxy_subnets[<env>], name proxy-<regions.primary>) is still not among them: the landing entry of local.routing_config in nva.tf reads var.subnets only (if s.tenant != null), and nva.tf never references var.proxy_subnets.
The spokes have their default routes deleted (delete_default_routes_on_create = true) and reach the internet through the default-route-nva route (0.0.0.0/0 → the NVA internal load balancer) and Cloud NAT on the DMZ VPC. A regional managed load balancer in a spoke — for example a regional internal Application Load Balancer whose backend is a regional internet NEG, which is how blueprints/gemini-enterprise reaches the Google-hosted Gemini Enterprise endpoint (gemini-stage-0/network.tf: an INTERNET_FQDN_PORT NEG for vertexaisearch.cloud.google.com) — originates its backend connections from the Envoy proxies in that spoke's proxy-only subnet. Those packets leave through the NVA and are masqueraded on the DMZ interface. The reply comes back to the NVA, is un-NATed to the proxy-only address, and — because the guest has no route for that range on the landing interface (simple-nva's cloud-config adds ip route add <cidr> via <eth1 gateway> only for the listed routes) — follows the VM's default route back out the untrusted interface. The connection hangs and times out; nothing errors at apply time, and DNS keeps resolving, so it reads as a firewall or DNS problem.
Environment and Deployment Context
- Stellar Engine Version/Commit:
v5.2.0(82153050); unchanged onmain@e2396049(2026-11-01).fast/stages-aw/2-networking-a-fedramp/nva.tflines 28-37 (thelandingroutes),branch-net-envs.tflines 114-119 (subnets_proxy_only;delete_default_routes_on_createat line 107),variables.tflines 257-268 (proxy_subnets, one entry required perenvs_folderskey),modules/cloud-config-container/simple-nva/cloud-config.yamllines 57-59 (guest routes only for the listed CIDRs). - Deployment Type:
- US Region Restricted (e.g., Access Policy constraint)
- FedRAMP Moderate
- FedRAMP High
- DoD IL4
- DoD IL5
- Stand-alone / Custom
- FAST Stage (if applicable):
2-networking-a-fedramp
Steps to Reproduce
- Deploy Stages 0-2 with
2-networking-a-fedrampatv5.2.0, withproxy_subnetsset for each environment (required by the variable's validation). - In a spoke, deploy a regional managed load balancer whose backend is a regional internet NEG (for example
gemini-stage-0andgemini-stage-1with the internal deployment type). - Send a request to the load balancer from a client in the spoke.
- On an NVA:
ip route get <an address in the proxy-only CIDR>shows the route viaeth0(the DMZ side), noteth1.
Expected Behavior
Every subnet whose egress is routed through the NVAs — tenant subnets and proxy-only subnets — gets a trusted-side return route, so replies to the load balancer's proxies are delivered.
Actual Behavior
Replies to the proxy-only range leave the NVA on the untrusted side; the load balancer's backend connections time out.
Relevant Logs and Errors
None at deploy time: the plan and apply succeed. The symptom is the request hanging at the load balancer.
Additional Context
- Suggested fix — add each environment's proxy-only CIDR to the
landingroutes:
(routes = flatten([ for k, v in var.envs_folders : concat( [for s in try(var.subnets[lower(k)], []) : module.env-spoke-vpc[k].subnets["${s.region}/${s.name}"].ip_cidr_range if s.tenant != null], [var.proxy_subnets[k]] ) ])var.proxy_subnetsis keyed by theenvs_folderskey itself, not its lower-cased form, and its validation already guarantees an entry for every environment.) - #146 reported the tenant-subnet half; it did not mention the proxy-only subnets, which is why #269 did not cover them.
- 主要言語
- HCL
- スター
- 61
- フォーク
- 28
- 平均マージ
- 1日 17時間
- マージ済み PR(30日)
- 75
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
google/stellar-engine のほかの issue
-
Documentation Level of Effort - Low Priority - Medium
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
google/stellar-engine#397 ·
メンテナーはふだん 1 日以内に返信
-
[Documentation] 0-bootstrap: document Google producer organization ID inline for compute.restrictVpcPeering対応中かも @Hariharan18092006 が 3 日前に担当しました。 オープンDocumentation Level of Effort - Low Priority - Low Scope - Fast
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
google/stellar-engine#385 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Enhancement Framework - FedRAMP High Level of Effort - Low Priority - Medium Scope - Blueprint Scope - Module
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
google/stellar-engine#320 ·
メンテナーはふだん 1 日以内に返信
-
[Feature Request] Gemini Enterprise CMEK index pre-warming, companion seed data store, declarative CmekConfig, and readiness probe対応中かも @Calvin-Cheng1 が 5 日前に担当しました。 オープンEnhancement Gemini - Enterprise Gemini - Government Level of Effort - Medium Priority - High Scope - Blueprint Scope - Fast
google/stellar-engine#390 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
[Feature Request] Support regulated and non-regulated multi-tenancy within a single GCP OrganizationオープンEnhancement
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
google/stellar-engine#388 ·
メンテナーはふだん 1 日以内に返信
google/stellar-engine の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
FAIRmat-NFDI/nomad-distro-dev#161 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 60/100
Netcracker/qubership-workflow-hub#1048 ·
メンテナーはふだん 1 日以内に返信
-
bug priority-p1
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
feat: expose annotations/labels pass-through for ClickHouse/Keeper (spec.annotations / spec.labels)オープンfeature infra
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
langfuse/langfuse-k8s#467 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
lidofinance/lido-keys-api#387 ·