A propos du développement des composants d'infrastructure à l'aide de Terraform
Les modules de territoire que vous avez téléchargés contiennent des scripts distincts pour créer et configurer différents composants d'infrastructure. Vous pouvez visualiser et modifier ces scripts pour comprendre les composants qui seront créés et leurs caractéristiques.
Le niveau racine du répertoire Terraform contient le fichier de configuration principal, main.tf,
, qui fait référence aux fichiers de configuration dans différents sous-répertoires. Ce répertoire contient également les fichiers qui définissent les variables utilisées dans les fichiers de configuration Terraform ou qui contiennent des informations sur le fournisseur Terraform, les ressources de données ou la sortie. En outre, les fichiers de configuration Terraform permettant de créer des listes de sécurité et des tables d'acheminement sont également situés au niveau racine.
Le répertoire Terraform contient un répertoire modules
. Le répertoire modules
contient les éléments suivants :
-
bastion
: permet de créer des hôtes de base. -
compute
: permet de créer des instances UNIX et Windows Oracle Cloud Infrastructure Compute. -
dbsystem
: permet de créer des systèmes Oracle Cloud Infrastructure Database. -
filesystem
: permet de créer un système de fichiers Oracle Cloud Infrastructure File Storage. -
loadbalancer
: permet de créer des instances d'équilibrage de charge Oracle Cloud Infrastructure. -
network
: permet de créer des ressources réseau telles que le réseau cloud virtuel, les sous-réseaux, la passerelle Internet, la passerelle de service, la passerelle de routage dynamique (DRG) et la passerelle NAT.
A propos des composants d'infrastructure à créer
Avant de créer des composants d'infrastructure, vous devez fournir des informations concernant le type, le nombre et la distribution de vos composants. Par exemple, vous pouvez indiquer le nombre d'instances d'application dont vous avez besoin, si vous voulez que toutes vos ressources soient créées dans un seul domaine de disponibilité ou sur deux domaines de disponibilité, l'édition et la version de la base de données sur les systèmes de base de données, etc.
Utilisez le fichier terraform.tfvars
au niveau racine du répertoire Terraform pour fournir cette entrée. Ouvrez le fichier terraform.tfvars
dans un éditeur de texte et saisissez les informations requises. Reportez-vous au fichier README
fourni dans le répertoire de niveau racine pour connaître les valeurs suggérées que vous pouvez utiliser dans ce fichier.
Les modules Terraform par défaut créent des composants dans deux domaines de disponibilité. Elle est régie par la valeur de la variable AD
dans le fichier terraform.tfvars
. Vous pouvez visualiser ou modifier les domaines de disponibilité qui seront utilisés pour héberger les composants de votre infrastructure en modifiant cette valeur. Si vous voulez créer des composants dans un domaine de disponibilité unique, définissez la valeur d'AD
sur le domaine de disponibilité obligatoire 1, 2, or 3,
dans le fichier terraform.tfvars
. Si vous souhaitez créer des composants dans deux domaines de disponibilité, indiquez ou modifiez le nombre de domaines de disponibilité.
Si vous appliquez les fichiers de configuration Terraform à l'aide des valeurs par défaut suggérées sans apporter de modifications, les composants d'infrastructure suivants sont créés dans deux domaines de disponibilité.
-
Un réseau cloud virtuel portant le nom
psftvcn
et la plage d'adresses IP172.16.0.0/16.
-
Nommez les sous-réseaux, huit dans chaque domaine de disponibilité. Chaque sous-réseau possède un CIDR
/24
. Par exemple :172.16.4.0/24.
Le nombre suffixé au nom de chaque sous-réseau indique le domaine de disponibilité dans lequel le sous-réseau est créé.-
Sous-réseaux privés pour les serveurs d'applications, avec le nom
appsubad1
etappsubad2
. -
Sous-réseaux privés pour les serveurs Web, avec le nom
websubad1
etwebsubad2
. -
Sous-réseaux privés pour les équilibreurs de charge, avec le nom
lbsubad1
etlbsubad2
. -
Sous-réseaux privés pour les systèmes de base de données, avec le nom
dbsubad1
etdbsubad2
. -
Sous-réseaux privés pour les serveurs ElasticSearch, avec le nom
essubad1
etessubad2
-
Sous-réseaux privés pour les instances PeopleTools, avec le nom
toolsssubad1
ettoolssubad2
. -
Sous-réseaux privés du service de système de fichiers, avec le nom
fsssubad1
etfsssubad2
. -
Sous-réseaux publics pour les hôtes de base, avec le nom
bassubad1
etbassubad2
.
-
-
Tables de routage suivantes. Le libellé DNS du réseau cloud virtuel spécifié dans le fichier
terraform.tfvars
est ajouté au nom de chaque table de routage.-
Table d'acheminement par défaut ne comportant aucune règle.
-
Table d'acheminement privé
psftvcnpvtrt,
qui comporte des règles d'acheminement pour acheminer le trafic Object Storage vers la passerelle de service et tout autre trafic vers l'instance NAT. -
Table d'acheminement public
psftvcnpubrt,
qui comporte une règle d'acheminement pour acheminer le trafic vers la passerelle Internet.
-
-
Les listes de sécurité suivantes :
-
Liste de sécurité par défaut.
-
Liste de sécurité pour le sous-réseau des serveurs d'applications, nommée
AppSecList
. -
Liste de sécurité pour le sous-réseau d'hôtes de base, nommée
BastionSecList
. -
Liste de sécurité pour le sous-réseau de base de données, nommée
DBSecList
. -
Liste de sécurité pour le sous-réseau de serveur ElasticSearch, nommée
ESSecList
. -
Liste de sécurité pour le sous-réseau de serveurs du système de fichiers, nommée
FSSSecList
. -
Liste de sécurité pour le sous-réseau d'équilibreur de charge, nommée
LBSecList
. -
Liste de sécurité pour le sous-réseau PeopleTools, nommée
PToolsSecList
. -
Liste de sécurité pour le sous-réseau de serveur Web, nommée
WebSecList
.
-
-
Une passerelle Internet, nommée
psftvcnigw.
Le libellé DNS indiqué dans le fichierterraform.tfvars
, est ajouté au nom de la passerelle Internet. La passerelle Internet connecte le bord du réseau cloud à Internet. Le trafic de votre réseau cloud virtuel vers une adresse IP publique en dehors du réseau cloud virtuel passe par la passerelle Internet. -
Une passerelle de routage dynamique nommée
psftvcndrg.
Le nom du libellé DNS indiqué dans le fichierterraform.tfvars
est ajouté au préfixe du nom de la passerelle de routage dynamique. La passerelle de routage dynamique fournit un chemin pour le trafic entre votre réseau cloud virtuel et vos destinations autres qu'Internet ; par exemple, le trafic vers votre réseau on-premise à l'aide du VPN IPSec ou d'Oracle Cloud Infrastructure FastConnect, ou le trafic vers un réseau cloud virtuel dans une autre région à l'aide de l'appairage réseau cloud virtuel distant. -
Une passerelle de service, nommée
psftvcnsvcgtw.
Le nom du libellé DNS indiqué dans le fichierterraform.tfvars
est ajouté au nom de la passerelle de service. La passerelle de service permet à votre réseau cloud virtuel d'accéder à des services Oracle Cloud Infrastructure publics tels qu'Oracle Cloud Infrastructure Object Storage, mais sans afficher le réseau cloud virtuel sur le réseau Internet public. -
Les instances Oracle Cloud Infrastructure Compute suivantes sont distribuées dans les deux domaines de disponibilité. Le préfixe d'environnement indiqué dans le fichier
terraform.tfvars
est ajouté au nom de chaque instance, et la région, le numéro de domaine de disponibilité et le nombre sont suivis. Un volume d'initialisation est associé à chaque instance.-
Serveurs d'applications. Le nombre d'instances de serveur d'applications créées et leurs formes sont déterminées par les valeurs que vous indiquez dans le fichier
terraform.tfvars
. -
Hôtes de base.
-
-
Deux systèmes Oracle Cloud Infrastructure Database, un dans chaque domaine de disponibilité. Le nom, la version, l'édition et d'autres propriétés des systèmes Oracle Cloud Infrastructure Database sont déterminés par les valeurs que vous indiquez dans le fichier
terraform.tfvars
. Les systèmes Oracle Cloud Infrastructure Database sont créés dans le sous-réseau de base de donnéesdbsubad1
etdbsubad2.
-
Un système de fichiers utilisé pour préparer le logiciel PeopleSoft est créé. Le système de fichiers est créé dans le sous-réseau du système de fichiers,
fssubad1
. Le système de fichiers est monté sur toutes les instances Oracle Cloud Infrastructure Compute. -
Deux équilibreurs de charge, un dans chaque domaine de disponibilité. Le préfixe d'environnement indiqué dans le fichier
terraform.tfvars
est ajouté au nom de chaque équilibreur de charge, et la région et le nombre sont suivis. Les équilibreurs de charge se trouvent dans le sous-réseau de serveurs Web,websubad1
etwebsubad2.
L'ensemble de back-ends et les processus d'écoute des équilibreurs de charge sont également créés.
Créer des composants d'infrastructure à l'aide de Terraform
Une fois que vous avez installé Terraform avec le fournisseur OCI et que vous avez défini les variables d'environnement sur votre système local, vous êtes prêt à appliquer les modules Terraform pour créer les composants d'infrastructure dans Oracle Cloud Infrastructure.
- Sur votre système local, ouvrez un terminal ou lancez Windows PowerShell. Accédez au répertoire dans lequel se trouvent les modules Terraform.
- Entrez :
terraform apply
- Lorsque vous êtes invité à confirmer l'action, entrez
yes.
Apply complete ! Resources : 90 added, 0 changed, 0 destroyed.
Dans la section Outputs
de la sortie de commande, Terraform affiche les adresses IP publiques et privées des instances créées. Notez les adresses IP des instances auxquelles vous souhaitez vous connecter.
Si vous rencontrez des erreurs, vous pouvez les corriger et exécuter à nouveau terraform apply
. Vérifiez que vous réexécutez cette commande dans le répertoire dans lequel vous avez exécuté la première fois. Terraform vérifie l'état en cours des composants et crée ceux qui n'existent pas. Toutefois, si vous exécutez Terraform dans un répertoire différent ou à partir d'un autre système local dont les modules Terraform sont identiques, Terraform considère cet élément comme un tout nouveau paramétrage et crée toutes les ressources indiquées dans les différents fichiers de configuration. Pour exécuter Terraform dans un autre répertoire ou système local pour gérer les ressources existantes, copiez les fichiers d'état Terraform du répertoire existant vers le nouveau ou système. Toutefois, il est recommandé d'utiliser Terraform dans un système ou un répertoire pour gérer les composants créés par Terraform dans un autre système ou répertoire.