Aislamiento de entornos de desarrollo entre regiones y de varios niveles mediante compartimentos

Aproveche los compartimentos para crear una plantilla para entornos de desarrollo y prueba seguros de varios niveles y entre regiones que puede utilizar para crear soluciones empresariales en Oracle Cloud Infrastructure.

Para implementar proyectos esenciales, las organizaciones suelen mantener entornos independientes para el desarrollo y las pruebas antes de lanzar el proyecto a un entorno de producción. Un entorno le permite definir y gestionar los servicios PaaS y Oracle Cloud Infrastructure de Oracle Cloud como una sola entidad. Es importante contar con los recursos, la estructura y el diseño adecuados en todos los entornos para gestionarlos de forma eficiente.

Los compartimentos son una potente función de Oracle Cloud Infrastructure (OCI) para el aislamiento de seguridad y el control de acceso. Mediante la aplicación de políticas, ofrecen el nivel de acceso adecuado según los parámetros definidos por la organización para la gestión de recursos y la administración delegada.

Arquitectura

Esta arquitectura de referencia muestra cómo utilizar los compartimentos para diseñar y configurar diferentes entornos en Oracle Cloud Infrastructure y cómo aprovisionar recursos para soportar el desarrollo de software y el ciclo de vida de la versión. La arquitectura utiliza una aplicación web de varios niveles como punto de referencia al mismo tiempo que asigna recursos a distintas organizaciones de una empresa para ilustrar la implantación.

En el siguiente diagrama se ilustra esta arquitectura.



oci-dev-env-architecture: oracle.zip

Esta arquitectura contiene los siguientes componentes:

  • arrendamiento

    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 solo arrendamiento y reflejará su estructura organizativa dentro de ese arrendamiento. Un único arrendamiento suele estar asociado a una sola suscripción, y una única suscripción suele tener un solo 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 de otras regiones, y las grandes distancias pueden separarlas (entre países e incluso continentes).

  • Compartimento

    Los compartimentos son particiones lógicas entre regiones dentro de un arrendamiento de Oracle Cloud Infrastructure. Utilice compartimentos para organizar los recursos en Oracle Cloud, controlar el acceso a los recursos y definir cuotas de uso. Para controlar el acceso a los recursos de un compartimento determinado, debe definir políticas que especifiquen quién puede acceder a los recursos y qué acciones pueden realizar.

  • 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.

  • Equilibrador de carga

    El servicio Oracle Cloud Infrastructure Load Balancing proporciona una distribución automatizada del tráfico desde un único punto de entrada a varios servidores en el backend.

  • Compute

    El servicio Oracle Cloud Infrastructure Compute permite aprovisionar y gestionar hosts informáticos en la nube. Puede iniciar instancias informáticas con unidades que cumplan los requisitos de recursos de CPU, memoria, ancho de banda de red y almacenamiento. Después de crear una instancia informática, puede acceder a ella de forma segura, reiniciarla, asociar y desconectar volúmenes y terminarla cuando ya no lo necesite.

  • Autonomous Transaction Processing

    Oracle Autonomous Transaction Processing es un servicio de base de datos autogestionado, autoprotegido y autoreparable que está optimizado para las cargas de trabajo de procesamiento de transacciones. No necesita configurar ni gestionar ningún hardware, ni instalar ningún software. Oracle Cloud Infrastructure gestiona la creación de la base de datos, así como la realización de copias de seguridad, la aplicación de parches, la actualización y el ajuste de la base de datos.

Recomendaciones

Utilice las siguientes recomendaciones como punto de partida. Los requisitos pueden ser diferentes.

  • 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 dirección IP privada estándar.

    Seleccione bloques CIDR que no se superpongan con ninguna otra red (en Oracle Cloud Infrastructure, su centro de datos local u otro proveedor de nube) a la que desea 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.

  • Compartimento

    Por defecto, cualquier arrendamiento de Oracle Cloud tiene un compartimento raíz por defecto denominado en el propio arrendamiento. El administrador de arrendamiento (administrador de compartimento raíz por defecto) es cualquier usuario que sea miembro del grupo Administradores por defecto.

    Para esta arquitectura, creamos dos compartimentos de nivel superior, HR y Sales, para dos organizaciones diferentes en el compartimento raíz. Dos grupos gestionan esos compartimentos: HR-Admins y Sales-Admins. En el compartimento de nivel superior HR, creamos los subcompartimentos HR-Prod, HR-Dev, HR-Staging y HR-Test. Estos compartimentos los gestionan los grupos HR-Prod-Admins, HR-Dev-Admins, HR-Staging-Admins y HR-Test-Admins, respectivamente. En el compartimento de nivel superior Ventas, creamos los subcompartimentos Sales-Prod, Sales-Dev, Sales-Staging y Sales-Test. Estos compartimentos los gestionan los grupos Sales-Prod-Admins, Sales-Dev-Admins, Sales-Staging-Admins y Sales-Test-Admins, respectivamente.

  • Política

    El control de acceso de compartimento se rige por políticas. Las políticas están formadas por sentencias que asocian un asunto (siempre un grupo de usuarios) a acciones en recursos seleccionados (o familia de recursos) dentro de un arrendamiento o compartimento. Puede cualificar aún más la sentencia de política agregando condiciones que acoten aún más el control de acceso.

    En esta implantación, se delega la administración de recursos de Oracle Cloud Infrastructure Compute mediante políticas y compartimentos para subcompartimentos y compartimentos de nivel superior. El objetivo es que cada compartimento funcione de forma independiente y con un aislamiento completo unos de otros.

