Find the Best Cosmetic Hospitals

Explore trusted cosmetic hospitals and make a confident choice for your transformation.

โ€œInvest in yourself โ€” your confidence is always worth it.โ€

Explore Cosmetic Hospitals

Start your journey today โ€” compare options in one place.

Google Cloud: API Gateway Basic Tutorials

Below is a practical, step-by-step Google Cloud API Gateway setup using a dummy backend on Cloud Run (hello service), then testing via curl. This follows Googleโ€™s official โ€œAPI Gateway + Cloud Runโ€ flow. (Google Cloud Documentation)


0) Prereqs

  • A Google Cloud project + billing enabled
  • Google Cloud SDK (gcloud) installed and logged in

Set variables (edit these 4 lines):

export PROJECT_ID="YOUR_PROJECT_ID"
export REGION="us-central1"
export API_ID="demo-api"
export GATEWAY_ID="demo-gw"
gcloud config set project "$PROJECT_ID"
Code language: JavaScript (javascript)

1) Enable required APIs

gcloud services enable \
  apigateway.googleapis.com \
  cloudbuild.googleapis.com \
  run.googleapis.com
Code language: CSS (css)

(API Gateway requires its service enabled; Cloud Run/Cloud Build are used for the dummy backend.) (Google Cloud Documentation)


2) Deploy a dummy backend on Cloud Run

Deploy a public โ€œhelloโ€ container:

gcloud run deploy hello-backend \
  --image gcr.io/cloudrun/hello \
  --region "$REGION" \
  --allow-unauthenticated
Code language: JavaScript (javascript)

Get the Cloud Run URL:

export BACKEND_URL="$(gcloud run services describe hello-backend --region "$REGION" --format='value(status.url)')"
echo "$BACKEND_URL"
Code language: PHP (php)

Quick test the backend directly:

curl -i "$BACKEND_URL"
Code language: JavaScript (javascript)

3) Create an OpenAPI spec for API Gateway

Create a file openapi.yaml (Swagger/OpenAPI 2.0) like this:

swagger: "2.0"
info:
  title: "Demo API Gateway"
  description: "API Gateway -> Cloud Run dummy backend"
  version: "1.0.0"

schemes:
  - https

produces:
  - application/json

paths:
  /hello:
    get:
      operationId: hello
      x-google-backend:
        address: BACKEND_URL_REPLACE_ME
      responses:
        "200":
          description: OK
Code language: PHP (php)

Replace BACKEND_URL_REPLACE_ME with your Cloud Run URL:

sed -i.bak "s|BACKEND_URL_REPLACE_ME|$BACKEND_URL|g" openapi.yaml
Code language: JavaScript (javascript)

Why this works: API Gateway reads x-google-backend to know where to route requests. (Google Cloud Documentation)


4) Create an API config (uploads your OpenAPI to API Gateway)

export API_CONFIG_ID="demo-config-v1"

gcloud api-gateway api-configs create "$API_CONFIG_ID" \
  --api="$API_ID" \
  --openapi-spec=openapi.yaml \
  --project="$PROJECT_ID"
Code language: JavaScript (javascript)

Creating an API config is the โ€œupload the definitionโ€ step. (Google Cloud Documentation)


5) Create a Gateway and deploy the config

gcloud api-gateway gateways create "$GATEWAY_ID" \
  --api="$API_ID" \
  --api-config="$API_CONFIG_ID" \
  --location="$REGION" \
  --project="$PROJECT_ID"
Code language: JavaScript (javascript)

This deploys the API config to a gateway. (Google Cloud Documentation)


6) Get the Gateway URL and test

Fetch the gatewayโ€™s default hostname:

export GATEWAY_HOST="$(gcloud api-gateway gateways describe "$GATEWAY_ID" --location "$REGION" --format='value(defaultHostname)')"
echo "$GATEWAY_HOST"
Code language: PHP (php)

Call your API through API Gateway:

curl -i "https://${GATEWAY_HOST}/hello"
Code language: JavaScript (javascript)

You should see a response coming from the Cloud Run hello backend (but accessed via the gateway).


