Informazioni sulla sviluppo dei componenti dell'infrastruttura utilizzando Terraform
I moduli Terraform scaricati contengono script separati per creare e impostare vari componenti dell'infrastruttura. È possibile visualizzare e modificare questi script per comprendere i componenti che verranno creati e le caratteristiche di ciascun componente.
Il livello radice della directory Terraform contiene il file di configurazione principale main.tf,
che fa riferimento ai file di configurazione in varie sottodirectory. Questa directory contiene anche i file che definiscono le variabili utilizzate nei file di configurazione Terraform oppure che contengono informazioni sul provider Terraform, sulle risorse dati o sull'output. Inoltre, i file di configurazione Terraform per creare liste di sicurezza e tabelle di instradamento si trovano anche al livello radice.
La directory Terraform contiene una directory modules
. La directory modules
contiene quanto segue:
-
bastion
: utilizzato per creare gli host di base. -
compute
: utilizzato per creare le istanze UNIX e Windows Oracle Cloud Infrastructure Compute. -
dbsystem
: utilizzato per creare i sistemi Oracle Cloud Infrastructure Database. -
filesystem
: consente di creare il file system di memorizzazione Oracle Cloud Infrastructure. -
loadbalancer
: consente di creare istanze di bilanciamento del carico Oracle Cloud Infrastructure. -
network
: utilizzato per creare risorse di rete quali VCN (Virtual Cloud Network), subnet, gateway Internet, gateway di servizi, gateway di instradamento dinamico (DRG) e gateway NAT (Network Address Translation).
Informazioni sui componenti dell'infrastruttura da creare
Prima di creare qualsiasi componente dell'infrastruttura, è necessario fornire alcuni dati relativi al tipo, al numero e alla distribuzione dei componenti. Ad esempio, è possibile specificare il numero di istanze dell'applicazione richieste, se si desidera che tutte le risorse vengano create in un singolo dominio di disponibilità o tra due domini di disponibilità, l'edizione e la versione del database desiderati nei sistemi DB e così via.
Per fornire questo input, utilizzare il file terraform.tfvars
nel livello radice della directory Terraform. Aprire il file terraform.tfvars
in un editor di testo e immettere le informazioni necessarie. Fare riferimento al file README
fornito nella directory radice di livello per i valori suggeriti che è possibile utilizzare in questo file.
I moduli Terraform per impostazione predefinita creano componenti in due domini di disponibilità. Ciò è determinato dal valore della variabile AD
nel file terraform.tfvars
. È possibile visualizzare o modificare i domini di disponibilità che verranno utilizzati per ospitare i componenti dell'infrastruttura modificando questo valore. Se si desidera creare componenti in un singolo dominio di disponibilità, impostare il valore di AD
sul dominio di disponibilità richiesto 1, 2, or 3,
nel file terraform.tfvars
. Se si desidera creare componenti in due domini di disponibilità, specificare o modificare i numeri dei domini di disponibilità.
Se si applicano i file di configurazione Terraform utilizzando i valori predefiniti suggeriti senza apportare alcuna modifica, i seguenti componenti dell'infrastruttura vengono creati in due domini di disponibilità.
-
Una VCN con nome
psftvcn
e intervallo di indirizzi IP172.16.0.0/16.
-
Sieen subnet, otto in ogni dominio di disponibilità. Ogni subnet ha un CIDR
/24
. Ad esempio:172.16.4.0/24.
Il numero aggiunto come suffisso a ogni nome di subnet indica il dominio di disponibilità in cui viene creata la subnet.-
Subnet private per gli Application Server, con il nome
appsubad1
eappsubad2
. -
Subnet private per i server Web, con il nome
websubad1
ewebsubad2
. -
Le subnet private per i load balancer, con il nome
lbsubad1
elbsubad2
. -
Subnet private per i sistemi di database, con il nome
dbsubad1
edbsubad2
. -
Subnet private per i server ElasticSearch, con il nome
essubad1
eessubad2
-
Subnet private per le istanze di PeopleTools, con il nome
toolsssubad1
etoolssubad2
. -
Subnet private per il servizio file system, con il nome
fsssubad1
efsssubad2
. -
Le subnet pubbliche per gli host di base con il nome
bassubad1
ebassubad2
.
-
-
Le seguenti tabelle di instradamento. L'etichetta DNS per la VCN specificata nel file
terraform.tfvars
è preceduta dal nome di ogni tabella di instradamento.-
Tabella di instradamento predefinita, senza regole.
-
Una tabella di instradamento privata,
psftvcnpvtrt,
, che dispone di regole di instradamento per instradare il traffico dello storage degli oggetti al gateway dei servizi e a tutto il traffico verso l'istanza NAT. -
Una tabella di instradamento pubblica,
psftvcnpubrt,
con una regola di instradamento per instradare il traffico al gateway Internet.
-
-
Le liste di sicurezza riportate di seguito.
-
La lista di sicurezza predefinita.
-
Un elenco di sicurezza per la subnet degli Application Server, con il nome
AppSecList
. -
Una lista di sicurezza per la subnet host di base con il nome
BastionSecList
. -
Una lista di sicurezza per la subnet del database, con il nome
DBSecList
. -
Una lista di sicurezza per la subnet del server ElasticSearch, con il nome
ESSecList
. -
Una lista di sicurezza per la subnet del server del file system con il nome
FSSSecList
. -
Una lista di sicurezza per la subnet del load balancer, con il nome
LBSecList
. -
Una lista di sicurezza per la subnet PeopleTools, con il nome
PToolsSecList
. -
Un elenco di sicurezza per la subnet del server Web, con il nome
WebSecList
.
-
-
Un gateway Internet con il nome
psftvcnigw.
L'etichetta DNS specificata nel fileterraform.tfvars
ha come prefisso il nome del gateway Internet. Il gateway Internet connette l'asse della rete cloud a Internet. Il traffico dalla VCN a un indirizzo IP pubblico esterno alla rete VCN tramite il gateway Internet. -
Un gateway di instradamento dinamico con il nome
psftvcndrg.
Il nome dell'etichetta DNS specificato nel fileterraform.tfvars
è preceduto dal nome del gateway di instradamento dinamico. Il gateway di instradamento dinamico fornisce un percorso per il traffico tra la tua VCN e destinazioni diverse da Internet, ad esempio il traffico alla tua rete on premise mediante IPSec VPN o Oracle Cloud Infrastructure FastConnect oppure il traffico verso una VCN in un'altra area mediante il peering VCN remoto. -
Un gateway di servizi con il nome
psftvcnsvcgtw.
Il nome dell'etichetta DNS specificato nel fileterraform.tfvars
è preceduto dal nome del gateway di servizi. Il gateway di servizi consente alla tua rete VCN di accedere a servizi Oracle Cloud Infrastructure pubblici quali lo storage degli oggetti Oracle Cloud Infrastructure, ma senza esporre la rete VCN sulla rete Internet pubblica. -
Le seguenti istanze di Oracle Cloud Infrastructure Compute sono distribuite in entrambi i domini di disponibilità. Il prefisso di ambiente specificato nel file
terraform.tfvars
ha come prefisso il nome di ogni istanza e il suffisso dell'area, del numero di dominio di disponibilità e del conteggio. A ogni istanza è associato un volume di avvio.-
Application Server. Il numero di istanze di Application Server create e le relative forme vengono determinati dai valori specificati nel file
terraform.tfvars
. -
Host di base.
-
-
Due sistemi Oracle Cloud Infrastructure Database, uno in ogni dominio di disponibilità. Il nome, la versione, l'edizione e altre proprietà dei sistemi Oracle Cloud Infrastructure Database sono determinati dai valori specificati nel file
terraform.tfvars
. I sistemi Oracle Cloud Infrastructure Database vengono creati nella subnet di databasedbsubad1
edbsubad2.
-
Viene creato un file system utilizzato per il posizionamento del software PeopleSoft nell'area intermedia. Il file system viene creato nella subnet del file system,
fssubad1
. Il MOUNT del file system viene eseguito su tutte le istanze Oracle Cloud Infrastructure Compute. -
Due load balancer, uno in ogni dominio di disponibilità. Il prefisso di ambiente specificato nel file
terraform.tfvars
ha come prefisso il nome di ogni load balancer, mentre l'area e il conteggio hanno il suffisso. I load balancer si trovano nella subnet dei Web server,websubad1
ewebsubad2.
Vengono creati anche il set di backend e i listener per i load balancer.
Crea componenti infrastruttura utilizzando Terraform
Dopo aver installato Terraform insieme al provider OCI e aver impostato le variabili di ambiente nel sistema locale, si è pronti ad applicare i moduli Terraform per creare i componenti dell'infrastruttura in Oracle Cloud Infrastructure.
- Nel sistema locale aprire un terminale oppure avviare PowerShell di Windows. Accedere alla directory in cui si trovano i moduli Terraform.
- Immettere:
terraform apply
- Quando viene richiesto di confermare l'azione, immettere
yes.
Apply complete! Resources: 90 added, 0 changed, 0 destroyed.
Nella sezione Outputs
dell'output del comando, Terraform visualizza gli indirizzi IP pubblici e privati delle istanze create. Prendere nota degli indirizzi IP delle istanze alle quali si desidera connettersi.
In caso di errori, è possibile correggere tali errori ed eseguire nuovamente terraform apply
. Assicurarsi di rieseguire questo comando nella stessa directory in cui è stato eseguito questo comando per la prima volta. Terraform controlla lo stato corrente dei componenti e crea i componenti che non esistono. Tenere presente, tuttavia, che se si esegue Terraform in una directory diversa o in un altro sistema locale che ha gli stessi moduli Terraform, Terraform considera questo come un nuovo set e crea tutte le risorse specificate nei vari file di configurazione. Se si desidera eseguire Terraform in un'altra directory o sistema locale per gestire le risorse esistenti, copiare i file di stato Terraform dalla directory esistente alla nuova directory o al nuovo sistema. In generale, tuttavia, si consiglia di non usare Terraform in un sistema o in una directory per gestire i componenti creati da Terraform in un altro sistema o in un'altra directory.