Préparer la fourniture d'infos de paramétrage aux ressources d'infrastructure

Installez Terraform et générez les clés nécessaires pour créer les ressources d'infrastructure dans Oracle Cloud.

Avant de commencer

Avant de commencer à créer des ressources dans Oracle Cloud Infrastructure, assurez-vous que :

  • Informations d'identification pour une location Oracle Cloud.

  • Compartiment, avec les droits d'accès nécessaires pour créer et gérer des ressources dans ce compartiment.
  • Ordinateur disposant des logiciels suivants et des accès à Internet :

    • Utilitaire permettant de générer des clés de signature d'API.

      La plupart des systèmes de type UNIX possèdent openssl. Sous Windows, vous pouvez utiliser Git Bash.

    • Utilitaire permettant de générer des paires de clés SSH.

      La plupart des systèmes de type UNIX possèdent ssh-keygen. Sous Windows, vous pouvez utiliser PuTTY.

    • Navigateur Web.

  • Connaissances de base de Terraform.

    Consultez au minimum l'introduction à l'adresse https://www.terraform.io/intro/.

Installer Terragrunt

Terragrunt est un outil tiers qui permet d'appliquer et de gérer efficacement les modules Terraform. Au lieu d'appliquer les modules individuellement à l'aide de Terraform, vous pouvez déployer les ressources définies dans tous les modules, dans la séquence correcte, en utilisant une seule opération Terragrunt.

Pour télécharger et installer Terragrunt, suivez les instructions de la page https://github.com/gruntwork-io/terragrunt#install-terragrunt.

Remarque :

Si vous installez Terragrunt sur Linux ou macOS à l'aide de brew, Terraform est automatiquement installé en tant que dépendance. Vous n'avez pas besoin d'installer Terraform.

Installer 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 au site 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 vers le chemin /usr/local/bin/.
    Vous pouvez extraire Terraform vers n'importe quel autre répertoire de l'hôte local. Vérifiez que le répertoire est inclus dans la variable PATH.
    Terraform est installé et prêt à être utilisé.
  4. Vérifiez l'installation.
    terraform -v

    La version de Terraform s'affiche, comme illustré dans l'exemple suivant :

    Terraform v0.12.18

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

Pour permettre l'authentification de Terraform auprès d'Oracle Cloud Infrastructure, vous devez fournir une clé RSA au format de messagerie étendue avec privilèges (PEM). Cette clé n'est pas identique à la clé SSH que vous utilisez pour accéder aux instances de calcul.

Utilisez OpenSSL pour générer la clé de signature de l'API.
  1. Créez un sous-répertoire masqué dans votre répertoire de base pour stocker la clé PEM.
    mkdir ~/.oci
  2. Générez une clé privée (taille : 2048 bits ou supérieure).
    openssl genrsa -out ~/.oci/oci_api_key.pem 2048
  3. Modifiez les droits d'accès du fichier de clés privées afin de garantir que vous ne puissiez lire que la clé.
    chmod go-rwx ~/.oci/oci_api_key.pem
  4. Générez la clé publique pour la clé privée.
    openssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pem

Télécharger la clé de signature d'API

Une fois que vous avez généré une clé de signature d'API, téléchargez la clé publique pour l'utilisateur approprié dans Oracle Cloud Infrastructure.

  1. Connectez-vous à la console Web Oracle Cloud Infrastructure.
  2. Dans le menu Services, sélectionnez Identité, puis Utilisateurs.
  3. Sur la page Utilisateurs, cliquez sur l'utilisateur que vous prévoyez d'indiquer dans la configuration de Terraform.
  4. Sur la page des détails utilisateur, cliquez sur Ajouter une clé publique.
  5. Copiez la valeur de la clé publique à partir du fichier ~/.oci/oci_api_key_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 ultérieurement.

Générer une paire de clés SSH pour l'hôte de base

Une paire de clés SSH permet d'activer l'accès sécurisé aux instances. Vous générez une paire de clés sur l'hôte local. Les modules Terraform ajoutent ensuite la clé publique à l'hôte de base. Lorsque vous vous connectez à l'hôte de base, vous fournissez la clé privée pour authentifier l'accès.

  • Utilisez l'utilitaire ssh-keygen et générez une paire de clés SSH. Ne définissez pas de phrase de passe pour la paire de clés.
    ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
    • -t rsa : indique que la paire de clés doit être générée à l'aide de l'algorithme RSA.

    • -N "" : indique la phrase secrète à associer à cette paire de clés. N'entrez rien entre les guillemets. Créez la paire de clés sans phrase secrète.

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

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

    • -f path/root_name : indique le répertoire dans lequel la paire de clés est enregistrée et le nom racine de la clé publique et privée. La clé publique a été ajoutée à .pub après le nom de la racine.

La paire de clés SSH est générée et enregistrée dans le répertoire que vous avez indiqué. Notez le chemin et le nom complets des fichiers de clés.

Générer une paire de clés SSH pour les instances privées

Un hôte de base permet le transfert SSH vers les instances ne disposant pas d'adresses IP publiques. Pour accéder de telles instances privées en toute sécurité via l'hôte bastion, vous utilisez une paire de clés SSH. En tant que meilleures pratiques de sécurité, cette paire de clés ne doit pas être la même que celle que vous utilisez pour l'hôte de base.

  • Utilisez l'utilitaire ssh-keygen et générez une paire de clés SSH. Ne définissez pas de phrase de passe pour la paire de clés.
    ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
    • -t rsa : indique que la paire de clés doit être générée à l'aide de l'algorithme RSA.

    • -N "" : indique la phrase secrète à associer à cette paire de clés. N'entrez rien entre les guillemets. Créez la paire de clés sans phrase secrète.

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

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

    • -f path/root_name : indique le répertoire dans lequel la paire de clés est enregistrée et le nom racine de la clé publique et privée. La clé publique a été ajoutée à .pub après le nom de la racine.

La paire de clés SSH est générée et enregistrée dans le répertoire que vous avez indiqué. Notez le chemin et le nom complets des fichiers de clés.