Consideraciones

Tenga en cuenta los siguientes puntos al desplegar esta arquitectura de referencia.

  • Posibilidades de ampliación

    Oracle Cloud Infrastructure soporta una jerarquía de compartimentos de hasta seis niveles. El administrador de un compartimento tiene plena capacidad sobre sus compartimentos anidados. En esta implementación, utilizamos tres niveles.

    Los recursos de Oracle Cloud Infrastructure, como Oracle Cloud Infrastructure Compute, el servicio de equilibrio de carga y Autonomous Transaction Processing se aprovisionan en cada uno de los compartimentos entre regiones y entornos. En este ejemplo, los recursos se asignan para una aplicación web simple como punto de referencia para el ciclo de vida de una versión y desarrollo de software.

    Oracle Cloud Infrastructure Compute ofrece la función de ampliación automática, que le ayuda a proporcionar un rendimiento constante para sus usuarios finales durante los períodos de alta demanda y le ayuda a reducir sus costos durante los períodos de baja demanda. También puede utilizar la función de escala automática para Oracle Autonomous Transaction Processing. Cuando la ampliación automática está activada, si la aplicación utiliza automáticamente más recursos de CPU y E/S según sea necesario sin ninguna intervención manual. El equilibrador de carga ofrece soporte para cambiar de forma dinámica el ancho de banda de una unidad.

  • Disponibilidad

    Por lo general, puede desplegar una aplicación en la región en la que se utiliza con mayor frecuencia, porque el uso de recursos cercanos es más rápido que el uso de recursos distantes. Los dominios de disponibilidad de la misma región se conectan entre sí mediante una red con un alto ancho de banda de baja latencia. Esta red proporciona conectividad de alta disponibilidad a Internet y a los equipos locales para que pueda crear sistemas replicados en varios dominios de disponibilidad para una recuperación ante desastres y de alta disponibilidad.

    Oracle Autonomous Transaction Processing elimina el tiempo de inactividad del sitio al mantener una copia remota en tiempo real de una base de datos de producción y cambiar automáticamente de la base de datos principal a la copia remota mediante Oracle Data Guard.

  • Capacidad de gestión
    Debido a que los compartimentos separan la gestión de recursos, puede compartir recursos entre compartimentos. Por ejemplo, para compartir una instancia informática de HR-Dev a Sales-Dev, tiene dos opciones:
    • Cree una imagen personalizada del grupo HR-Dev-Admins, exporte la imagen a Oracle Cloud Infrastructure Object Storage y haga que esté disponible para el grupo Sales-Dev-Admins.
    • También puede exportar el volumen de inicio de instancia en HR-Dev al compartimento Sales-Dev.

    Como administrador, planifique con antelación cómo particionar los rangos de CIDR disponibles en diferentes áreas de organización. Asegúrese de que las VCN no tengan rangos CIDR superpuestos. Esta planificación evita el intercambio involuntario de tráfico entre dos VCN en diferentes compartimentos.

    Por último, gestione la arquitectura mediante la automatización de la infraestructura y la asignación de recursos mediante Terraform.

  • Seguridad

    Configure listas de seguridad, que actúan como firewalls virtuales, para que los recursos de diferentes compartimentos se puedan comunicar. Por ejemplo, una instancia de base de datos del compartimento HR se puede conectar a una instancia de base de datos del compartimento Sales siempre que las listas de seguridad aplicables estén configuradas correctamente.

    Muestre un punto final privado para la base de datos de Oracle Autonomous Transaction Processing asociando la base de datos a una subred privada.

    Al diseñar las subredes, tenga en cuenta los requisitos de seguridad y flujo de tráfico. Asocie todos los recursos de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad. Agregue tablas de rutas y gateways (enrutadores virtuales) a la VCN para gestionar el tráfico, según el tipo de acceso que necesite. Por ejemplo, puede que necesite conectarse a través de la red pública de Internet, una red privada, una red local, otro servicio de Oracle o una red de VCN diferente del arrendamiento.

    Considere el uso del firewall de aplicaciones web (WAF) de Oracle Cloud Infrastructure Compute para proteger la aplicación contra el tráfico malicioso de la red pública de Internet. Esta arquitectura se basa en políticas que restringen quién puede acceder a qué recursos de Oracle Cloud Infrastructure Compute de un compartimento específico.

Despliegue

El código de Terraform para crear entornos de compartimento de varios niveles para el desarrollo de soluciones empresariales está disponible en GitHub.

  1. Vaya a GitHub.
  2. Clone o descargue el repositorio en la computadora local.
  3. Siga las instrucciones del documento README.

Log de Cambios

Este log muestra cambios significativos: