Despliegue de una solución de recuperación ante desastres para un gateway de API de Oracle Cloud Infrastructure

Oracle Cloud Infrastructure API Gateway está disponible en una región de OCI regida por acuerdos de nivel de servicio (SLA). Esta arquitectura de referencia detalla la arquitectura subyacente a la implantación de una solución de recuperación ante desastres gestionada por el cliente y entre regiones para OCI API Gateway.

Esta solución de recuperación ante desastres soporta:
  • Topologías "activas-pasivas", en las que solo una puerta de enlace procesa toda la carga, aunque se espera que ambas puertas de enlace estén activas y en ejecución. Una puerta de enlace activa no se determina por su estado (Activo/Suprimido/Actualizando), sino por la puerta de enlace a la que se dirige el tráfico y está activada para ejecutar todas las funciones.
  • Replicación gestionada por el cliente de las categorías de OCI API Gateway; por ejemplo, despliegues de API, planes de uso y suscriptores de API.
Si tanto el gateway de API de OCI principal como el secundario utilizan las mismas categorías de API y proveedores de autorización, después del switchover, puede acceder a las API de la misma forma en todas las regiones.

Antes de empezar

Antes de comenzar a configurar la configuración de recuperación ante desastres para integraciones, debe:
  • Aprovisione un segundo gateway de API de OCI en una región de OCI diferente.
  • Obtenga un nombre de host/DNS personalizado (en un dominio de su elección) y un certificado SSL asociado.

Arquitectura

Esta arquitectura de referencia para el gateway de API de OCI consta de dos gateway de API de OCI en dos regiones en la nube diferentes, a las que se accede mediante un único punto final personalizado (URL). Para implantar un único punto final personalizado, puede utilizar una zona del sistema de nombres de dominio (DNS) de OCI para resolver el nombre del punto final personalizado.

Puede utilizar estas URL personalizadas como punto de entrada a los gateway de API de OCI; por ejemplo, api.mycompany.com. Para obtener más información sobre la configuración de puntos finales personalizados, consulte "Gestión de zonas de servicio DNS", a la que puede acceder desde "Explorar más", a continuación.

Los dos gateway de API de OCI de la arquitectura se designan como principales y secundarios, y ambos gateways se ejecutan simultáneamente; sin embargo, solo uno de los gateways recibe tráfico. Inicialmente, el gateway primario recibe el flujo de tráfico. Si la región principal deja de estar disponible, el registro de DNS se puede actualizar para enrutar el tráfico a la región secundaria.

En el siguiente diagrama se ilustra esta arquitectura de referencia para un gateway público (patrón de zona de llegada para OCI API Gateway):


Descripción de apigw-oci-customer-managed-dr-topology.png
Descripción de la ilustración apigw-oci-customer-managed-dr-topology.png

apigw-oci-customer-managed-dr-topology-oracle.zip

