Remarques :

Accélérez la certification professionnelle des architectes Oracle Cloud Infrastructure avec Terraform

Introduction

L'obtention de la certification Oracle Cloud Infrastructure (OCI) Architect Professional exige une compréhension approfondie d'Oracle Cloud et une expérience pratique. Ce tutoriel accélère votre parcours en utilisant Infrastructure as Code (IaC) avec Terraform.

figure 0

La figure 1 ci-dessous illustre l'architecture OCI cible à déployer. La partie droite présente une approche structurée du laboratoire OCI Architect Professional Certification (2024), divisée en sept étapes séquentielles. En tirant parti des fragments de code Terraform prédéfinis adaptés aux ateliers d'examen de certification, les tâches répétitives sont automatisées, ce qui libère un temps précieux pour se concentrer sur la maîtrise des concepts OCI essentiels. Cette approche accélère non seulement l'achèvement des laboratoires, mais favorise également une meilleure compréhension de la plate-forme.

figure 1 Figure 1 : Atelier de certification professionnelle d'architecture OCI 1 - Architecture et processus manuels ou automatisés

Remboursement des méthodes manuelles

Les approches manuelles des ateliers pratiques de l'examen de certification OCI peuvent constituer un obstacle important. Certains inconvénients sont :

Maîtriser les compétences OCI plus rapidement : la puissance de l'automatisation

Ce tutoriel explique comment accélérer la certification OCI en automatisant les tâches, en se concentrant sur les compétences de base et en raccourcissant le temps de pratique.

Avantages principaux :

Avantages supplémentaires :

Pour accélérer votre parcours de certification professionnelle OCI Architect (2024), nous automatisons l'atelier pratique 1 sur Oracle Cloud Infrastructure Architect Professional illustré à la figure 1 à l'aide de Terraform. Cette approche automatisée peut être étendue à d'autres laboratoires de certification et à des déploiements cloud réels.

Groupe de sécurité réseau en tant que source entrante vers un autre groupe de sécurité réseau au lieu d'un bloc CIDR

Ce tutoriel explore les groupes de sécurité réseau dans OCI et comment ils fournissent un contrôle affiné du trafic réseau au sein d'un réseau cloud virtuel (VCN). Les groupes de sécurité réseau agissent comme des pare-feu virtuels, contrôlant l'accès réseau aux ressources au sein d'un VCN. Cela inclut, par exemple, les instances OCI Compute, les clusters Kubernetes ou les bases de données. Les groupes de sécurité réseau offrent une plus grande flexibilité que les listes de sécurité en permettant le contrôle entre les ressources plutôt qu'entre les sous-réseaux.

Approche hybride semi-automatisée en 7 étapes

Bien qu'ils soient complets, les ateliers pratiques de certification professionnelle OCI Architect peuvent prendre du temps. Prenons l'atelier pratique 1 sur Oracle Cloud Infrastructure Architect Professional, qui dure au moins 25 minutes. En automatisant les tâches répétitives telles que la création de VCN, de groupes de sécurité réseau et de machines virtuelles avec Terraform, vous pouvez réduire cette fois-ci de jusqu'à 80 %, en vous concentrant sur les concepts de base de la sécurité plutôt que sur les étapes manuelles fastidieuses. L'approche semi-automatisée proposée offre de la flexibilité, vous permettant de choisir les tâches à automatiser.

Objectifs

Prérequis

Tâche 1 : création d'un réseau cloud virtuel (VCN)

Option manuelle :

Utilisez l'assistant OCI VCN pour créer des ressources de réseau de base : VCN, passerelle Internet, table de routage, liste de sécurité, sous-réseaux publics et privés. Pour plus d'informations, reportez-vous à Démarrage rapide des fonctions de réseau virtuel.

  1. Accédez à la console OCI, accédez à Fonctions de réseau, à Réseaux cloud virtuels et créez un VCN.

  2. Cliquez sur Informations sur le VCN et notez les OCID du VCN, du sous-réseau privé et du sous-réseau public (figure 2).

  3. Ajoutez les OCID dans le fichier input.auto.tfvars (ou terraform.tfvars), comme indiqué dans la section des options de déploiement.

