web-dev-qa-db-fra.com

EC2. Équilibreur de charge. Au moins deux sous-réseaux doivent être spécifiés

J'essaie de créer et de configurer Load Balancer. La section Zones de disponibilité n'a qu'un sous-réseau et une zone pour moi.

J'ai fait face à une erreur:

Au moins deux sous-réseaux doivent être spécifiés.

Question simple - que dois-je faire? Merci.

8
Dmitry Grinko

Vous devez d'abord créer deux sous-réseaux ou plus dans votre VPC. Il est généralement recommandé de créer au moins un sous-réseau pour chaque zone de disponibilité (AZ) dans votre région. Assurez-vous de sélectionner public/private comme il convient à votre architecture.

Il n'y a pas d'exemple spécifique dans la documentation AWS, mais assurez-vous d'abord de comprendre les concepts VPC et la création de sous-réseaux. Voir Scénarios et exemples pour les exemples de procédures pas à pas pour la création de sous-réseaux.

La sélection de sous-réseaux lors de la configuration d'un ELB devrait être simple maintenant.

6
dmulter

Vous avez besoin de deux sous-réseaux dans votre VPC: la bonne pratique consiste à avoir une dans deux zones de disponibilité différentes, par exemple a et b. La section pertinente de TERRAFORM_CONFIG_NAME.tf ressemblerait à ceci:

setting {
    namespace = "aws:ec2:vpc"
    name      = "Subnets"
    value     = "${lookup(var.vpc_subnets, format("%s_%s", var.location, var.availability_zone))}, ${lookup(var.vpc_subnets, format("%s_%s", var.location, var.secondary_availability_zone))}"
}

, variables.tf comme ceci:

variable "vpc_subnets" {
  type = "map"
  default = {
    "frankfurt_a" = "subnet-12345671"
    "frankfurt_b" = "subnet-12345672"
    "frankfurt_c" = "subnet-12345673"
    "ireland_a" = "subnet-12345674"
    "ireland_b" = "subnet-12345675"
    "ireland_c" = "subnet-12345676"
  }
}

variable "availability_zone" {
  default = "a"
}

variable "secondary_availability_zone" {
  default = "b"
}


variable "regions" {
  type = "map"
  default = {
    "frankfurt" = "eu-central-1"
    "ireland" = "eu-west-1"
    "london" = "eu-west-2"
  }
}

variable "location" {
  default = "ireland"
}
1
Jonas