Acerca del desarrollo de componentes de infraestructura con Terraform
Los módulos de Terraform que ha descargado contienen scripts independientes para crear y configurar varios componentes de infraestructura. Puede ver y editar estos archivos de comandos para entender qué componentes se crearán y las características de cada componente.
El nivel raíz del directorio Terraform contiene el archivo de configuración principal, main.tf,
que hace referencia a los archivos de configuración en varios subdirectorios. Este directorio también contiene archivos que definen variables utilizadas en los archivos de configuración de Terraform o que contienen información sobre el proveedor de Terraform, los recursos de datos o la salida. Además, los archivos de configuración de Terraform para crear listas de seguridad y tablas de rutas también se encuentran en el nivel raíz.
El directorio Terraform contiene un directorio modules
. El directorio modules
contiene los siguientes elementos:
-
bastion
: se utiliza para crear hosts de base. -
compute
: se utiliza para crear instancias de UNIX y Windows Oracle Cloud Infrastructure Compute . -
dbsystem
: se utiliza para crear sistemas de Oracle Cloud Infrastructure Database . -
filesystem
: se utiliza para crear el sistema de archivos de almacenamiento de archivos de Oracle Cloud Infrastructure . -
loadbalancer
: se utiliza para crear instancias de Oracle Cloud Infrastructure Load Balancing . -
network
: se utiliza para crear recursos de red, como red virtual en la nube (VCN), subredes, gateway de Internet, gateway de servicio, gateway de enrutamiento dinámico (DRG) y gateway de traducción de direcciones de red (NAT).
Acerca de los componentes de infraestructura que se van a crear
Antes de crear componentes de infraestructura, debe proporcionar alguna entrada sobre el tipo, el número y la distribución de los componentes. Por ejemplo, puede especificar el número de instancias de aplicación que necesite, si desea que todos los recursos se creen en un único dominio de disponibilidad o en dos dominios de disponibilidad, la edición y la versión de la base de datos que desee en los sistemas de base de datos, etc.
Puede utilizar el archivo terraform.tfvars
en el nivel raíz del directorio Terraform para proporcionar esta entrada. Abra el archivo terraform.tfvars
en un editor de texto e introduzca la información necesaria. Consulte el archivo README
proporcionado en el directorio de nivel raíz para conocer los valores sugeridos que se pueden utilizar en este archivo.
Los módulos de Terraform, por defecto, crean componentes en dos dominios de disponibilidad. Esto se rige por el valor de la variable AD
en el archivo terraform.tfvars
. Puede ver o modificar los dominios de disponibilidad que se utilizarán para alojar los componentes de la infraestructura editando este valor. Si desea crear componentes en un único dominio de disponibilidad, defina el valor de AD
en el dominio de disponibilidad necesario 1, 2, or 3,
en el archivo terraform.tfvars
. Si desea crear componentes en dos dominios de disponibilidad, especifique o modifique los números de los dominios de disponibilidad.
Si aplica los archivos de configuración de Terraform mediante los valores por defecto sugeridos sin realizar ningún cambio, los siguientes componentes de infraestructura se crean en dos dominios de disponibilidad.
-
Una VCN con el nombre
psftvcn
y el rango de direcciones IP172.16.0.0/16.
-
Dieciséis subredes, ocho en cada dominio de disponibilidad. Cada subred tiene un CIDR
/24
. Por ejemplo:172.16.4.0/24.
El número que tiene como sufijo el nombre de cada subred indica el dominio de disponibilidad en el que se crea la subred.-
Las subredes privadas para los servidores de aplicaciones, con el nombre
appsubad1
yappsubad2
. -
Las subredes privadas para los servidores web, con el nombre
websubad1
ywebsubad2
. -
Las subredes privadas para los equilibradores de carga, con el nombre
lbsubad1
ylbsubad2
. -
Las subredes privadas para los sistemas de base de datos, con el nombre
dbsubad1
ydbsubad2
. -
Las subredes privadas para los servidores ElasticSearch, con el nombre
essubad1
yessubad2
-
Las subredes privadas para las instancias de PeopleTools, con el nombre
toolsssubad1
ytoolssubad2
. -
Las subredes privadas para el servicio del sistema de archivos con el nombre
fsssubad1
yfsssubad2
. -
Subredes públicas para los hosts de base, con el nombre
bassubad1
ybassubad2
.
-
-
Las siguientes tablas de rutas. La etiqueta DNS para la VCN especificada en el archivo
terraform.tfvars
tiene como prefijo el nombre de cada tabla de direccionamiento.-
La tabla de rutas por defecto, que no tiene reglas.
-
Una tabla de rutas privadas,
psftvcnpvtrt,
, que tiene reglas de ruta para direccionar el tráfico de almacenamiento de objetos al gateway de servicio y todo el otro tráfico a la instancia NAT. -
Una tabla de rutas públicas,
psftvcnpubrt,
que tiene una regla de ruta para direccionar el tráfico a la puerta de enlace de Internet.
-
-
Las siguientes listas de seguridad:
-
Lista de seguridad por defecto.
-
Lista de seguridad para la subred de los servidores de aplicaciones con el nombre
AppSecList
. -
Una lista de seguridad para la subred de hosts de base con el nombre
BastionSecList
. -
Lista de seguridad para la subred de la base de datos con el nombre
DBSecList
. -
Lista de seguridad para la subred del servidor de ElasticSearch con el nombre
ESSecList
. -
Lista de seguridad para la subred del servidor del sistema de archivos con el nombre
FSSSecList
. -
Lista de seguridad para la subred del equilibrador de carga con el nombre
LBSecList
. -
Una lista de seguridad para la subred de PeopleTools, con el nombre
PToolsSecList
. -
Lista de seguridad para la subred del servidor web con el nombre
WebSecList
.
-
-
Una puerta de enlace de Internet con el nombre
psftvcnigw.
La etiqueta DNS especificada en el archivoterraform.tfvars
tiene como prefijo el nombre del gateway de Internet. El gateway de Internet conecta la posición de la red en la nube con Internet. El tráfico de su VCN a una dirección IP pública fuera de la VCN pasa por el gateway de Internet. -
Una puerta de enlace de enrutamiento dinámica con el nombre
psftvcndrg.
El nombre de etiqueta DNS especificado en el archivoterraform.tfvars
tiene como prefijo el nombre de la puerta de enlace de enrutamiento dinámico. El gateway de enrutamiento dinámico proporciona una ruta para el tráfico entre su VCN y destinos distintos de Internet, por ejemplo, el tráfico a su red local mediante una VPN de IPSec u Oracle Cloud Infrastructure FastConnect , o el tráfico a una VCN en otra región con un intercambio de tráfico VCN remoto. -
Una puerta de enlace de servicio con el nombre
psftvcnsvcgtw.
El nombre de etiqueta DNS especificado en el archivoterraform.tfvars
tiene como prefijo el nombre de la puerta de enlace del servicio. El gateway de servicios permite a su VCN acceder a servicios públicos de Oracle Cloud Infrastructure como Oracle Cloud Infrastructure Object Storage , pero sin mostrar la VCN a la red pública de Internet. -
Las siguientes instancias de Oracle Cloud Infrastructure Compute , distribuidas en ambos dominios de disponibilidad. El prefijo de entorno especificado en el archivo
terraform.tfvars
tiene como prefijo el nombre de cada instancia, y la región, el número de dominio de disponibilidad y el recuento tienen como sufijo. Cada instancia tiene un volumen de inicio asociado.-
Servidores de aplicaciones. El número de instancias del servidor de aplicaciones creadas y sus formas se determina mediante los valores especificados en el archivo
terraform.tfvars
. -
Hosts de Basación.
-
-
Dos sistemas Oracle Cloud Infrastructure Database , uno en cada dominio de disponibilidad. El nombre, la versión, la edición y otras propiedades de los sistemas de Oracle Cloud Infrastructure Database se determinan mediante los valores especificados en el archivo
terraform.tfvars
. Los sistemas Oracle Cloud Infrastructure Database se crean en la subred de la base de datosdbsubad1
ydbsubad2.
-
Se crea un sistema de archivos para almacenar en zona intermedia el software de PeopleSoft. El sistema de archivos se crea en la subred del sistema de archivos,
fssubad1
. El sistema de archivos se monta en todas las instancias de Oracle Cloud Infrastructure Compute . -
Dos equilibradores de carga, uno en cada dominio de disponibilidad. El prefijo de entorno especificado en el archivo
terraform.tfvars
tiene como prefijo el nombre de cada equilibrador de carga, y la región y el recuento tienen como sufijo. Los equilibradores de carga están en la subred de los servidores web,websubad1
ywebsubad2.
También se crean el juego de backend y los listeners para los equilibradores de carga.
Creación de Componentes de Infraestructura con Terraform
Después de instalar Terraform junto con el proveedor de OCI y definir las variables de entorno en el sistema local, está listo para aplicar los módulos Terraform para crear los componentes de infraestructura en Oracle Cloud Infrastructure .
- En el sistema local, abra un terminal o inicie Windows PowerShell. Desplácese hasta el directorio en el que se encuentran los módulos de Terraform.
- Introduzca:
terraform apply
- Cuando se le solicite que confirme la acción, introduzca
yes.
Apply complete! Resources: 90 added, 0 changed, 0 destroyed.
En la sección Outputs
de la salida del comando, Terraform muestra las direcciones IP públicas y privadas de las instancias creadas. Tome nota de las direcciones IP de las instancias a las que desea conectarse.
Si detecta algún error, puede solucionarlo y volver a ejecutar terraform apply
. Asegúrese de volver a ejecutar este comando en el mismo directorio donde ejecutó este comando la primera vez. Terraform comprueba el estado actual de los componentes y crea los componentes que no existen. No obstante, tenga en cuenta que si ejecuta Terraform en un directorio diferente o desde un sistema local diferente que tenga el mismo módulo Terraform, Terraform lo trata como una configuración nueva y crea todos los recursos especificados en los distintos archivos de configuración. Si desea ejecutar Terraform en un directorio diferente o en un sistema local para gestionar los recursos existentes, copie los archivos de estado de Terraform del directorio existente en el nuevo directorio o sistema. Sin embargo, en general, se recomienda no utilizar Terraform en un sistema o directorio para gestionar componentes creados por Terraform en otro sistema o directorio.