Par défaut, l'indicateur create_vcn est désactivé (créer manuellement le VCN à partir de la console OCI). Collectez l'OCID de VCN, les OCID de sous-réseaux et ajoutez-les au fichier input.auto.tfvars.

# Step 1a - Create VCN using VCN Wizard (create_vcn flag off)
create_vcn = false

# Copy from the console the VCN OCIDs and subnets (public, Private) OCIDs.
vcn_id            = "REPLACE_CREATED_VCN_OCID_HERE"
private_subnet_id = "REPLACE_CREATED_PRIVATE_SUBNET_OCID_HERE"
public_subnet_id  = "REPLACE_CREATED_PUBLIC_SUBNET_OCID_HERE"

image Figure 2 : Vue VCN de la console pour collecter l'OCID de VCN, l'OCID de sous-réseau public et l'OCID de sous-réseau privé

Option Automatisé :

Créez le VCN en suivant les étapes suivantes.

  1. Pour créer automatiquement le VCN et toutes les ressources réseau, définissez l'indicateur create_vcn sur true dans le fichier input.auto.tfvars.

  2. Spécifiez le VCN, le sous-réseau public, les blocs CIDR de sous-réseaux privés et le préfixe de nom d'hôte.

    # Step 1b - Create VCN using Terraform. Provided the CIDR Blocks for the
    #           VCN, Subnets and all other required input (host_name_prefix).
    create_vcn = true
    
    # Provide the VCN & Subnet CIDR Blocks as well as host name prefix
    vcn_cidr_block            = "10.0.0.0/16"
    public_subnet_cidr_block  = "10.0.0.0/24"
    private_subnet_cidr_block = "10.0.1.0/24"
    host_name_prefix          = "phxapl4"
    

Tâche 2 : création de deux groupes de sécurité réseau (NSG-01 et NSG-02)

Option manuelle :

Créez deux groupes de sécurité réseau (NSG-01 et NSG-02) en procédant comme suit :

  1. Sélectionnez le VCN créé dans la tâche 1.

  2. Sous Ressources, cliquez sur Groupes de sécurité réseau.

  3. Cliquez sur Créer un groupe de sécurité réseau et entrez les informations suivantes.

    • Nom : entrez un nom. Par exemple, <REGION-KEY>-AP-LAB01-NSG-01.
    • Compartiment de création : entrez votre compartiment de travail.
    • Cliquez sur Créer.
  4. Répétez les étapes 1 à 3 pour le deuxième groupe de sécurité réseau nommé <REGION-KEY>-AP-LAB01-NSG-02.

Option Automatisé :

Le code Terraform suivant crée deux groupes de sécurité réseau (NSG-01 et NSG-02).

resource "oci_core_network_security_group" "nsg-01" {
  count = (var.create_vcn && var.create_nsg_1) ? 1 : 0

  #Required
  compartment_id = var.compartment_id
  vcn_id         = var.create_vcn ? oci_core_vcn.this.*.id[0] : var.vcn_id
  display_name   = "${var.display_name_prefix}-TF-NSG-01"
}

resource "oci_core_network_security_group" "nsg-02" {
  count = (var.create_vcn && var.create_nsg_2) ? 1 : 0

  #Required
  compartment_id = var.compartment_id
  vcn_id         = var.create_vcn ? oci_core_vcn.this.*.id[0] : var.vcn_id
  display_name   = "${var.display_name_prefix}-TF-1-NSG-02"
}

Pour créer les deux groupes de sécurité réseau, définissez les indicateurs create_nsg_1 et create_nsg_2 sur true.

# Step 2: Create two(2) empty Network Security Groups (NSG-01 & NSG-02).
create_nsg_1 = true
create_nsg_2 = true

Tâche 3 : lancement de quatre machines virtuelles à l'aide de Terraform et exécution du test Ping ICMP (Internet Control Message Protocol)

