A propos de la configuration de Terraform sur des systèmes UNIX-Like

Pour créer des composants Oracle Cloud Infrastructure à l'aide de Terraform, vous devez les télécharger et les installer. Vous allez également télécharger les modules Terraform qui créent les fichiers de configuration que vous utiliserez pour créer les composants d'infrastructure requis.

Le système sur lequel vous installez Terraform et stockez les modules Teraform peut être soit sur site, soit dans le Cloud. Pour plus de commodité, nous parlerons 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 Compute

  • Générer une clé de signature d'API utilisée pour authentifier les appels d'API effectués par Terraform

  • Définir 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 pour créer vos composants d'infrastructure sur Oracle Cloud Infrastructure.

Installation de Terraform

Sur les systèmes UNIX ou Linux, y compris Oracle Linux, vous pouvez installer Terraform en téléchargeant et en extrayant le package Terraform pour votre système d’exploitation.

  1. Accédez à https://www.terraform.io/downloads.html.
  2. Téléchargez le package approprié en fonction de votre système d'exploitation.
  3. Extrayez le package dans le chemin /usr/local/bin/.
    Vous pouvez extraire Terraform vers n'importe quel autre répertoire de votre hôte local. Assurez-vous que le répertoire est inclus dans la variable PATH.
    Terraform est installé et prêt à l'emploi.
  4. Vérifiez l'installation.
    terraform -v

    La version de Terraform est affichée, comme illustré dans cet exemple :

    Terraform v0.12.18

Génération d'une paire de clés SSH pour accéder aux hôtes de bastion

Vous pouvez utiliser SSH pour accéder en toute sécurité aux instances de calcul dans Oracle Cloud. Générez une paire de clés SSH sur l'hôte local. Ajoutez la clé publique SSH aux hôtes de bastion lors de leur création. Lorsque vous vous connectez à un bastion à l'aide de SSH, fournissez la clé privée pour authentifier l'accès.

Utilisez l'utilitaire ssh-keygen pour générer une paire de clés SSH. Ne définissez pas de phrase de passe pour votre clé SSH.

  • Dans une fenêtre de terminal, entrez la commande suivante :
    ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
    • -t rsa indique que la clé doit être générée à l'aide de l'algorithme RSA.

    • -N "" indique la phrase de passe à associer à cette clé. Ne saisissez rien entre les devis. La clé est créée sans phrase de passe.

    • -b 2048 indique que vous souhaitez générer une clé 2048 bits. Cette valeur est la valeur par défaut et est également la valeur minimale recommandée.

    • -C "key_name" indique le nom de cette paire de clés.

    • -f path/root_name indique l'emplacement d'enregistrement de la clé et le nom racine de la clé publique et de la clé privée. .pub est ajouté à la fin de la clé publique au nom root.

La paire de clés SSH est générée et enregistrée à l'emplacement indiqué.

Notez l'emplacement.

Générer une paire de clés SSH pour accéder aux instances privées

Vous pouvez utiliser des bastions pour créer des connexions SSH afin de calculer les instances qui ne disposent pas d'adresses IP publiques et qui n'autorisent pas l'accès via le réseau Internet public. Comme meilleure pratique en matière de sécurité, générez des paires de clés SSH distinctes pour les hôtes de bastion et les instances privées.

Utilisez ssh-keygen sur l'hôte local pour générer une paire de clés SSH.

Notez l'emplacement où vous enregistrez les clés SSH.

Générer une clé de signature d'API

Vous devez fournir une paire de clés RSA au format de courriel amélioré par la confidentialité (PEM) pour permettre à Terraform de s'authentifier auprès d'Oracle Cloud Infrastructure. Notez que cette clé de signature d'API n'est pas la même que la paire de clés SSH que vous utilisez pour accéder à vos instances. Vous pouvez utiliser OpenSSL pour générer la clé de signature d'API.

  1. Créez un sous-répertoire masqué dans votre répertoire personnel pour stocker la clé PEM.
    mkdir ~/.oci
  2. Générez une clé privée (taille : 2048 bits ou plus).
    openssl genrsa -out ~/.oci/key_name.pem 2048
  3. Modifiez les droits d'accès au fichier de clés privées pour vous assurer que vous seul pouvez lire la clé.
    chmod go-rwx ~/.oci/key_name.pem
  4. Génère la clé publique pour la clé privée.
    openssl rsa -pubout -in ~/.oci/key_name.pem -out ~/.oci/key_name_public.pem
Vous pouvez stocker les clés dans n'importe quel répertoire de votre choix.

Notez l'emplacement.

Téléchargement de 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 Web. Par la suite, vous pouvez également utiliser l'API pour télécharger une clé d'API.

  1. Connectez-vous à la console Oracle Cloud Infrastructure.
  2. Dans le menu des services, sélectionnez Identité, puis Utilisateurs.
  3. Sur la page Utilisateurs, cliquez sur l'utilisateur pour lequel télécharger la clé.
  4. Sur la page de détails de l'utilisateur, cliquez sur Ajouter une clé publique.
  5. Copiez la valeur de clé publique à partir du fichier ~/.oci/key_name_public.pem et collez-la dans le champ PUBLIC KEY.
  6. Cliquez sur Ajouter.
    La clé est téléchargée et son empreinte est affichée.
  7. Copiez l'empreinte. Vous en aurez besoin plus tard.