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
En la Google Cloud consola, ve a la página API Gateway.
API Gateway requiere que habilites los siguientes servicios de Google:
Nombre Título apigateway.googleapis.comAPI de API Gateway servicemanagement.googleapis.comAPI Service Management servicecontrol.googleapis.comAPI Service Control Si no has habilitado estos servicios en el proyecto que has seleccionado, se te pedirá que lo hagas.
Confirma que la facturación está habilitada en tu proyecto.
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