En supposant que vous êtes familiarisé avec le lancement manuel de machines virtuelles à partir de la console OCI. Pour plus d'informations, reportez-vous à Création d'une instance.

Remarque : nous couvrons uniquement l'option d'automatisation Terraform permettant de créer 4 machines virtuelles (3 machines virtuelles dans le sous-réseau public et 1 machine virtuelle dans le sous-réseau privé).

Activez l'indicateur create_vm_1_3 pour indiquer à Terraform de créer trois machines virtuelles (VM-01, VM-02 et VM-03).

# Step 3a: Launch three(3) VMs(VM-01, VM-02, VM-03) in the public subnet.
create_vm_1_3 = true

Pour créer trois instances de calcul dans le sous-réseau public, nous avons utilisé le méta-argument count dans le code Terraform ci-dessous. Cette approche concise simplifie le processus de création par rapport au méta-argument for_each plus complexe. La définition de count sur 3 génère automatiquement des instances indexées sur 0, 1 et 2, ce qui améliore la lisibilité et l'efficacité du code.

resource "oci_core_instance" "VM1-3" {
  count = (var.create_vm_1_3) ? 3 : 0

  availability_domain         = "GqIF:PHX-AD-1"
  compartment_id              = var.compartment_id
  create_vnic_details {
    assign_ipv6ip             = "false"
    assign_private_dns_record = "true"
    assign_public_ip          = "true"
    subnet_id                 = var.create_vcn ? oci_core_subnet.My-Public-Subnet.*.id[0] : var.public_subnet_id
    #nsg_ids                   = (var.create_vcn && var.create_nsg_1) && (count.index == 2) ? [oci_core_network_security_group.nsg-1.*.id[0]] : []
    nsg_ids = (var.automate_step_4 && var.create_nsg_1) ? (var.create_vcn ? [oci_core_network_security_group.nsg-1.*.id[0]] : [oci_core_network_security_group.nsg-01.*.id[0]]) : [] 

  }

  display_name  = "${var.display_name_prefix}-VM-0${count.index + 1}"
  metadata = {
    "ssh_authorized_keys"     = "${file(var.ssh_public_key)}"
  }

  shape                       = "VM.Standard.A1.Flex"
  shape_config {
    memory_in_gbs             = "6"
    ocpus                     = "1"
  }

  source_details {
    source_id                = var.amper_image_id
    source_type              = "image"
  }
}

Remarque : pour accéder aux machines virtuelles publiques via SSH, générez votre propre paire de clés SSH. Pour plus d'informations, reportez-vous à Génération de clés SSH.

Activez ensuite l'indicateur create_vm_4 pour indiquer à Terraform de créer VM-04 dans le réseau privé.

# Step 3b: Launch the fourth VM (VM-04) in the private subnet.
create_vm_4   = true

Il s'agit de la partie du code Terraform qui crée la quatrième instance (VM-04) dans le sous-réseau privé.

resource "oci_core_instance" "vm-4" {
  count = (var.create_vm_4) ? 1 : 0

  availability_domain         = "GqIF:PHX-AD-1"
  compartment_id              = var.compartment_id

  create_vnic_details {
    #assign_ipv6ip            = "false"
    assign_private_dns_record = "true"
    assign_public_ip          = "false"
    subnet_id                 = var.create_vcn ? oci_core_subnet.My-Private-Subnet.*.id[0] : var.private_subnet_id
    #nsg_ids                   = (var.create_vcn && var.create_nsg_1) ? [oci_core_network_security_group.nsg-2.*.id[0]] : []
    nsg_ids = (var.automate_step_6 && var.create_nsg_2) ? (var.create_vcn ? [oci_core_network_security_group.nsg-2.*.id[0]] : [oci_core_network_security_group.nsg-02.*.id[0]]) : []                                    
  }

  display_name                = "${var.display_name_prefix}-VM-04"
  shape                       = "VM.Standard.A1.Flex"
  shape_config {
    memory_in_gbs             = "6"
    ocpus                     = "1"
  }

  source_details {
    source_id                = var.amper_image_id
    source_type              = "image"
  }
}

