opencode-skills-collection 4.0.68 → 4.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +266 -1
- package/bundled-skills/access-review/SKILL.md +394 -0
- package/bundled-skills/access-review/references/details.md +121 -0
- package/bundled-skills/agent-evals/SKILL.md +420 -0
- package/bundled-skills/agent-observability/SKILL.md +346 -0
- package/bundled-skills/agent-observability/references/details.md +786 -0
- package/bundled-skills/ai-agent-security/SKILL.md +393 -0
- package/bundled-skills/ai-agent-security/references/details.md +912 -0
- package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
- package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
- package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
- package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
- package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
- package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
- package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
- package/bundled-skills/alerting-oncall/SKILL.md +458 -0
- package/bundled-skills/alerting-oncall/references/details.md +84 -0
- package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
- package/bundled-skills/argocd-gitops/SKILL.md +469 -0
- package/bundled-skills/arm-templates/SKILL.md +438 -0
- package/bundled-skills/arm-templates/references/details.md +64 -0
- package/bundled-skills/asset-inventory/SKILL.md +412 -0
- package/bundled-skills/asset-inventory/references/details.md +127 -0
- package/bundled-skills/audit-logging/SKILL.md +476 -0
- package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
- package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
- package/bundled-skills/aws-ec2/SKILL.md +426 -0
- package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
- package/bundled-skills/aws-iam/SKILL.md +463 -0
- package/bundled-skills/aws-lambda/SKILL.md +428 -0
- package/bundled-skills/aws-rds/SKILL.md +380 -0
- package/bundled-skills/aws-s3/SKILL.md +434 -0
- package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
- package/bundled-skills/aws-vpc/SKILL.md +436 -0
- package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
- package/bundled-skills/azure-aks/SKILL.md +423 -0
- package/bundled-skills/azure-devops/SKILL.md +457 -0
- package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
- package/bundled-skills/azure-keyvault/SKILL.md +455 -0
- package/bundled-skills/azure-keyvault/references/details.md +83 -0
- package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
- package/bundled-skills/azure-networking/SKILL.md +448 -0
- package/bundled-skills/azure-networking/references/details.md +135 -0
- package/bundled-skills/azure-sql/SKILL.md +413 -0
- package/bundled-skills/azure-sql/references/details.md +113 -0
- package/bundled-skills/azure-vms/SKILL.md +402 -0
- package/bundled-skills/azure-vms/references/details.md +134 -0
- package/bundled-skills/backup-recovery/SKILL.md +388 -0
- package/bundled-skills/bb-methodology/SKILL.md +451 -0
- package/bundled-skills/bb-methodology/references/details.md +120 -0
- package/bundled-skills/block-storage/SKILL.md +371 -0
- package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
- package/bundled-skills/blue-green-deploy/references/details.md +90 -0
- package/bundled-skills/bug-bounty/SKILL.md +447 -0
- package/bundled-skills/bug-bounty/references/details.md +1316 -0
- package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
- package/bundled-skills/business-continuity/SKILL.md +463 -0
- package/bundled-skills/career-ops/SKILL.md +186 -0
- package/bundled-skills/cdn-setup/SKILL.md +374 -0
- package/bundled-skills/change-management/SKILL.md +438 -0
- package/bundled-skills/change-management/references/details.md +105 -0
- package/bundled-skills/circleci/SKILL.md +475 -0
- package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
- package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
- package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
- package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
- package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
- package/bundled-skills/cloudformation/SKILL.md +461 -0
- package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
- package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
- package/bundled-skills/container-hardening/SKILL.md +126 -0
- package/bundled-skills/container-registries/SKILL.md +435 -0
- package/bundled-skills/container-scanning/SKILL.md +416 -0
- package/bundled-skills/convex-backend/SKILL.md +338 -0
- package/bundled-skills/dast-scanning/SKILL.md +437 -0
- package/bundled-skills/database-backups/SKILL.md +425 -0
- package/bundled-skills/datadog/SKILL.md +487 -0
- package/bundled-skills/dependency-scanning/SKILL.md +457 -0
- package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
- package/bundled-skills/disaster-recovery/SKILL.md +374 -0
- package/bundled-skills/disaster-recovery/references/details.md +219 -0
- package/bundled-skills/dns-management/SKILL.md +375 -0
- package/bundled-skills/docker-compose/SKILL.md +482 -0
- package/bundled-skills/docker-management/SKILL.md +426 -0
- package/bundled-skills/ebpf-observability/SKILL.md +436 -0
- package/bundled-skills/ebpf-observability/references/details.md +542 -0
- package/bundled-skills/elk-stack/SKILL.md +487 -0
- package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
- package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
- package/bundled-skills/feature-flags/SKILL.md +426 -0
- package/bundled-skills/feature-flags/references/details.md +86 -0
- package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
- package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
- package/bundled-skills/firewall-config/SKILL.md +479 -0
- package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
- package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
- package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
- package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
- package/bundled-skills/gcp-compute/SKILL.md +319 -0
- package/bundled-skills/gcp-gke/SKILL.md +307 -0
- package/bundled-skills/gcp-networking/SKILL.md +293 -0
- package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
- package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
- package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
- package/bundled-skills/gdpr-compliance/references/details.md +145 -0
- package/bundled-skills/geo-audit/SKILL.md +368 -0
- package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
- package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
- package/bundled-skills/geo-citability/SKILL.md +350 -0
- package/bundled-skills/geo-compare/SKILL.md +340 -0
- package/bundled-skills/geo-content/SKILL.md +383 -0
- package/bundled-skills/geo-crawlers/SKILL.md +408 -0
- package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
- package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
- package/bundled-skills/geo-proposal/SKILL.md +378 -0
- package/bundled-skills/geo-prospect/SKILL.md +225 -0
- package/bundled-skills/geo-report/SKILL.md +436 -0
- package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
- package/bundled-skills/geo-schema/SKILL.md +408 -0
- package/bundled-skills/geo-technical/SKILL.md +78 -0
- package/bundled-skills/geo-technical/references/details.md +543 -0
- package/bundled-skills/git-workflow/SKILL.md +460 -0
- package/bundled-skills/github-actions/SKILL.md +368 -0
- package/bundled-skills/gitlab-ci/SKILL.md +340 -0
- package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
- package/bundled-skills/gpu-server-management/SKILL.md +236 -0
- package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
- package/bundled-skills/helm-charts/SKILL.md +469 -0
- package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
- package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
- package/bundled-skills/hunt-ato/SKILL.md +184 -0
- package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
- package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
- package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
- package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
- package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
- package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
- package/bundled-skills/hunt-cicd/SKILL.md +311 -0
- package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
- package/bundled-skills/hunt-cors/SKILL.md +335 -0
- package/bundled-skills/hunt-dom/SKILL.md +323 -0
- package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
- package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
- package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
- package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
- package/bundled-skills/hunt-grpc/SKILL.md +317 -0
- package/bundled-skills/hunt-host-header/SKILL.md +309 -0
- package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
- package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
- package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
- package/bundled-skills/hunt-idor/SKILL.md +434 -0
- package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
- package/bundled-skills/hunt-k8s/SKILL.md +337 -0
- package/bundled-skills/hunt-laravel/SKILL.md +255 -0
- package/bundled-skills/hunt-ldap/SKILL.md +351 -0
- package/bundled-skills/hunt-lfi/SKILL.md +311 -0
- package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
- package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
- package/bundled-skills/hunt-misc/SKILL.md +378 -0
- package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
- package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
- package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
- package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
- package/bundled-skills/hunt-oauth/SKILL.md +459 -0
- package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
- package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
- package/bundled-skills/hunt-race-condition/references/details.md +159 -0
- package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
- package/bundled-skills/hunt-rce/SKILL.md +444 -0
- package/bundled-skills/hunt-rce/references/details.md +110 -0
- package/bundled-skills/hunt-saml/SKILL.md +156 -0
- package/bundled-skills/hunt-session/SKILL.md +342 -0
- package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
- package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
- package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
- package/bundled-skills/hunt-springboot/SKILL.md +285 -0
- package/bundled-skills/hunt-sqli/SKILL.md +466 -0
- package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
- package/bundled-skills/hunt-ssrf/references/details.md +179 -0
- package/bundled-skills/hunt-ssti/SKILL.md +163 -0
- package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
- package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
- package/bundled-skills/hunt-xxe/SKILL.md +466 -0
- package/bundled-skills/i-have-adhd/SKILL.md +170 -0
- package/bundled-skills/identity-access-management/SKILL.md +382 -0
- package/bundled-skills/identity-access-management/references/details.md +524 -0
- package/bundled-skills/incident-management/SKILL.md +484 -0
- package/bundled-skills/incident-response/SKILL.md +448 -0
- package/bundled-skills/incident-response/references/details.md +113 -0
- package/bundled-skills/interview-me/SKILL.md +248 -0
- package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
- package/bundled-skills/jenkins/SKILL.md +462 -0
- package/bundled-skills/jev-use/SKILL.md +158 -0
- package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
- package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
- package/bundled-skills/kubernetes-ops/references/details.md +108 -0
- package/bundled-skills/kustomize/SKILL.md +478 -0
- package/bundled-skills/linux-administration/SKILL.md +367 -0
- package/bundled-skills/linux-hardening/SKILL.md +154 -0
- package/bundled-skills/llm-app-security/SKILL.md +389 -0
- package/bundled-skills/llm-app-security/references/details.md +674 -0
- package/bundled-skills/llm-caching/SKILL.md +334 -0
- package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
- package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
- package/bundled-skills/llm-gateway/SKILL.md +282 -0
- package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
- package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
- package/bundled-skills/load-balancing/SKILL.md +403 -0
- package/bundled-skills/loki-logging/SKILL.md +479 -0
- package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
- package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
- package/bundled-skills/mcp-server-security/SKILL.md +356 -0
- package/bundled-skills/mcp-server-security/references/details.md +745 -0
- package/bundled-skills/mdm-device-management/SKILL.md +404 -0
- package/bundled-skills/mdm-device-management/references/details.md +410 -0
- package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
- package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
- package/bundled-skills/model-registry-governance/SKILL.md +452 -0
- package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
- package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
- package/bundled-skills/mongodb/SKILL.md +436 -0
- package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
- package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
- package/bundled-skills/mysql/SKILL.md +390 -0
- package/bundled-skills/new-relic/SKILL.md +472 -0
- package/bundled-skills/nfs-storage/SKILL.md +356 -0
- package/bundled-skills/object-storage/SKILL.md +378 -0
- package/bundled-skills/offensive-osint/SKILL.md +443 -0
- package/bundled-skills/okta-attack/SKILL.md +436 -0
- package/bundled-skills/ollama-stack/SKILL.md +379 -0
- package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
- package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
- package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
- package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
- package/bundled-skills/openshift/SKILL.md +485 -0
- package/bundled-skills/opentelemetry/SKILL.md +438 -0
- package/bundled-skills/opentelemetry/references/details.md +78 -0
- package/bundled-skills/opentofu-migration/SKILL.md +349 -0
- package/bundled-skills/osint-methodology/SKILL.md +460 -0
- package/bundled-skills/osint-methodology/references/details.md +1350 -0
- package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
- package/bundled-skills/penetration-testing/SKILL.md +152 -0
- package/bundled-skills/performance-tuning/SKILL.md +381 -0
- package/bundled-skills/planetscale/SKILL.md +297 -0
- package/bundled-skills/platform-engineering/SKILL.md +348 -0
- package/bundled-skills/platform-engineering/references/details.md +944 -0
- package/bundled-skills/podman/SKILL.md +405 -0
- package/bundled-skills/policy-as-code/SKILL.md +434 -0
- package/bundled-skills/policy-as-code/references/details.md +204 -0
- package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
- package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
- package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
- package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
- package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
- package/bundled-skills/rag-observability-evals/references/details.md +92 -0
- package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
- package/bundled-skills/redis/SKILL.md +421 -0
- package/bundled-skills/redteam-report-template/SKILL.md +370 -0
- package/bundled-skills/report-writing/SKILL.md +426 -0
- package/bundled-skills/report-writing/references/details.md +187 -0
- package/bundled-skills/reverse-proxy/SKILL.md +420 -0
- package/bundled-skills/runbook-creation/SKILL.md +438 -0
- package/bundled-skills/runbook-creation/references/details.md +71 -0
- package/bundled-skills/saas-security-posture/SKILL.md +415 -0
- package/bundled-skills/sast-scanning/SKILL.md +444 -0
- package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
- package/bundled-skills/security-arsenal/SKILL.md +446 -0
- package/bundled-skills/security-arsenal/references/details.md +540 -0
- package/bundled-skills/security-automation/SKILL.md +146 -0
- package/bundled-skills/semantic-versioning/SKILL.md +434 -0
- package/bundled-skills/semantic-versioning/references/details.md +83 -0
- package/bundled-skills/service-mesh/SKILL.md +422 -0
- package/bundled-skills/soc2-compliance/SKILL.md +409 -0
- package/bundled-skills/sops-encryption/SKILL.md +124 -0
- package/bundled-skills/sre-dashboards/SKILL.md +143 -0
- package/bundled-skills/ssh-configuration/SKILL.md +324 -0
- package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
- package/bundled-skills/ssl-tls-management/references/details.md +99 -0
- package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
- package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
- package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
- package/bundled-skills/systemd-services/SKILL.md +379 -0
- package/bundled-skills/terraform-aws/SKILL.md +125 -0
- package/bundled-skills/terraform-azure/SKILL.md +415 -0
- package/bundled-skills/terraform-azure/references/details.md +231 -0
- package/bundled-skills/terraform-gcp/SKILL.md +369 -0
- package/bundled-skills/threat-modeling/SKILL.md +487 -0
- package/bundled-skills/user-management/SKILL.md +383 -0
- package/bundled-skills/using-agent-skills/SKILL.md +220 -0
- package/bundled-skills/vector-database-ops/SKILL.md +300 -0
- package/bundled-skills/vendor-management/SKILL.md +439 -0
- package/bundled-skills/vendor-management/references/details.md +109 -0
- package/bundled-skills/vercel-deployments/SKILL.md +296 -0
- package/bundled-skills/vllm-server/SKILL.md +236 -0
- package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
- package/bundled-skills/vpn-setup/SKILL.md +452 -0
- package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
- package/bundled-skills/waf-setup/SKILL.md +354 -0
- package/bundled-skills/waf-setup/references/details.md +211 -0
- package/bundled-skills/web2-recon/SKILL.md +440 -0
- package/bundled-skills/web2-recon/references/details.md +319 -0
- package/bundled-skills/web3-audit/SKILL.md +445 -0
- package/bundled-skills/web3-audit/references/details.md +224 -0
- package/bundled-skills/windows-hardening/SKILL.md +454 -0
- package/bundled-skills/windows-hardening/references/details.md +204 -0
- package/bundled-skills/windows-server/SKILL.md +318 -0
- package/bundled-skills/zero-trust/SKILL.md +461 -0
- package/package.json +1 -1
- package/skills_index.json +6943 -323
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gcp-networking
|
|
3
|
+
description: Configure VPCs, firewall rules, and Cloud NAT. Implement shared VPC and
|
|
4
|
+
private service connect. Use when designing GCP network infrastructure.
|
|
5
|
+
category: devops
|
|
6
|
+
risk: critical
|
|
7
|
+
source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
|
|
8
|
+
source_repo: BagelHole/DevOps-Security-Agent-Skills
|
|
9
|
+
source_type: community
|
|
10
|
+
date_added: '2026-09-20'
|
|
11
|
+
license: MIT
|
|
12
|
+
license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
|
|
13
|
+
compatibility: Requires the relevant OS/platform tooling and privileged access where
|
|
14
|
+
noted. Docs-only; helper scripts and templates not bundled.
|
|
15
|
+
metadata:
|
|
16
|
+
author: devops-skills
|
|
17
|
+
version: '1.0'
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# GCP Networking
|
|
21
|
+
|
|
22
|
+
Design, implement, and secure network infrastructure on Google Cloud Platform.
|
|
23
|
+
|
|
24
|
+
## When to Use
|
|
25
|
+
|
|
26
|
+
- Building VPC networks for new GCP projects or multi-project architectures
|
|
27
|
+
- Configuring firewall rules to control traffic between services
|
|
28
|
+
- Setting up Cloud NAT for outbound internet access from private instances
|
|
29
|
+
- Deploying load balancers for HTTP(S), TCP/UDP, or internal traffic
|
|
30
|
+
- Implementing Private Service Connect or Shared VPC
|
|
31
|
+
|
|
32
|
+
## Prerequisites
|
|
33
|
+
|
|
34
|
+
- Google Cloud SDK (`gcloud`) installed and authenticated
|
|
35
|
+
- Compute Engine API enabled
|
|
36
|
+
- IAM role `roles/compute.networkAdmin` for network management
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
gcloud services enable compute.googleapis.com servicenetworking.googleapis.com
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## VPC Network Creation
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
gcloud compute networks create prod-vpc \
|
|
46
|
+
--subnet-mode=custom --bgp-routing-mode=regional --mtu=1460
|
|
47
|
+
|
|
48
|
+
gcloud compute networks subnets create us-subnet \
|
|
49
|
+
--network=prod-vpc --region=us-central1 --range=10.0.0.0/20 \
|
|
50
|
+
--enable-private-ip-google-access --enable-flow-logs \
|
|
51
|
+
--logging-flow-sampling=0.5
|
|
52
|
+
|
|
53
|
+
gcloud compute networks subnets create eu-subnet \
|
|
54
|
+
--network=prod-vpc --region=europe-west1 --range=10.1.0.0/20 \
|
|
55
|
+
--enable-private-ip-google-access --enable-flow-logs
|
|
56
|
+
|
|
57
|
+
# Subnet with secondary ranges for GKE
|
|
58
|
+
gcloud compute networks subnets create gke-subnet \
|
|
59
|
+
--network=prod-vpc --region=us-central1 --range=10.2.0.0/20 \
|
|
60
|
+
--secondary-range=pods=10.4.0.0/14,services=10.8.0.0/20 \
|
|
61
|
+
--enable-private-ip-google-access
|
|
62
|
+
|
|
63
|
+
# Proxy-only subnet (required for regional L7 LBs)
|
|
64
|
+
gcloud compute networks subnets create proxy-only-subnet \
|
|
65
|
+
--network=prod-vpc --region=us-central1 --range=10.129.0.0/23 \
|
|
66
|
+
--purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Firewall Rules
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
gcloud compute firewall-rules create allow-http-https \
|
|
73
|
+
--network=prod-vpc --allow=tcp:80,tcp:443 \
|
|
74
|
+
--source-ranges=0.0.0.0/0 --target-tags=http-server --priority=1000
|
|
75
|
+
|
|
76
|
+
gcloud compute firewall-rules create allow-internal \
|
|
77
|
+
--network=prod-vpc --allow=tcp,udp,icmp \
|
|
78
|
+
--source-ranges=10.0.0.0/8 --priority=1000
|
|
79
|
+
|
|
80
|
+
gcloud compute firewall-rules create allow-iap-ssh \
|
|
81
|
+
--network=prod-vpc --allow=tcp:22 \
|
|
82
|
+
--source-ranges=35.235.240.0/20 --priority=1000
|
|
83
|
+
|
|
84
|
+
gcloud compute firewall-rules create allow-health-checks \
|
|
85
|
+
--network=prod-vpc --allow=tcp:80,tcp:443,tcp:8080 \
|
|
86
|
+
--source-ranges=130.211.0.0/22,35.191.0.0/16 \
|
|
87
|
+
--target-tags=http-server --priority=900
|
|
88
|
+
|
|
89
|
+
# List firewall rules
|
|
90
|
+
gcloud compute firewall-rules list --filter="network=prod-vpc" \
|
|
91
|
+
--format="table(name,direction,priority,allowed[].map().firewall_rule().list():label=ALLOW)"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Cloud NAT
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
gcloud compute routers create prod-router \
|
|
98
|
+
--network=prod-vpc --region=us-central1
|
|
99
|
+
|
|
100
|
+
gcloud compute routers nats create prod-nat \
|
|
101
|
+
--router=prod-router --region=us-central1 \
|
|
102
|
+
--nat-all-subnet-ip-ranges --auto-allocate-nat-external-ips \
|
|
103
|
+
--min-ports-per-vm=256 --max-ports-per-vm=4096 \
|
|
104
|
+
--enable-logging --log-filter=ERRORS_ONLY
|
|
105
|
+
|
|
106
|
+
# Static NAT IPs (stable egress)
|
|
107
|
+
gcloud compute addresses create nat-ip-1 nat-ip-2 --region=us-central1
|
|
108
|
+
gcloud compute routers nats create prod-nat-static \
|
|
109
|
+
--router=prod-router --region=us-central1 \
|
|
110
|
+
--nat-all-subnet-ip-ranges --nat-external-ip-pool=nat-ip-1,nat-ip-2
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## External HTTP(S) Load Balancer
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
gcloud compute addresses create web-lb-ip --global
|
|
117
|
+
|
|
118
|
+
gcloud compute health-checks create http web-hc \
|
|
119
|
+
--port=80 --request-path=/healthz --check-interval=10s --timeout=5s
|
|
120
|
+
|
|
121
|
+
gcloud compute backend-services create web-backend \
|
|
122
|
+
--protocol=HTTP --port-name=http --health-checks=web-hc \
|
|
123
|
+
--global --enable-cdn --enable-logging
|
|
124
|
+
|
|
125
|
+
gcloud compute backend-services add-backend web-backend \
|
|
126
|
+
--instance-group=web-mig --instance-group-region=us-central1 \
|
|
127
|
+
--balancing-mode=UTILIZATION --max-utilization=0.8 --global
|
|
128
|
+
|
|
129
|
+
gcloud compute url-maps create web-url-map --default-service=web-backend
|
|
130
|
+
|
|
131
|
+
gcloud compute ssl-certificates create web-cert \
|
|
132
|
+
--domains=app.example.com --global
|
|
133
|
+
|
|
134
|
+
gcloud compute target-https-proxies create web-proxy \
|
|
135
|
+
--url-map=web-url-map --ssl-certificates=web-cert
|
|
136
|
+
|
|
137
|
+
gcloud compute forwarding-rules create web-https \
|
|
138
|
+
--address=web-lb-ip --target-https-proxy=web-proxy --ports=443 --global
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Internal Load Balancer
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
gcloud compute backend-services create internal-backend \
|
|
145
|
+
--protocol=TCP --region=us-central1 \
|
|
146
|
+
--health-checks=web-hc --health-checks-region=us-central1 \
|
|
147
|
+
--load-balancing-scheme=INTERNAL
|
|
148
|
+
|
|
149
|
+
gcloud compute forwarding-rules create internal-lb \
|
|
150
|
+
--region=us-central1 --load-balancing-scheme=INTERNAL \
|
|
151
|
+
--network=prod-vpc --subnet=us-subnet \
|
|
152
|
+
--backend-service=internal-backend --ports=8080
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Cloud Armor (DDoS and WAF)
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
gcloud compute security-policies create web-armor
|
|
159
|
+
|
|
160
|
+
gcloud compute security-policies rules create 1000 \
|
|
161
|
+
--security-policy=web-armor \
|
|
162
|
+
--expression="origin.region_code == 'XX'" --action=deny-403
|
|
163
|
+
|
|
164
|
+
gcloud compute security-policies rules create 2000 \
|
|
165
|
+
--security-policy=web-armor --expression="true" \
|
|
166
|
+
--action=rate-based-ban \
|
|
167
|
+
--rate-limit-threshold-count=100 \
|
|
168
|
+
--rate-limit-threshold-interval-sec=60 --ban-duration-sec=600
|
|
169
|
+
|
|
170
|
+
gcloud compute backend-services update web-backend \
|
|
171
|
+
--security-policy=web-armor --global
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Private Service Connect
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
gcloud compute addresses create psc-google-apis \
|
|
178
|
+
--global --purpose=PRIVATE_SERVICE_CONNECT \
|
|
179
|
+
--addresses=10.255.255.254 --network=prod-vpc
|
|
180
|
+
|
|
181
|
+
gcloud compute forwarding-rules create psc-google-apis \
|
|
182
|
+
--global --network=prod-vpc --address=psc-google-apis \
|
|
183
|
+
--target-google-apis-bundle=all-apis
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## Shared VPC
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
gcloud compute shared-vpc enable $HOST_PROJECT_ID
|
|
190
|
+
gcloud compute shared-vpc associated-projects add $SERVICE_PROJECT_ID \
|
|
191
|
+
--host-project=$HOST_PROJECT_ID
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Terraform Configuration
|
|
195
|
+
|
|
196
|
+
```hcl
|
|
197
|
+
resource "google_compute_network" "vpc" {
|
|
198
|
+
name = "prod-vpc"
|
|
199
|
+
auto_create_subnetworks = false
|
|
200
|
+
routing_mode = "REGIONAL"
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
resource "google_compute_subnetwork" "us" {
|
|
204
|
+
name = "us-subnet"
|
|
205
|
+
ip_cidr_range = "10.0.0.0/20"
|
|
206
|
+
region = "us-central1"
|
|
207
|
+
network = google_compute_network.vpc.id
|
|
208
|
+
private_ip_google_access = true
|
|
209
|
+
log_config { aggregation_interval = "INTERVAL_5_SEC"; flow_sampling = 0.5 }
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
resource "google_compute_firewall" "allow_http" {
|
|
213
|
+
name = "allow-http-https"
|
|
214
|
+
network = google_compute_network.vpc.name
|
|
215
|
+
allow { protocol = "tcp"; ports = ["80", "443"] }
|
|
216
|
+
source_ranges = ["0.0.0.0/0"]
|
|
217
|
+
target_tags = ["http-server"]
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
resource "google_compute_firewall" "allow_iap" {
|
|
221
|
+
name = "allow-iap-ssh"
|
|
222
|
+
network = google_compute_network.vpc.name
|
|
223
|
+
allow { protocol = "tcp"; ports = ["22"] }
|
|
224
|
+
source_ranges = ["35.235.240.0/20"]
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
resource "google_compute_router" "router" {
|
|
228
|
+
name = "prod-router"
|
|
229
|
+
region = "us-central1"
|
|
230
|
+
network = google_compute_network.vpc.id
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
resource "google_compute_router_nat" "nat" {
|
|
234
|
+
name = "prod-nat"
|
|
235
|
+
router = google_compute_router.router.name
|
|
236
|
+
region = "us-central1"
|
|
237
|
+
nat_ip_allocate_option = "AUTO_ONLY"
|
|
238
|
+
source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES"
|
|
239
|
+
min_ports_per_vm = 256
|
|
240
|
+
log_config { enable = true; filter = "ERRORS_ONLY" }
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
resource "google_compute_security_policy" "waf" {
|
|
244
|
+
name = "web-armor"
|
|
245
|
+
rule {
|
|
246
|
+
action = "deny(403)"
|
|
247
|
+
priority = 1000
|
|
248
|
+
match { expr { expression = "evaluatePreconfiguredExpr('xss-v33-stable')" } }
|
|
249
|
+
}
|
|
250
|
+
rule {
|
|
251
|
+
action = "allow"
|
|
252
|
+
priority = 2147483647
|
|
253
|
+
match { versioned_expr = "SRC_IPS_V1"; config { src_ip_ranges = ["*"] } }
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## Common Operations
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
gcloud compute networks list
|
|
262
|
+
gcloud compute networks subnets list --network=prod-vpc
|
|
263
|
+
gcloud compute networks subnets describe us-subnet --region=us-central1
|
|
264
|
+
gcloud network-management connectivity-tests create test-web-to-db \
|
|
265
|
+
--source-instance=projects/${PROJECT_ID}/zones/us-central1-a/instances/web \
|
|
266
|
+
--destination-instance=projects/${PROJECT_ID}/zones/us-central1-a/instances/db \
|
|
267
|
+
--destination-port=5432 --protocol=TCP
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
## Troubleshooting
|
|
271
|
+
|
|
272
|
+
| Symptom | Cause | Fix |
|
|
273
|
+
|---------|-------|-----|
|
|
274
|
+
| Instance cannot reach internet | No external IP and no Cloud NAT | Configure Cloud NAT on the subnet's router |
|
|
275
|
+
| Firewall rule not taking effect | Wrong target tags or priority | Verify tags match instance; check priority ordering |
|
|
276
|
+
| Load balancer returns 502 | Backend failing health checks | Check health check path/port; allow `130.211.0.0/22`, `35.191.0.0/16` |
|
|
277
|
+
| Cannot reach Google APIs from private VM | Private Google Access disabled | Enable `--enable-private-ip-google-access` on subnet |
|
|
278
|
+
| Cloud NAT port exhaustion | Too many connections per VM | Increase `--min-ports-per-vm`; enable dynamic port allocation |
|
|
279
|
+
| Shared VPC project cannot create VMs | Missing `compute.networkUser` role | Grant `roles/compute.networkUser` on host project |
|
|
280
|
+
| SSL cert stuck PROVISIONING | DNS not pointing to LB IP | Update A record to reserved static IP; wait up to 60 min |
|
|
281
|
+
|
|
282
|
+
## Related Skills
|
|
283
|
+
|
|
284
|
+
- **gcp-compute** - Compute Engine instances that use VPC networks and firewall rules
|
|
285
|
+
- **gcp-gke** - GKE clusters deployed in VPC subnets with secondary ranges
|
|
286
|
+
- **gcp-cloud-sql** - Private IP database connectivity through VPC peering
|
|
287
|
+
- **terraform-gcp** - Provision networking resources with Infrastructure as Code
|
|
288
|
+
|
|
289
|
+
## Limitations
|
|
290
|
+
|
|
291
|
+
- Infrastructure commands can disrupt services: confirm target host/scope and have backups/snapshots before mutating state.
|
|
292
|
+
- Docs-only import: upstream scripts and templates not bundled.
|
|
293
|
+
|