Despliegue aplicaciones en la nube que utilicen MySQL en Oracle Cloud Infrastructure
Puede utilizar Oracle Container Engine for Kubernetes (OKE), Oracle Cloud Infrastructure Registry y Oracle MySQL Database Service (MDS) para desarrollar y desplegar aplicaciones nativas en la nube y migrar aplicaciones heredadas a la nube.
OKE es un servicio totalmente gestionado, escalable y con alta disponibilidad que puede utilizar para desplegar las aplicaciones en contenedores en la nube. Utilice OKE cuando el equipo de desarrollo desee crear, desplegar y gestionar de forma fiable aplicaciones en la nube.
Puede utilizar Oracle Cloud Infrastructure Registry como registro privado de Docker para uso interno, transferir imágenes de Docker al registro o extraerlas del mismo mediante la API V2 de Docker y la interfaz de línea de comandos (CLI) estándar de Docker.
MDS es un servicio nativo de Oracle Cloud Infrastructure totalmente gestionado que automatiza tareas como la copia de seguridad y la recuperación, así como la aplicación de parches en bases de datos y sistemas operativos.
El uso de MDS en Oracle Cloud Infrastructure Compute tiene las siguientes ventajas:
- Despliegue MySQL en cuestión de minutos.
- Aproveche un servicio de OCI totalmente gestionado.
- Se centra en el desarrollo, no en la administración de la infraestructura.
- Utilice herramientas y las funciones más recientes para las aplicaciones modernas.
- Escalar según sus necesidades.
- Evite la TI en la sombra.
Arquitectura
Esta arquitectura de referencia contiene un nivel de base de datos de alta disponibilidad, creado con MDS y un cluster de OKE.
El siguiente diagrama ilustra esta arquitectura de referencia.