Test d'écho ICMP manuel : observation de l'impact des groupes de sécurité réseau sur le trafic.

  1. Accédez à la console OCI, puis à Compute et à Instances. Les quatre instances seront répertoriées.

  2. Notez les adresses IP publiques des trois instances (VM-01, VM-02, VM-03).

  3. A partir de votre ordinateur, envoyez une commande ping à l'adresse IP publique de chaque instance de machine virtuelle.

Résultats attendus:

Test d'écho ICMP automatisé : ce test est automatisé à l'aide du provisionneur local-exec de Terraform.

Modifiez le fichier input.auto.tfvars pour définir la valeur de la variable icmp_ping_count. Pour activer le ping de chacune des trois machines virtuelles publiques à partir de votre ordinateur local, définissez les indicateurs icmp_pingvm?_fromlocal sur true (où 1, 2 ou 3 représente la machine virtuelle spécifique).

# ICMP ping from Local Computer (First Attempt)
icmp_pingvm1_fromlocal = true
icmp_pingvm2_fromlocal = true
icmp_pingvm3_fromlocal = true

Tâche 4 : configuration du trafic entrant ICMP et attachement de vNICs à NSG-01

Option manuelle :

Les sous-tâches suivantes sont requises pour configurer le trafic entre VM-03 et NSG-01.

Tâche 4.1 : ajouter une nouvelle règle entrante dans Networking

Pour mettre à jour le premier groupe de sécurité réseau (NSG-01), suivez les étapes décrites dans la figure 3.

  1. Sélectionnez votre VCN.

  2. Sous Groupes de sécurité réseau, sélectionnez Groupe de sécurité réseau-01 et cliquez sur Ajouter des règles.

  3. Entrez les informations suivantes et cliquez sur Ajouter.

    • Type source : entrez CIDR.
    • CIDR source : entrez 0.0.0.0/0.
    • Protocole IP : sélectionnez ICMP.
    • Type : entrez 8.
    • Code : sélectionnez Tous.

    image Figure 3 : Ajout d'une règle entrante à NSG-01 pour autoriser le ping ICMP à partir d'Internet

Tâche 4.2 : configurer la troisième machine virtuelle (VM-03) pour qu'elle pointe vers NSG-01

Pour connecter NSG-01 à l'interface réseau virtuelle VM-03, suivez les étapes décrites dans la figure 4.

  1. Sous Compute, cliquez sur Instances, VM-03 et Visualiser les détails.

  2. Sélectionnez la vNICs associée et cliquez sur Carte vNIC principale.

  3. Sous Informations sur la carte vNIC, cliquez sur le lien Modifier en regard de Groupe de sécurité réseau et sélectionnez Groupe de sécurité réseau-01.

  4. Cliquez sur Enregistrer les modifications.

image Figure 4 : attachement du groupe de sécurité réseau NSG-01 à une carte vNIC VM-03

Option Automatisé :

Accédez au fichier input.auto.tfvars et activez l'indicateur automate_step_4.

# Step 4: Add CIDR ingress rule in Network, attach VM-03 vNIC with NSG-01.
automate_step_4 = true

Remarques :

Vérification manuelle : effectuez un second test d'écho ICMP (ping) sur les adresses IP publiques des machines virtuelles VM-01, VM-02 et VM-03 à partir de votre ordinateur local.

Résultats :

Vérification automatisée : accédez au fichier input.auto.tfvars et définissez tous les indicateurs icmp_pingvm?_fromlocal sur True (où 1, 2 ou 3 représente la machine virtuelle spécifique).

# ICMP ping from Local Computer (Second Attempt)
icmp_pingvm1_fromlocal = true
icmp_pingvm2_fromlocal = true
icmp_pingvm3_fromlocal = true

Tâche 5 : exécution de la commande ping ICMP avant l'imbrication des deux groupes de sécurité réseau

Option manuelle :

Tentative initiale de commande ping de l'adresse IP privée de VM-04 à partir des trois machines virtuelles publiques.