Estas arquitecturas tienen los siguientes componentes:
  • Tenancy

    Un arrendamiento es una partición segura y aislada que Oracle configura en Oracle Cloud al registrarse en Oracle Cloud Infrastructure. Puede crear, organizar y administrar sus recursos en Oracle Cloud dentro de su arrendamiento. Un arrendamiento es sinónimo de una compañía u organización. Normalmente, una compañía tendrá un único arrendamiento y reflejará su estructura organizativa dentro de ese arrendamiento. Un único arrendamiento suele estar asociado a una única suscripción, y una única suscripción normalmente solo tiene un arrendamiento.

  • Región

    Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes entre sí y pueden separarse grandes distancias (entre países o incluso continentes).

  • Compartimento

    Los compartimentos son particiones lógicas entre regiones dentro de un arrendamiento de Oracle Cloud Infrastructure. Utilice compartimentos para organizar, controlar el acceso y definir cuotas de uso para los recursos de Oracle Cloud. En un compartimento determinado, defina políticas que controlen el acceso y definan privilegios para los recursos.

  • Dominio de disponibilidad

    Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. Por tanto, un fallo en un dominio de disponibilidad no debería afectar a los demás dominios de disponibilidad de la región.

  • Red y subred virtuales en la nube (VCN)

    Una VCN es una red personalizable definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de los centros de datos tradicionales, las redes virtuales le proporcionan el control de su entorno de red. Una VCN puede tener varios bloques de CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, las cuales se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.

  • Tabla de rutas

    Las tablas de rutas virtuales contienen reglas para enrutar el tráfico de subredes a destinos fuera de una VCN, normalmente a través de gateways.

  • Lista de seguridad

    Para cada subred, puede crear reglas de seguridad que especifiquen el origen, el destino y el tipo de tráfico que se debe permitir dentro y fuera de la subred.

  • Servicio de Oracle Cloud Infrastructure DNS

    Las zonas de DNS públicas contienen los registros de DNS autorizados que residen en los servidores de nombres de OCI. Puede crear zonas públicas con nombres de dominio disponibles públicamente accesibles en Internet. Para obtener más información, consulte "Visión general de DNS", a la que puede acceder desde "Explorar más", a continuación.

  • Gateway de Internet

    El gateway de Internet permite el tráfico entre las subredes públicas de una VCN y la red pública de Internet.

  • Oracle Cloud Infrastructure Web Application Firewall (WAF)

    Los WAF protegen las aplicaciones del tráfico de Internet malicioso y no deseado con un servicio global de firewall de aplicaciones web basado en la nube y compatible con PCI. Al combinar la inteligencia de amenazas con la aplicación coherente de reglas en OCI Flexible Network Load Balancer, Oracle Cloud Infrastructure Web Application Firewall refuerza las defensas y protege los servidores de aplicaciones y las aplicaciones internas orientadas a Internet. (Este componente es opcional)

  • Flexible Load Balancer

    Un equilibrador de carga mejora el uso de los recursos dirigiendo las solicitudes entre los servicios de aplicaciones que funcionan en paralelo. A medida que aumenta la demanda, se puede aumentar el número de servicios de aplicación y el equilibrador de carga los utilizará para equilibrar el procesamiento de las solicitudes. (Este componente es opcional)

  • Servicio de bastión

    Oracle Cloud Infrastructure Bastion proporciona acceso seguro restringido y limitado en el tiempo a recursos que no tienen puntos finales públicos y que requieren estrictos controles de acceso a recursos, como hardware dedicado y máquinas virtuales, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Cloud Infrastructure Kubernetes Engine (OKE) y cualquier otro recurso que permita el acceso al protocolo de shell seguro (SSH). Con el servicio OCI Bastion, puede permitir el acceso a hosts privados sin desplegar y mantener un host de salto. Además, obtiene una estrategia de seguridad mejorada con permisos basados en identidad y una sesión SSH centralizada, auditada y con límite de tiempo. OCI Bastion elimina la necesidad de una IP pública para el acceso al bastión, eliminando la molestia y la posible superficie de ataque al proporcionar acceso remoto.

  • Gateway de API

    Oracle Cloud Infrastructure API Gateway permite publicar API con puntos finales privados a los que se puede acceder desde su red, y que puede exponer en la red pública de Internet si es necesario. Los puntos finales admiten la validación de API, la transformación de solicitud y respuesta, CORS, la autenticación y autorización, y la limitación de solicitudes.

  • Análisis

    Oracle Analytics Cloud es un servicio en la nube pública escalable y seguro que brinda a los analistas empresariales capacidades modernas de análisis de autoservicio basadas en IA para la preparación de datos, la visualización, la generación de informes empresariales, el análisis aumentado y el procesamiento y la generación de lenguaje natural. Con Oracle Analytics Cloud, también obtiene capacidades de gestión de servicios flexibles, como una configuración rápida, una ampliación y aplicación de parches fáciles y una gestión automatizada del ciclo de vida.

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) es el plano de control de acceso para Oracle Cloud Infrastructure (OCI) y Oracle Cloud Applications. La API de IAM y la interfaz de usuario permiten gestionar los dominios de identidad y los recursos del dominio de identidad. Cada dominio de identidad de OCI IAM representa una solución independiente de gestión de identidad y acceso o una población de usuarios diferente.

  • Dominio de identidad (IDom)

    IAM utiliza dominios de identidad (IDom) para proporcionar funciones de gestión de identidad y acceso como autenticación, conexión única (SSO) y gestión del ciclo de vida de identidad para Oracle Cloud, así como para aplicaciones de Oracle y no de Oracle, ya sean SaaS, alojadas en la nube o locales.

  • Política

    Una política de Oracle Cloud Infrastructure Identity and Access Management especifica quién puede acceder a qué recursos y cómo. El acceso se otorga en el nivel de grupo y compartimento, lo que significa que puede escribir una política que proporcione a un grupo un tipo específico de acceso dentro de un compartimento específico o al arrendamiento.

  • Auditoría

    El servicio Oracle Cloud Infrastructure Audit registra automáticamente las llamadas a todos los puntos finales de la interfaz pública de programación de aplicaciones (API) de Oracle Cloud Infrastructure soportados como eventos de log. Todos los servicios de OCI admiten el registro mediante Oracle Cloud Infrastructure Audit.

  • Logging
    Logging es un servicio altamente escalable y totalmente gestionado que proporciona acceso a los siguientes tipos de logs de sus recursos en la nube:
    • Logs de auditoría: logs relacionados con eventos emitidos por el servicio de auditoría.
    • Logs de servicios: logs emitidos por servicios individuales como API Gateway, Events, Functions, Load Balancing, Object Storage y logs de flujo de VCN.
    • Logs personalizados: logs que contienen información de diagnóstico de aplicaciones personalizadas, otros proveedores de nube o un entorno local.
  • Registro de análisis

    Logging Analytics es un servicio en la nube basado en aprendizaje automático que supervisa, agrega, indexa y analiza todos los datos de log de entornos locales y multinube. Permite a los usuarios buscar, explorar y correlacionar estos datos para solucionar problemas más rápido y obtener estadísticas para tomar mejores decisiones operativas.

Recomendaciones

Utilice las siguientes recomendaciones como punto de partida al desplegar una solución de recuperación ante desastres para un gateway de API de OCI. Sus requisitos pueden diferir de la arquitectura descrita aquí.
  • VCN

    Al crear una VCN, determine el número de bloques CIDR necesarios y el tamaño de cada bloque en función del número de recursos que planea asociar a las subredes de la VCN. Utilice bloques CIDR que estén dentro del espacio de direcciones IP privadas estándar.

    Seleccione bloques de CIDR que no se solapen con ninguna otra red (en Oracle Cloud Infrastructure, su centro de datos local u otro proveedor en la nube) a la que desee configurar conexiones privadas.

    Después de crear una VCN, puede cambiar, agregar y eliminar sus bloques CIDR.

    Al diseñar las subredes, tenga en cuenta el flujo de tráfico y los requisitos de seguridad. Asocie todos los recursos de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.

    Utilizar subredes regionales.

  • Conectividad (gateway de API privado)

    Al desplegar recursos en OCI, puede empezar de forma pequeña, con una única conexión a su red local. Esta única conexión puede ser a través de OCI FastConnect o a través de VPN IPSec. Para planificar la redundancia, tenga en cuenta todos los componentes (dispositivos de hardware, instalaciones, circuitos y energía) entre su red local y OCI. También considere la diversidad para garantizar que las instalaciones no se compartan entre los caminos.

Consideraciones