Optional: Require an API Key (simple protection)

API Gateway can enforce API keys using security definitions. (Google Cloud Documentation)

A) Update openapi.yaml to require API key

Add these blocks:

securityDefinitions:
  api_key:
    type: "apiKey"
    name: "key"
    in: "query"

security:
  - api_key: []
Code language: JavaScript (javascript)

(Keep your /hello path the same.)

B) Create a NEW config and deploy it

export API_CONFIG_ID="demo-config-v2"

gcloud api-gateway api-configs create "$API_CONFIG_ID" \
  --api="$API_ID" \
  --openapi-spec=openapi.yaml

gcloud api-gateway gateways update "$GATEWAY_ID" \
  --location "$REGION" \
  --api="$API_ID" \
  --api-config="$API_CONFIG_ID"
Code language: JavaScript (javascript)

C) Create an API key in Google Cloud Console and test

Call without key (should fail), then with key:

curl -i "https://${GATEWAY_HOST}/hello?key=YOUR_API_KEY"
Code language: JavaScript (javascript)

Cleanup (avoid charges)

gcloud api-gateway gateways delete "$GATEWAY_ID" --location "$REGION" -q
gcloud api-gateway api-configs delete demo-config-v1 --api "$API_ID" -q || true
gcloud api-gateway api-configs delete demo-config-v2 --api "$API_ID" -q || true
gcloud api-gateway apis delete "$API_ID" -q
gcloud run services delete hello-backend --region "$REGION" -q
Code language: JavaScript (javascript)

Find Trusted Cardiac Hospitals

Compare heart hospitals by city and services โ€” all in one place.

Explore Hospitals
I'm Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms. I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.

Related Posts

Top 10 AI Code Generation for Scientific Computing Tools: Features, Pros, Cons & Comparison

Introduction AI Code Generation Tools for Scientific Computing combine artificial intelligence, machine learning, and programming assistance to help researchers, engineers, and scientists write, optimize, and maintain scientific…

Read More

Top 10 AI Computer-Aided Engineering Assistants: Features, Pros, Cons & Comparison

Introduction AI Computer-Aided Engineering (CAE) Assistants combine artificial intelligence, machine learning, automation, and engineering knowledge to help engineers improve design, simulation, analysis, and optimization workflows. These assistants…

Read More

Top 10 AI Materials Informatics Platforms: Features, Pros, Cons & Comparison

Introduction AI Materials Informatics Platforms combine artificial intelligence, machine learning, data analytics, and materials science to accelerate the discovery, development, and optimization of new materials. These platforms…

Read More

Top 10 AI CFD Acceleration Toolkits: Features, Pros, Cons & Comparison

Introduction AI CFD Acceleration Toolkits use artificial intelligence, machine learning, and scientific computing techniques to speed up Computational Fluid Dynamics (CFD) simulations. Traditional CFD simulations can require…

Read More

Top 10 Physics-Informed Neural Network (PINN) Frameworks: Features, Pros, Cons & Comparison

Introduction Physics-Informed Neural Network (PINN) Frameworks are AI and machine learning platforms designed to combine neural networks with mathematical equations, physical laws, and scientific constraints. Unlike traditional…

Read More

Top 10 AI Surrogate Modeling Tools: Features, Pros, Cons & Comparison

Introduction AI Surrogate Modeling Tools use artificial intelligence, machine learning, and statistical modeling techniques to create fast approximations of complex simulations, experiments, and computational processes. Instead of…

Read More
Subscribe
Notify of
guest
1 Comment
Newest
Oldest Most Voted
Skylar Bennett
Skylar Bennett
6 months ago

This article provides a clear and practical introduction to Google Cloud API Gateway, making it easier for readers to understand how to manage, secure, and scale APIs in cloud environments. The step-by-step explanations help demystify key concepts like routing, authentication, and traffic control, which are essential for building resilient services. With API-driven architectures becoming central to modern applications, learning these fundamentals equips developers and architects to design efficient, secure, and scalable systems with confidence.

1
0
Would love your thoughts, please comment.x
()
x