Résultats attendus : toutes les tentatives ping échoueront. Pour activer la connectivité, une architecture de groupe de sécurité réseau imbriquée est requise.

Option Automatisé :

Définissez l'indicateur icmp_test_from_vm? sur True pour chaque machine virtuelle publique (VM-01, VM-02 et VM-03). Remplacez-le par le numéro de machine virtuelle spécifique (1, 2 ou 3) dans chaque nom d'indicateur.

# Step 5: SSH to VM-01, VM-02, VM-03 and ping VM-04 (First Attempt).
icmp_test_from_vm1 = true
icmp_test_from_vm2 = true
icmp_test_from_vm3 = true

Cette option tire parti du provisionneur remote-exec Terraform pour automatiser les tests ICMP. Vous devrez indiquer la clé SSH privée qui correspond à la clé publique utilisée lors de la création des machines virtuelles. Le script shell ping_script.sh parcourt le nombre de tentatives ping défini par icmp_ping_count.

resource "null_resource" "icmp_ping_vm4_from_vm1" {
  depends_on = [oci_core_instance.VM1-3[0]]
  count      = (var.icmp_test_from_vm1) ? 1 : 0

  connection {
    agent       = false
    host        = oci_core_instance.VM1-3[0].public_ip
    user        = "opc"
    private_key = file(var.ssh_private_key)
  }

  # At this stage we assume that the ping_script.sh is copied under /home/opc
  provisioner "remote-exec" {
    inline = [
      "echo \" PING PRIVATE IP ${oci_core_instance.vm-4[0].private_ip}\"",
      "chmod +x ping_script.sh",
      "export TARGET_IP=${oci_core_instance.vm-4[0].private_ip}",
      "export PING_COUNT=${var.icmp_ping_count}",
      "sh ping_script.sh",
    ]
  }
}

Tâche 6 : configurer des groupes de sécurité réseau imbriqués (NSG-01 et NSG-02)

Option manuelle :

Configurez le deuxième groupe de sécurité réseau (NSG-02) avec une règle entrante qui indique NSG-01 comme source, ce qui active le flux de trafic ICMP entre les deux groupes de sécurité réseau.

Tâche 6.1 : ajout d'une règle entrante dans Networking (réseau cloud virtuel)

  1. Sous votre VCN (VCN-01), cliquez sur Règles de sécurité.

  2. Sélectionnez NSG-02 et cliquez sur Ajouter des règles.

  3. Entrez les informations suivantes et cliquez sur Ajouter.

    • Type de source : sélectionnez Groupe de sécurité réseau.
    • Source : entrez NSG-01.
    • Protocole IP : sélectionnez ICMP.
    • Type : entrez 8.
    • Code : sélectionnez Tous.

    image Figure 5 : Ajout du groupe de sécurité réseau-01 en tant que source à la règle entrante du groupe de sécurité réseau-02

Tâche 6.2 : configurer la quatrième machine virtuelle (VM-04) pour qu'elle pointe vers NSG-02

  1. Sous Informations sur la carte vNIC de la machine virtuelle 04 (figure 6), cliquez sur le lien Modifier en regard du groupe de sécurité réseau et sélectionnez Groupe de sécurité réseau-02.

  2. Cliquez sur Enregistrer la modification.

image Figure 6 : connexion de la carte vNIC NSG-02 à VM-04

Option Automatisé :

Pour automatiser cette tâche, définissez automate_step_6 sur True dans le fichier input.auto.tfvars.

# Step 6: Add NSG-01 as ingress rule source, attach NSG-02 to VM04 vNIC.
automate_step_6 = true

Tâche 7 : exécution des tests d'écho ICMP finaux pour les groupes de sécurité réseau imbriqués

Test manuel de bout en bout :

Réessayez d'envoyer une commande ping à l'adresse IP privée de VM-04 à partir des machines virtuelles publiques.

  1. Connectez-vous via SSH aux trois instances du sous-réseau public (VM-01, VM-02, VM-03).

  2. A partir de chacun, envoyez une commande ping à l'adresse IP privée de VM-04. Seule la VM-03 réussit comme illustré à la Figure 1.

