A propos de la configuration de Terraform sur les systèmes Windows

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

Pour installer Terraform sur un système Windows, téléchargez le package approprié à partir du site Web Terraform.

  1. Accédez à https://www.terraform.io/downloads.html.
  2. Téléchargez le package applicable sur votre système local.
  3. Extrayez le package dans le dossier C:\Program Files (x86).
    Ce chemin est utilisé comme exemple. Toutefois, vous pouvez également exécuter Terraform à n'importe quel autre emplacement de votre système local.
  4. Mettez à jour la variable d'environnement de chemin pour inclure le dossier dans lequel se trouve l'exécutable Terraform.
    1. Accédez au panneau de configuration.
    2. Cliquez sur Système.
    3. Sur un système Windows 10, cliquez sur Paramètres système avancés. Cette option peut varier selon les versions de Windows.
      L'onglet Avancé de la fenêtre Propriétés système s'affiche.
    4. Cliquez sur Variables d'environnement en bas de la fenêtre.
      La fenêtre Variables d'environnement s'affiche.
    5. Dans le panneau Variables système, cliquez sur Chemin, puis sur Modifier.
    6. Cliquez sur Nouveau. Ajoutez le chemin d'accès au dossier dans lequel se trouve l'exécutable Terraform.
    7. Cliquez sur OK pour enregistrer les modifications apportées, puis cliquez sur OK pour quitter la fenêtre Variables d'environnement. Cliquez de nouveau sur OK pour quitter la fenêtre Propriétés système.
  5. Pour vérifier votre installation et vérifier la version, lancez Windows PowerShell et entrez : terraform -version.
    La version de Terraform apparaît dans la sortie. Par exemple : Terraform v0.11.8

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

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 ajoutent ensuite la clé publique SSH aux hôtes de bastion. Lorsque vous devez vous connecter à l'hôte de bastion via l'Internet public, vous devez fournir la clé privée SSH pour authentifier l'accès.

Vous pouvez générer une paire de clés SSH à l'aide de PuTTYgen. Ne définissez pas de phrase de passe pour votre clé SSH.

  1. Démarrez PuTTYgen.
  2. Acceptez le type de clé par défaut SSH-2 RSA et affectez la valeur 2048 au nombre de bits dans une clé générée si ce n'est pas déjà fait.
  3. Cliquez sur Générer, puis déplacez la souris autour de la zone vide pour générer une randomité.
    La clé est générée et sa valeur apparaît sous Clé publique pour le collage dans le fichier OpenSSH authorized_keys.
  4. Cliquez sur Save private key. Vous êtes invité à confirmer que vous souhaitez enregistrer la clé sans phrase de passe. Cliquez sur Oui. Vous pouvez stocker cette clé à n'importe quel emplacement, mais pour plus de simplicité, stockez-la dans le même dossier que celui où se trouvent vos modules Terraform.
  5. Ensuite, pour enregistrer la clé publique, sélectionnez toute la clé générée qui apparaît dans le champ Clé publique à coller dans le fichier OpenSSH authorized_keys, copiez-la et collez-la dans un fichier texte. Enregistrez ce fichier au même emplacement que la clé privée. N'utilisez pas le bouton Enregistrer la clé publique, car il n'enregistre pas la clé au format OpenSSH.
Vous avez maintenant généré et stocké votre paire de clés SSH dans votre système local. Veillez à noter l'emplacement de stockage de cette paire de clés.

Générer une paire de clés SSH pour accéder à d'autres instances

Les hôtes de bastion sont utilisés pour activer le transfert SSH vers d'autres instances ne disposant pas d'adresses IP publiques et n'autorisant pas l'accès via le réseau Internet public. Pour accéder en toute sécurité à d'autres instances à partir de l'hôte de bastion, vous utilisez une paire de clés SSH dans laquelle la clé publique stockée sur des instances dans des sous-réseaux privés correspond à une clé privée stockée sur votre machine locale.

La paire de clés SSH utilisée pour activer l'accès de l'hôte de bastion à d'autres instances doit être générée à l'aide d'un utilitaire tel que OpenSSL ou ssh-keygen.. Vous ne pouvez pas utiliser une paire de clés SSH générée sous Windows à l'aide de PuTTY, car le format .ppk utilisé par PuTTY n'est pas pris en charge sur Oracle Linux ou d'autres systèmes d'exploitation de type UNIX. N'oubliez pas que l'hôte de bastion, qui transfère le trafic SSH vers d'autres instances, utilise une image Oracle Linux.

  1. Démarrez Git Bash.
  2. Saisissez : ssh-keygen -t rsa -N "" -b 2048 -C "<key_name>" -f <path/root_name>
    Dans cette commande :
    • -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. Il s'agit de la valeur par défaut et de 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 root de la clé publique et 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 cet emplacement.

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

Vous devez fournir une paire de clés RSA au format PEM (Confidential Enhanced Mail) pour authentifier votre script Terraform avec Oracle Cloud Infrastructure. Notez que cette clé de signature d'API n'est pas identique à la paire de clés SSH que vous utilisez pour accéder à vos instances. Vous pouvez générer cette paire de clés à l'aide de OpenSSL dans Git Bash. Vous devez avoir déjà installé Git Bash sur votre système local.

  1. Démarrez Git Bash.
  2. Créez un dossier masqué pour stocker la clé PEM. Vous pouvez stocker la clé PEM à n'importe quel emplacement, mais pour plus de simplicité, créez ce dossier sous le dossier contenant les modules Terraform. Veillez à noter l'emplacement de stockage de la paire de clés. Accédez à cet emplacement et entrez : mkdir ./.oci
  3. Pour créer la clé de signature d'API, entrez : openssl genrsa -out ./.oci/key_name.pem 2048
  4. Modifiez les autorisations sur la clé privée pour vous assurer que vous seul pouvez lire la clé privée. Saisissez : chmod go-rwx ./.oci/key_name.pem
  5. Ensuite, pour générer la clé publique pour la clé privée donnée, entrez : openssl rsa -pubout -in ./.oci/key_name.pem -out ./.oci/key_name_public.pem
La clé de signature d'API publique et privée est stockée dans le dossier indiqué.

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. 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. Cliquez sur Identité, puis sur Utilisateurs.
  3. Cliquez sur l'utilisateur pour lequel ajouter la clé de signature d'API.
  4. Sur la page de détails de l'utilisateur, cliquez sur Ajouter une clé publique.
  5. Sur votre système local, lancez Git Bash. Accédez au dossier dans lequel vous avez stocké votre paire de clés de signature d'API.
  6. Pour copier la clé publique, entrez : cat ./key_name_public.pem. La valeur de la clé publique s'affiche. Copiez cette valeur, y compris les lignes -----BEGIN PUBLIC KEY----- et -----END PUBLIC KEY-----.
  7. Dans la console, collez la valeur de la clé publique et cliquez sur Ajouter.