Guía de inicio rápido: Proteger el tráfico de un servicio con la Google Cloud consola

En esta página se muestra cómo desplegar una API en API Gateway para proteger el tráfico en un servicio de backend.

Sigue los pasos para desplegar una nueva API y acceder a un servicio backend en funciones de Cloud Run mediante la consola de Google Cloud . En esta guía de inicio rápido también se describe cómo usar una clave de API para proteger tu backend frente a accesos no autorizados.

Antes de empezar

  1. En la Google Cloud consola, ve a la página API Gateway.

    Ir a API Gateway

  2. API Gateway requiere que habilites los siguientes servicios de Google:

    Nombre Título
    apigateway.googleapis.com API de API Gateway
    servicemanagement.googleapis.com API Service Management
    servicecontrol.googleapis.com API Service Control

    Si no has habilitado estos servicios en el proyecto que has seleccionado, se te pedirá que lo hagas.

  3. Confirma que la facturación está habilitada en tu proyecto.

    Descubre cómo habilitar la facturación.

Desplegar un backend de API

API Gateway se encuentra delante de un servicio de backend implementado y gestiona todas las solicitudes entrantes. En esta guía de inicio rápido, API Gateway dirige las llamadas entrantes a un backend de función de Cloud Run llamado helloGET, que contiene la función que se muestra a continuación:

/**
 * HTTP Cloud Function.
 * This function is exported by index.js, and is executed when
 * you make an HTTP request to the deployed function's endpoint.
 *
 * @param {Object} req Cloud Function request context.
 *                     More info: https://expressjs.com/en/api.html#req
 * @param {Object} res Cloud Function response context.
 *                     More info: https://expressjs.com/en/api.html#res
 */

exports.helloGET = (req, res) => {
  res.send('Hello World!');
};

Sigue los pasos de la guía de inicio rápido para usar la CLI de Google Cloud para descargar el código de ejemplo de Cloud Run functions y desplegar el servicio de backend de Cloud Run function.

Crear una configuración de API

API Gateway usa una configuración de API para enrutar las llamadas al servicio de backend. Puedes usar una especificación de OpenAPI que contenga extensiones especializadas para definir el comportamiento de API Gateway que elijas. Para obtener más información sobre las extensiones de OpenAPI admitidas, consulta lo siguiente:

La especificación de OpenAPI de esta guía de inicio rápido contiene instrucciones de enrutamiento al backend de la función de Cloud Run:

OpenAPI 2.0

# openapi-functions.yaml
swagger: '2.0'
info:
  title: API_ID optional-string
  description: Sample API on API Gateway with a Google Cloud Functions backend
  version: 1.0.0
schemes:
  - https
produces:
  - application/json
paths:
  /hello:
    get:
      summary: Greet a user
      operationId: hello
      x-google-backend:
        address: https://GATEWAY_LOCATION -PROJECT_ID.cloudfunctions.net/helloGET
      responses:
        '200':
          description: A successful response
          schema:
            type: string

OpenAPI 3.x

# openapi-functions.yaml
openapi: 3.0.4
info:
  title: API_ID optional-string
  description: Sample API on API Gateway with a Google Cloud Functions backend
  version: 1.0.0
# Define reusable components in x-google-api-management
x-google-api-management:
  backends:
    functions_backend:
      address: https://GATEWAY_LOCATION-PROJECT_ID.cloudfunctions.net/helloGET
      pathTranslation: APPEND_PATH_TO_ADDRESS