Explication : La vNIC de VM-04 est désormais régie par les règles au sein de NSG-02 et celles de la liste de sécurité par défaut. NSG-01 est configuré en tant que source de règle entrante pour NSG-02, ce qui autorise le trafic à partir d'Internet.

Tests automatisés de bout en bout :

Activez Terraform pour exécuter automatiquement les tests ping d'écho ICMP.

  1. Définissez l'indicateur icmp_test_from_vm? sur true pour chacune des 3 machines virtuelles (VM-01, VM-02 et VM-03).

  2. Comme illustré dans la partie gauche de la figure 1, seul VM-03 a réussi à envoyer une commande ping à VM-04.

# Step 7: SSH to VM-01, VM-02, VM-03 and ping VM-04 (Second Attempt).
icmp_test_from_vm1 = true
icmp_test_from_vm2 = true
icmp_test_from_vm3 = true

La figure 7 affiche les résultats de plusieurs tentatives de ping ICMP effectuées après l'établissement d'une connexion SSH à VM-03. La figure compare le résultat de la commande ping avant et après l'implémentation de groupes de sécurité réseau imbriqués.

image Figure 7 : résultats de la commande ping avant et après l'imbrication de NSG-02 à NSG-01 et l'attachement de vNICs aux machines virtuelles

Remarque : lors de l'utilisation de Terraform, recréez des machines virtuelles après avoir basculé de la configuration manuelle afin de garantir une liaison correcte du groupe de sécurité réseau NSG-02 avec la carte vNIC VM-04.

Options de déploiement

Option 1 : utilisation de l'interface de ligne de commande Terraform (CLI) (Community Edition)

Avant d'exécuter les commandes Terrafrom pour planifier et déployer votre infrastructure à l'aide de l'interface de ligne de commande Terraform, vous devez mettre à jour la configuration Terraform fournie avec les détails de votre environnement spécifique à partir de votre machine locale ou à distance sur OCI Cloud Shell. Téléchargez le code source Terraform complet ici : oci-blog-fast-tracking-apcertif-main.zip. Le seul fichier que vous devez personnaliser pour votre environnement est le fichier input.auto.tfvars (le fichier portant un nom similaire est terraform.tfvars). Vous pouvez indiquer, par exemple, les OCID de l'image d'ordinateur utilisée (amper_image_id) et celui du compartiment (compartment_id) dans lequel les ressources de laboratoire seront créées (modifiez les valeurs par défaut uniquement si nécessaire). Ce package fournit des instructions complètes pour configurer votre environnement, exécuter des exercices et comprendre les concepts de réseau et de sécurité. Il comprend des guides détaillés, des conseils et des bonnes pratiques pour améliorer votre expérience de formation avancée OCI.

##########################################################################
# Terraform module: Nested NSGs - NSG-01 as Ingress source to NSG-02.    #
#                                                                        #
# Copyright (c) 2024 Oracle        Author: Mahamat Hissein Guiagoussou   #
##########################################################################

# Working Compartment
compartment_id = "REPLACE_WORKING_COMPARTMENT_OCID_HERE"

# Image OCID - https://docs.oracle.com/en-us/iaas/images/
amper_image_id = "REPLACE_INSTANCE_REGIONAL_IMAGE_OCID_HERE"

# Region based display name prefix
display_name_prefix = "AP-LAB01-1" # Replace with your own prefix

##########################################################################
# Step 1a - Create VCN using VCN Wizard (turn off the create_vcn flag),  #
##########################################################################
create_vcn        = false
vcn_id            = "REPLACE_VCN_OCID_HERE"
private_subnet_id = "REPLACE_PRIVATE_SUBNET_OCID_HERE"
public_subnet_id  = "REPLACE_PUBLIC_SUBNET_OCID_HERE"

