Aller au contenu principal

Créer une VM et y accéder

Avant de commencer

Pour réaliser les actions présentées ci-dessous, vous devez disposer :

  • D'un compte NumSpot
  • De Terraform installé
  • D'un client SSH

Créer et déployer des ressources NumSpot à l'aide de Terraform

Pour démarrer, commencez par créer le fichier de configuration

Vous devez ensuite créer les ressources suivantes :

  • VPC
  • Subnet
  • Keypair
  • VM
  • Public IP
  • Internet Gateway
  • Route Table
  • Security Group

Pour ce faire, ajoutez les blocs suivants :

resource "numspot_vpc" "vpc" {
ip_range = "10.0.0.0/16"
}

resource "numspot_subnet" "subnet" {
vpc_id = numspot_vpc.vpc.id
ip_range = "10.0.0.0/24"
map_public_ip_on_launch = true
}

resource "numspot_keypair" "keypair" {
name = "keypair_terraform"
public_key = "<PUBLIC KEYPAIR>"
}

resource "numspot_vm" "vm" {
image_id = "<VM IMAGE>"
type = "<VM TYPE>"
subnet_id = numspot_subnet.subnet.id
keypair_name = numspot_keypair.keypair_terraform.name
security_group_ids = [numspot_security_group.security-group.id]
}

resource "numspot_public_ip" "public-ip" {
vm_id = numspot_vm.vm.id
}

resource "numspot_internet_gateway" "internet-gateway" {
vpc_id = numspot_vpc.vpc.id
}

resource "numspot_route_table" "route-table" {
vpc_id = numspot_vpc.vpc.id
subnet_id = numspot_subnet.subnet.id

routes = [{
destination_ip_range = "0.0.0.0/0"
gateway_id = numspot_internet_gateway.internet-gateway.id
}]
}

resource "numspot_security_group" "security-group" {
vpc_id = numspot_vpc.vpc.id
name = "security group name"
description = "security group description"

inbound_rules = [{
from_port_range = 22
to_port_range = 22
ip_protocol = "tcp"
ip_ranges = ["0.0.0.0/0"]
}]
}

Votre configuration est maintenant prête à être déployée sur l'infrastructure de NumSpot.

Liens utiles