A propos de la configuration de Terraform sur les systèmes UNIX
Pour créer des composants Oracle Cloud Infrastructure, vous devez télécharger et installer Terraform. Vous téléchargerez également les modules Terraform qui créent les fichiers de configuration que vous allez utiliser pour créer les composants d'infrastructure requis.
Le système sur lequel vous installez Terraform et stockez les modules Teraform peut être on-premise ou dans le cloud. Pour plus de facilité, il s'agit de votre système local ou de votre hôte local.
Avant d'exécuter Terraform :
-
Générer une paire de clés SSH utilisée pour vous permettre d'accéder à vos instances de calcul
-
Générer une clé de signature d'API utilisée pour authentifier les appels d'API effectués par Terraform
-
Définissez les variables d'environnement utilisées par Terraform pour authentifier l'accès et exécuter ses plans
Une fois ces étapes terminées, vous êtes prêt à appliquer les fichiers de configuration Terraform afin de créer vos composants d'infrastructure sur Oracle Cloud Infrastructure.
Installer Terraform
Pour installer Terraform sur un système de type Linux ou UNIX, téléchargez le package approprié à partir du site Web Terraform.
Télécharger les modules Terraform
Pour commencer à créer des composants d'infrastructure dans Oracle Cloud Infrastructure à l'aide de Terraform, téléchargez les modules Terraform.
Générer une paire de clés SSH pour accéder aux hôtes de base
Une paire de clés SSH permet d'accéder de manière sécurisée aux instances créées dans des sous-réseaux publics. Vous générez une paire de clés SSH sur l'hôte local. Les modules Terraform, puis ajoutez la clé publique SSH aux hôtes de base. Si vous devez vous connecter à l'hôte de base sur le réseau Internet public, indiquez la clé privée SSH permettant d'authentifier l'accès.
Vous pouvez utiliser l'utilitaire ssh-keygen
pour générer une paire de clés SSH. Ne définissez pas de phrase secrète pour votre clé SSH.
Générer une paire de clés SSH pour accéder à d'autres instances
Les hôtes de base permettent d'activer la retransmission SSH vers d'autres instances qui ne disposent pas d'adresses IP publiques et n'autorisent pas l'accès sur le réseau Internet public. Pour accéder de manière sécurisée à d'autres instances à partir de l'hôte de base, vous utilisez une paire de clés SSH où la clé publique stockée sur les instances des sous-réseaux privés correspond à une clé privée stockée sur l'ordinateur local. La meilleure pratique en matière de sécurité consiste à ne pas utiliser cette paire de clés SSH pour accéder à l'hôte de base.
Utilisez ssh-keygen
sur l'hôte local pour générer une autre paire de clés SSH. Créez une note de l'emplacement où vous enregistrez cette paire de clés SSH.
Générer une clé de signature d'API
Vous devez indiquer une paire de clés RSA au format Privacy Enhanced Mail (PEM) pour authentifier le script Terraform avec Oracle Cloud Infrastructure. Cette clé de signature d'API est différente de la paire de clés SSH que vous utilisez pour accéder aux instances. Vous pouvez utiliser OpenSSL
pour générer cette paire de clés.
- Créez un répertoire masqué dans votre zone d'accueil pour stocker la clé PEM. Entrez :
mkdir ~/.oci
- Utilisez OpenSSL pour générer une clé privée. N'oubliez pas d'indiquer 2048 bits ou plus lorsque vous générez la clé privée. Entrez :
openssl genrsa -out ~/.oci/key_name.pem 2048
- Modifiez les droits d'accès sur la clé privée pour vous assurer que vous êtes le seul à pouvoir lire la clé privée. Entrez :
chmod go-rwx ~/.oci/key_name.pem
- Utilisez ensuite OpenSSL afin de générer la clé publique pour la clé privée indiquée. Entrez :
openssl rsa -pubout -in ~/.oci/key_name.pem -out ~/.oci/key_name_public.pem
Télécharger la clé de signature d'API à l'aide de la console
Une fois que vous avez généré une clé de signature d'API, vous devez télécharger la clé publique pour l'utilisateur associé dans Oracle Cloud Infrastructure. La première fois que vous téléchargez une clé de signature d'API, vous devez utiliser la console. Par la suite, vous pouvez également utiliser l'API pour télécharger une clé d'API.
Définir des variables d'environnement
Les modules Terraform fournis ici vous permettent de définir des variables d'environnement en indiquant les valeurs requises dans un fichier texte. Vous pouvez ensuite uniquement approvisionner le fichier pour vous assurer que toutes les variables d'environnement requises sont définies correctement.
Avant de commencer, connectez-vous à la console Oracle Cloud Infrastructure. La console vous permettra de trouver les informations suivantes.
-
ID Oracle Cloud Infrastructure de location (OCID)
-
OCID utilisateur
-
Empreinte de la clé de signature d'API à utiliser
-
Région
-
OCID du compartiment
Veillez également à connaître l'emplacement où la clé de signature de l'API et la paire de clés SSH sont stockées sur le système local.
- Sur votre système local, accédez au répertoire dans lequel se trouvent les modules Terraform.
- Ouvrez le fichier
env-vars
dans un éditeur de texte. - Le fichier
env-vars
comporte quatre sections. Commencez par la section des détails d'authentification.- Entrez l'OCID de location. Vous trouverez l'OCID de location au bas de la console Oracle Cloud Infrastructure. Il s'agit d'une chaîne semblable à :
ocid1.tenancy.oc1..aaaaa...
. Collez cette valeur dans le fichierenv-vars
. - Entrez l'OCID utilisateur. Pour rechercher votre utilisateur OCID, dans la console Oracle Cloud Infrastructure, cliquez sur Identité, puis sur Utilisateurs. La liste des utilisateurs s'affiche avec l'utilisateur OCID. Cliquez sur Copier sous le nom utilisateur pour copier l'OCID utilisateur requis. Collez cette valeur dans le fichier
env-vars
. - Entrez l'empreinte de clé de signature d'API. Dans la console Oracle Cloud Infrastructure, sur la page Utilisateurs, cliquez sur l'utilisateur pour visualiser la page des détails sur l'utilisateur. Copiez l'empreinte de clé d'API à partir de la clé répertoriée dans la section Clés d'API. Collez cette valeur dans le fichier
env-vars
. - Entrez le chemin complet et le nom de fichier de la clé privée d'API sur votre système local.
- Entrez l'OCID de location. Vous trouverez l'OCID de location au bas de la console Oracle Cloud Infrastructure. Il s'agit d'une chaîne semblable à :
- Dans la section Région du fichier
env-vars
, entrez la région dans laquelle créer les composants d'infrastructure. La région que vous visualisez est affichée en haut de la console Oracle Cloud Infrastructure. Vous pouvez également utiliser la console pour rechercher d'autres régions auxquelles vous avez accès. - Dans la section Catégorie du fichier
env-vars
, entrez l'OCID du compartiment dans lequel vous souhaitez créer les composants d'infrastructure. Assurez-vous que l'utilisateur que vous avez indiqué précédemment appartient à un groupe disposant des droits d'accès requis pour la catégorie indiquée ici. Pour rechercher l'OCID du compartiment, accédez à la console Oracle Cloud Infrastructure. Cliquez sur Identité, puis sur Catégories. La liste des catégories apparaît, ainsi que l'OCID de compartiment. Cliquez sur Copier sous le nom du compartiment pour copier l'OCID de compartiment requis. Collez cette valeur dans le fichierenv-vars
. - Dans la section Clés publiques/privées du fichier
env-vars
, pour les hôtes de base et autres instances, entrez le chemin complet et le nom de fichier des clés publiques et privées SSH appropriées sur votre système local. La clé privée doit être au formatopenssh
. - Vérifiez que vous avez correctement entré toutes les valeurs. Si vous avez omis des valeurs, vous serez invité à entrer les données lorsque vous exécutez Terraform. Si vous avez indiqué des valeurs incorrectes, Terraform générera une erreur. Lorsque toutes les valeurs vous conviennent, enregistrez et fermez le fichier
env-vars
. - Pour définir les variables d'environnement spécifiées dans le fichier
env-vars
, ouvrez un terminal et accédez au répertoire dans lequel se trouvent les modules Terraform. Entrez :source./env-vars