##########################################################################
# Step 1b - Create VCN using Terraform. Provide the CIDR Blocks for the  #
#           VCN, Subnets and other required input (host_name_prefix).    #
##########################################################################
cvcn_cidr_block           = "10.0.0.0/16"
public_subnet_cidr_block  = "10.0.0.0/24"
private_subnet_cidr_block = "10.0.1.0/24"
host_name_prefix          = "phxapl4"

##########################################################################
# Step 2: Create two(2) empty Network Security Groups: NSG-01 & NSG-02.  #
##########################################################################
create_nsg_1 = false
create_nsg_2 = false

##########################################################################
# Step 3a: Launch three VMs(VM-01, VM-02, VM-03) in the public subnet.   #
##########################################################################
create_vm_1_3 = false

##########################################################################
# Step 3b: Launch the fouth VM (VM-04) in the private subnet.            #
##########################################################################
create_vm_4 = false

# Shape Definition
shape_name  = "VM.Standard.A1.Flex"
shape_memory_in_gbs = "6"
shape_numberof_ocpus = "1"

# Ping all public VM from Local Computer
icmp_pingvm1_fromlocal = false
icmp_pingvm2_fromlocal = false
icmp_pingvm3_fromlocal = false

# Compute Instance SSH keys
ssh_public_key  = "~/cloudshellkey.pub"
ssh_private_key = "~/cloudshellkey"

# Ping VM-04 from Public VMs (VM-02, VM-02, and VM-03) via SSH
icmp_test_from_vm1 = false
icmp_test_from_vm2 = false
icmp_test_from_vm3 = false

##########################################################################
# Step 4: Add CIDR ingress rule in Network & Attach VM3 vNIC with NSG-01 #
##########################################################################
automate_step_4 = false

##########################################################################
# Step 5: SSH to VM-01, VM-02, VM-03 and ping VM-04 (First Attempt).     #
##########################################################################

##########################################################################
# Step 6: Add NSG-01 as ingress rule source, Attach VM4 vNIC with NSG-02 #
##########################################################################
automate_step_6 = false

##########################################################################
# Step 7: SSH to VM-01, VM-02, VM-03 and ping VM-04 (Second Attempt).    #
##########################################################################

# Number of time ping is executed
icmp_ping_count =  "REPLACE_NUMBER_OF_PING_ATTEMPTS_HERE"

Option 2 : Utiliser Oracle Resource Manager (exemples d'entrée de variable)

Créez une pile Oracle Resource Manager en définissant des variables (par exemple, amper_image_id, compartment_id), en provisionnant des ressources réseau (create_vcn, create_msg_1/2), en créant des machines virtuelles (create_vm_1_3, create_vm_4, shape_name), en envoyant des pings ICMP (icmp_pingvm1_fromlocal, icmp_test_from_vm1) et en exécutant le plan de déploiement de l'infrastructure.

image

Etapes suivantes

Les principes Infrastructure as Code (IaC), qui utilisent Terraform, améliorent considérablement la gestion de l'infrastructure grâce à un déploiement accéléré et à une sécurité améliorée. Par exemple, la configuration manuelle de groupes de sécurité réseau imbriqués dans la certification professionnelle OCI Architect (2024) L'atelier 1 : Devenir un professionnel OCI Architect (2024) consomme généralement environ 25 minutes.

En tirant parti de Terraform, nous avons considérablement réduit le temps nécessaire au provisionnement et à la configuration de ressources OCI complexes, démontrant ainsi un gain d'efficacité substantiel. Cela se traduit par des économies de temps et de coûts mesurables pour les utilisateurs OCI qui gèrent des configurations de sécurité réseau complexes. En outre, IaC favorise la cohérence et réduit le risque d'erreur humaine, ce qui en fait un modèle précieux pour l'apprentissage et les implémentations des clients du monde réel. Pour en savoir plus sur l'application de IaC avec Terraform ou d'autres outils similaires pour vos besoins d'automatisation OCI, envisagez d'appliquer les principes appris dans les laboratoires de certification professionnelle OCI Architect restants tout en explorant l'architecture de référence OCI et les meilleures pratiques.

Remerciements

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir la documentation produit, consultez le site Oracle Help Center.