Descripción de la ilustración Architecture-kubernetes-mysql-oci.png
arquitectura-kubernetes-mysql-oci-oracle.zip
Al desplegar MDS en una subred de dominio activo, MDS desplegará un cluster de instancias de MySQL, con una instancia en cada dominio de errores para proporcionar la redundancia. Una instancia es la principal y las otras dos instancias son las secundarias. La base de datos primaria incluye un único punto final que permite las lecturas y escrituras en la base de datos, mientras que los secundarios reciben datos replicados de la base de datos primaria. No se permite el acceso directo a los secundarios.
En caso de fallo o switchover manual, uno de los secundarios se convierte en el nuevo principal y se le redirige el punto final. Esto significa que la dirección IP de punto final nunca cambia y no es necesario actualizar la aplicación. OCI gestiona los aspectos de alta disponibilidad de la base de datos.
La arquitectura incluye un cluster de OKE, que funciona con Oracle Cloud Infrastructure Registry para alojar aplicaciones desarrolladas y desplegables nativas en la nube.
La arquitectura tiene los siguientes componentes:
- Host bastión
El host bastión es una instancia informática que sirve como punto de entrada seguro y controlado a la topología desde fuera de la nube. El host bastión se aprovisiona normalmente en una zona desmilitarizada (DMZ). Permite proteger recursos confidenciales colocándolos en redes privadas a las que no se puede acceder directamente desde fuera de la nube. La topología tiene un único punto de entrada conocido que puede supervisar y auditar con regularidad. Por lo tanto, puede evitar exponer los componentes más sensibles de la topología sin comprometer el acceso a ellos.
- Container Engine para Kubernetes
Oracle Cloud Infrastructure Container Engine for Kubernetes es un servicio totalmente gestionado, escalable y disponible que puede utilizar para desplegar las aplicaciones en contenedores en la nube. Especifique los recursos informáticos que necesitan sus aplicaciones y Container Engine for Kubernetes los aprovisionará en Oracle Cloud Infrastructure en un arrendamiento existente. Container Engine for Kubernetes utiliza Kubernetes para automatizar el despliegue, el ajuste y la gestión de aplicaciones en contenedores en clusters de hosts.
- Servicio de base de datos Oracle MySQL
Oracle MySQL Database Service es un servicio de base de datos de Oracle Cloud Infrastructure (OCI) totalmente gestionado que permite a los desarrolladores desarrollar y desplegar rápidamente aplicaciones seguras nativas de la nube. Optimizado y disponible exclusivamente en OCI, Oracle MySQL Database Service está 100% diseñado, gestionado y soportado por los equipos de ingeniería de OCI y MySQL.
Oracle MySQL Database Service cuenta con un motor de análisis integrado y de alto rendimiento (HeatWave) para ejecutar sofisticados análisis en tiempo real directamente en una base de datos MySQL operativa.
- Registro
Oracle Cloud Infrastructure Registry es un registro gestionado por Oracle que permite simplificar el flujo de trabajo de desarrollo a producción. El registro facilita el almacenamiento, el uso compartido y la gestión de artefactos de desarrollo, como imágenes de Docker. La arquitectura altamente disponible y escalable de Oracle Cloud Infrastructure garantiza que puede desplegar y gestionar sus aplicaciones de forma fiable.
- 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 separarse (entre países e incluso continentes).
- Red virtual en la nube (VCN) y subred
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 centros de datos tradicionales, las VCN le proporcionan un control total de su entorno de red. Una VCN puede tener varios bloques CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes que se pueden acotar a una región o a un dominio de disponibilidad. Cada subred consta de un rango contiguo de direcciones que no se solapan con las demás subredes de VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
- Dominios 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 una infraestructura tal como la alimentación, la refrigeración o la red interna del dominio de disponibilidad. Por tanto, es poco probable que un fallo en un dominio de disponibilidad afecte a los otros dominios de disponibilidad de la región.
- Dominios de errores
Un dominio de errores es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad tiene tres dominios de errores con hardware y potencia independientes. Cuando distribuye recursos entre varios dominios de errores, sus aplicaciones pueden tolerar fallos en el servidor físico, el mantenimiento del sistema y los fallos de alimentación dentro de un dominio de errores.
- Gateway de enrutamiento dinámico (DRG)
El DRG es un enrutador virtual que proporciona una ruta para el tráfico de red privada entre una VCN y una red fuera de la región, como una VCN en otra región de Oracle Cloud Infrastructure, una red local o una red en otro proveedor en la nube.
- Gateway de servicio
El gateway de servicios proporciona acceso desde una VCN a otros servicios, como Oracle Cloud Infrastructure Object Storage. El tráfico desde la VCN al servicio Oracle recorre el tejido de red de Oracle y no internet.
- 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.
- 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.
- Tabla de rutas
Las tablas de rutas virtuales contienen reglas para enrutar el tráfico desde subredes a destinos fuera de una VCN, normalmente a través de gateways.
Recomendaciones
Sus requisitos pueden diferir de la arquitectura descrita aquí. Utilice las siguientes recomendaciones como punto de partida.
- Host bastión
Utilice la unidad VM.Standard.E4.Flex con una CPU y 1 GB de memoria, y el último sistema operativo Oracle Linux.
- Cluster OKE
Utilice la opción Creación personalizada de la consola para que pueda especificar una VCN y una subred para el despliegue. Cree un cluster de tres nodos y seleccione VM.Standard.E4.Flex como unidad inicial. Para despliegues más grandes, puede utilizar un tamaño de cluster más grande con una unidad de computación más alta.
- Unidad de sistema de base de datos
Esta arquitectura utiliza alta disponibilidad en MDS para proporcionar tres servidores MySQL distribuidos por los dominios de errores. Para una carga de trabajo ligera, recomendamos utilizar MySQL.VM.Standard.E3.1.8GB.HA. Puede utilizar unidades de mayor tamaño para cargas de trabajo más exigentes.
- Conexión a MDS
Puede acceder a MDS directamente con el cliente MySQL o un shell MySQL instalado en máquinas virtuales o contenedores de aplicaciones.
- Almacenamiento de base de datos de MDS
El rendimiento del almacenamiento de base de datos MDS se amplía con el tamaño de almacenamiento seleccionado para el sistema de base de datos. No puede limitar ni editar las IOPS de almacenamiento de MDS. Debe aprovisionar el tamaño de almacenamiento según el tamaño de los datos y los requisitos de rendimiento. MDS utiliza la opción de alto rendimiento del servicio de volumen en bloque sobre iSCSI. Los resultados del rendimiento final pueden variar en función de las distintas unidades y escenarios.
- Container Registry
Oracle gestiona el registro, por lo que no tiene que elegir el tamaño ni ninguna otra opción. Recomendamos crear un registro privado para las mejores prácticas de seguridad.
- VCN
Al crear una VCN, determine el número de bloques CIDR necesarios y el tamaño de cada bloque según el número de recursos que planea asociar a subredes en la VCN. Utilice bloques CIDR que estén dentro del espacio de dirección IP privada estándar.
Seleccione bloques CIDR que no se solapen con ninguna otra red (en Oracle Cloud Infrastructure, su centro de datos local u otro proveedor en la nube) en 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 los requisitos de seguridad y flujo de tráfico. Conecte todos los recursos de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.
Consideraciones
- Escalabilidad
Puede escalar verticalmente MySQL cambiando la unidad de máquina virtual de cada nodo de Compute. El uso de una unidad con un recuento de núcleos más alto aumenta el ancho de banda de memoria y red asignado a la instancia informática.
- Disponibilidad de Aplicación
Esta arquitectura utiliza alta disponibilidad en MDS para distribuir instancias informáticas en varios dominios de errores, lo que elimina los puntos de fallo específicos y proporciona redundancia.
- Costo
Seleccione la unidad de máquina virtual en función de los núcleos, la memoria y el ancho de banda de red que necesite para la base de datos. Puede comenzar con una forma de un núcleo. Si necesita más rendimiento, memoria o ancho de banda de red para la aplicación o el nodo de base de datos, puede cambiar la unidad de máquina virtual más adelante.
Despliegue
El código de Terraform de esta arquitectura de referencia está disponible como una pila de ejemplo en Oracle Cloud Infrastructure Resource Manager. También puede descargar el código desde GitHub y personalizarlo para adaptarlo a sus necesidades específicas.
- Realice el despliegue con la pila de ejemplo en Oracle Cloud Infrastructure Resource Manager:
- Haga clic en
.
Si aún no ha iniciado sesión, introduzca el arrendamiento y las credenciales de usuario.
- Revise y acepte las condiciones.
- Seleccione la región en la que desea desplegar la pila.
- Siga las indicaciones en pantalla e instrucciones para crear la pila.
- Después de crear la pila, haga clic en Acciones de Terraform y seleccione Plan.
- Espere a que se complete el trabajo y revise el plan.
Para realizar cambios, vuelva a la página Detalles de pila, haga clic en Editar pila y realice los cambios necesarios. A continuación, vuelva a ejecutar la acción Plan.
- Si no es necesario realizar más cambios, vuelva a la página Detalles de pila, haga clic en Acciones de Terraform y seleccione Aplicar.
- Haga clic en
- Desplegar con el código de Terraform en GitHub:
- Vaya a GitHub.
- Clone o descargue el repositorio en su equipo local.
- Siga las instrucciones del documento
README
.
Explorar más
Para obtener más información sobre la alta disponibilidad y el MDS, consulte los siguientes recursos:
- Creación de aplicaciones de alta disponibilidad en una región con un dominio de disponibilidad
- Obtenga más información sobre la creación de una topología en la nube de alta disponibilidad
- Introducción a MySQL Database Service
- Obtenga más información sobre el despliegue de MySQL Database Service en Oracle Cloud
- Visión general de Container Engine for Kubernetes
- Despliegue un sistema MySQL Database de alta disponibilidad en un cluster de Container Engine for Kubernetes
- Visión general del registro
Log de Cambios
Este log muestra los cambios significativos:
6 de mayo de 2022 |
|