Al desplegar una solución de recuperación ante desastres para un gateway de API de OCI, tenga en cuenta estos factores.

  • Uso de una zona de gestión de DNS de OCI

    Configure los registros DNS para sus gateway de API de OCI. Puede utilizar una zona de DNS de OCI para gestionar registros de DNS y proporcionar resolución de nombres de host para sus gateway de API de OCI.

    Después de adquirir un dominio (o un subdominio) para sus gateways de API, agregue una zona de DNS de OCI a través de la consola de OCI o la API. Para obtener más información sobre la creación de una zona de DNS de OCI y la adición de un registro, consulte "Gestión de zonas de servicio de DNS", a la que puede acceder desde "Explorar más", a continuación.
    • En la zona, agregue el nombre de host personalizado de OCI API Gateway como registro CNAME.
    • Después de publicar correctamente los cambios de zona, actualice el dominio para utilizar los servidores de nombres DNS de OCI.
  • Seguridad

    Utilice las políticas de OCI Identity and Access Management (IAM) para controlar quién puede acceder a sus recursos en la nube y qué operaciones se pueden realizar. Los servicios en la nube de OCI utilizan políticas de IAM, como permitir que OCI API Gateway llame a funciones. OCI API Gateway también puede controlar el acceso mediante la autenticación y autorización OAuth. IAM permite la autenticación y autorización que se pueden federar mediante IAM. Como resultado, el gateway de API de OCI tiene la capacidad de autenticarse con una amplia gama de servicios y configuraciones de autenticación.

  • Rendimiento y costos

    Gateway de API de OCI soporta el almacenamiento en caché de respuesta mediante la integración con un servidor de caché externo (como un servidor Redis o KeyDB), que ayuda a evitar la carga innecesaria en los servicios de backend. Cuando las respuestas se almacenan en caché, si se reciben solicitudes similares, se pueden completar recuperando datos de una caché de respuesta en lugar de enviar la solicitud al servicio de backend. Esto reduce la carga en los servicios de backend y, en consecuencia, ayuda a mejorar el rendimiento y reducir los costos. OCI API Gateway también almacena en caché tokens de autorización (en función de su tiempo de abandono de TTL), lo que reduce la carga en el proveedor de identidad y mejora el rendimiento.

  • Disponibilidad

    Considere la posibilidad de utilizar una opción de alta disponibilidad en función de los requisitos de despliegue y la región. Entre las opciones se incluyen la distribución de recursos entre varios dominios de disponibilidad en una región y la distribución de recursos entre los dominios de errores dentro de un dominio de disponibilidad.

  • Supervisión y alertas

    Configure la supervisión y las alertas sobre las métricas de API Gateway.

Despliegue

Para desplegar esta arquitectura de referencia en Oracle Cloud Infrastructure, realice los siguientes pasos:

El código de Terraform oci_apigateway_api está disponible en GitHub. Consulte "Explorar más", a continuación, para obtener un enlace.

  1. Conéctese a la consola de Oracle Cloud Infrastructure con sus credenciales de Oracle Cloud
  2. Configure la infraestructura de red de sitio secundario necesaria, como se muestra en el diagrama de arquitectura; esto incluye los siguientes componentes: VCN, subred, DRG/gateway de Internet (gateway de API privado/público), lista de seguridad, tabla de enrutamiento, gateway de servicio, FastConnect/VPN y CPE, zona pública de DNS
  3. Cree un gateway de API de OCI. Consulte las instrucciones sobre la creación de un gateway de API para preparar y crear una instancia de gateway de API de OCI. Puede acceder a este documento desde "Explorar más", a continuación.
  4. Restrinja las redes que tienen acceso a su gateway de API mediante la configuración de la lista de seguridad, la tabla de enrutamiento y los grupos de seguridad de red, si es necesario.
  5. Automatice la sincronización de despliegues. Este paso garantiza que las pilas de los despliegues de API, los planes de uso de API y las suscripciones de API se sincronicen regularmente entre la instancia principal y la instancia en espera mediante integración y despliegue continuos.

    Note:

    Cada configuración y cambio sobre los despliegues de API de los recursos de gestión de API de OCI, los planes de uso de API y las suscripciones de API se pueden guardar y gestionar como la pila de Terraform. A continuación, la pila se puede cargar en el lado secundario o aplicar a un sitio diferente mediante OCI DevOps.
  6. Ejecute las tareas de failover.
    • Cambie al entorno de recuperación ante desastres.
    • Cambie de la instancia principal a la instancia en espera durante las interrupciones actualizando el registro de DNS en su proveedor de DNS o en la zona de DNS de OCI para enrutar el tráfico a la ubicación secundaria a través del gateway de API. Puede hacerlo manualmente desde la consola de OCI o mediante la API de REST de OCI. Después del proceso de failover, el gateway de API de la ubicación en espera/secundaria se convierte en el gateway de API principal y el gateway de API previamente designado como principal se convierte en el nuevo gateway de API en espera.

Confirmaciones

  • Autor: Peter Obert
  • Contribuyente: Robert Wunderlich