Créer un load balancer interne

Vous pouvez créer un load balancer interne pour distribuer le trafic réseau entrant entre plusieurs machines virtuelles (VM) d’un Net.

Créer un load balancer interne avec Cockpit v2

Avant de commencer :

  1. Créez un Net avec un Subnet. Pour en savoir plus, voir Nets.

  2. Créez un security group pour le load balancer avec les règles suivantes :

    • Autorisez les flux entrants en protocole TCP sur le port que vous souhaitez.

    • Autorisez les flux entrants venant des security groups des VM qui envoient les requêtes.

    • Autorisez les flux sortants vers l’ensemble des security groups des VM backend.

  3. Configurez le security group des futures VM backend avec les règles suivantes :

    • Autorisez les flux entrants en protocole TCP sur le port que vous souhaitez.

    • Autorisez les flux entrants venant du security group du load balancer.

Pour en savoir plus, voir Security Groups.

  1. Dans le dashboard Load Balancers, cliquez sur IconAddFull Créer un load balancer.
    La boîte de dialogue CRÉER UN LOAD BALANCER apparaît.

  2. Dans le champ Nom, tapez un nom pour le load balancer.

    • Ce nom doit être unique pour l’ensemble de la Région.

    • Il doit suivre des règles de noms de domaine, c’est-à-dire qu’il peut contenir au maximum 32 caractères alphanumériques ou tirets, mais ne peut pas commencer ou finir par un tiret.

    Cliquez sur Suivant.

  3. Dans la liste Type, sélectionnez interne.

  4. Dans la liste Subnet, sélectionnez le Subnet dans lequel vous souhaitez créer le load balancer.

  5. Dans la liste Security group, sélectionnez :

    1. Poursuivre avec un security group par défaut pour sélectionner le security group par défaut du Net.

    2. Sélectionner un security group pour sélectionner un security group pour le load balancer.

  6. Cliquez sur Suivant, puis vérifiez l’ensemble des paramètres du load balancer.

  7. Cliquez sur Créer.
    Le load balancer est créé.

    Le load balancer est disponible environ 1 minute après sa création.

Créer un load balancer interne avec OSC CLI

Avant de commencer :

  1. Créez un Net. Pour en savoir plus, voir Nets.

  2. Créez un security group pour le load balancer avec les règles suivantes :

    • Autorisez les flux entrants en protocole TCP sur le port que vous souhaitez.

    • Autorisez les flux entrants venant des security groups des VM qui envoient les requêtes.

    • Autorisez les flux sortants vers l’ensemble des security groups des VM backend.

  3. Configurez le security group des futures VM backend avec les règles suivantes :

    • Autorisez les flux entrants en protocole TCP sur le port que vous souhaitez.

    • Autorisez les flux entrants venant du security group du load balancer.

Pour en savoir plus, voir Security Groups.

À ce jour, cette section est disponible en anglais uniquement.

The CreateLoadBalancer command creates a load balancer.
The load balancer is created with a unique Domain Name Service (DNS) name. It receives the incoming traffic and routes it to its registered virtual machines (VMs).
By default, this action creates an Internet-facing load balancer, resolving to public IPs. To create an internal load balancer in a Net, resolving to private IPs, use the LoadBalancerType parameter.
You must specify either the Subnets or the SubregionNames parameters.

For more information, see About Load Balancers.

Request sample: Creating an internal load balancer in a Net
$ osc-cli api CreateLoadBalancer --profile "default" \
    --LoadBalancerName "private-lb-example" \
    --Listeners '[
        {
          "BackendPort": 80,
          "BackendProtocol": "TCP",
          "LoadBalancerPort": 80,
          "LoadBalancerProtocol": "TCP",
        },
      ]' \
    --Subnets '["subnet-12345678"]' \
    --SecurityGroups '["sg-12345678"]' \
    --LoadBalancerType "internal"

This command contains the following attributes that you need to specify:

  • DryRun: (optional) If true, checks whether you have the required permissions to perform the action.

  • Listeners: One or more listeners to create.

  • LoadBalancerName: The unique name of the load balancer (32 alphanumeric or hyphen characters maximum, but cannot start or end with a hyphen).

  • LoadBalancerType: (optional) The type of load balancer: internet-facing or internal. Use this parameter only for load balancers in a Net.

  • SecurityGroups: (optional) (Net only) One or more IDs of security groups you want to assign to the load balancer. If not specified, the default security group of the Net is assigned to the load balancer.

  • Subnets: (optional) (Net only) The ID of the Subnet in which you want to create the load balancer. Regardless of this Subnet, the load balancer can distribute traffic to all Subnets. This parameter is required in a Net.

  • Tags: (optional) One or more tags assigned to the load balancer.

The CreateLoadBalancer command returns the following elements:

  • LoadBalancer: Information about the load balancer.

  • ResponseContext: Information about the context of the response.

Result sample: Creating an internal load balancer in a Net
{
  "ResponseContext": {
    "RequestId": "0475ca1e-d0c5-441d-712a-da55a4175157"
  },
  "LoadBalancer": {
    "Tags": [],
    "SourceSecurityGroup": {
      "SecurityGroupName": "security-group-example",
      "SecurityGroupAccountId": "123456789012"
    },
    "SecuredCookies": false,
    "Subnets": [
      "subnet-12345678"
    ],
    "NetId": "vpc-12345678",
    "BackendVmIds": [],
    "ApplicationStickyCookiePolicies": [],
    "SecurityGroups": [
      "sg-12345678"
    ],
    "LoadBalancerType": "internal",
    "AccessLog": {
      "PublicationInterval": 60,
      "IsEnabled": false
    },
    "DnsName": "internal-private-lb-example.123456789.eu-west-2.lbu.outscale.com",
    "HealthCheck": {
      "UnhealthyThreshold": 2,
      "Timeout": 5,
      "CheckInterval": 30,
      "Protocol": "TCP",
      "HealthyThreshold": 10,
      "Port": 80
    },
    "LoadBalancerStickyCookiePolicies": [],
    "SubregionNames": [
      "eu-west-2a"
    ],
    "Listeners": [
      {
        "BackendPort": 80,
        "BackendProtocol": "TCP",
        "LoadBalancerPort": 80,
        "LoadBalancerProtocol": "TCP"
      }
    ],
    "LoadBalancerName": "private-lb-example"
  }
}

Créer un load balancer interne avec AWS CLI

Avant de commencer :

  1. Créez un VPC. Pour en savoir plus, voir Nets.

  2. Créez un security group pour le load balancer avec les règles suivantes :

    • Autorisez les flux entrants en protocole TCP sur le port que vous souhaitez.

    • Autorisez les flux entrants venant des security groups des instances qui envoient les requêtes.

    • Autorisez les flux sortants vers l’ensemble des security groups des instances backend.

  3. Configurez le security group des futures instances backend avec les règles suivantes :

    • Autorisez les flux entrants en protocole TCP sur le port que vous souhaitez.

    • Autorisez les flux entrants venant du security group du load balancer.

Pour en savoir plus, voir Security Groups.

Pour créer un load balancer interne, utilisez la commande create-load-balancer suivant cette syntaxe :

Exemple de requête
$ aws elb create-load-balancer \
    --profile YOUR_PROFILE \
    --load-balancer-name my_load_balancer \
    --listeners Protocol=TCP,LoadBalancerPort=62,InstanceProtocol=TCP,InstancePort=58 \
    --subnets subnet-12345678 \
    --security-groups sg-12345678 sg-87654321 \
    --scheme internal \
    --endpoint https://lbu.eu-west-2.outscale.com

Cette commande contient les attributs suivants que vous devez spécifier :

  • load-balancer-name : Le nom du load balancer.

    • Ce nom doit être unique pour l’ensemble de la Région.

    • Il doit suivre des règles de noms de domaine, c’est-à-dire qu’il peut contenir au maximum 32 caractères alphanumériques ou tirets, mais ne peut pas commencer ou finir par un tiret.

  • listeners : Un ou plusieurs listeners pour le load balancer. Cet attribut requiert les éléments suivants pour chaque listener :

    Pour ajouter plusieurs listeners, séparez-les à l’aide d’une espace.

    • Protocol : Le protocole de routage pour le load balancer (HTTP, HTTPS, TCP ou SSL).

    • LoadBalancerPort : Le port sur lequel le load balancer écoute (entre 1 et 65535, tous deux inclus).

    • InstancePort : Le port sur lequel les instances backend écoutent (entre 1 et 65535, tous deux inclus).

    • (optionnel) InstanceProtocol : Le protocole utilisé pour router le trafic vers les instances backend (HTTP, HTTPS, TCP ou SSL).

    • (optionnel) SSLCertificateId : L’OUTSCALE Resource Name (ORN) d’un certificat SSL. Pour en savoir plus, voir Obtenir des informations à propos d’un certificat serveur.

      Un certificat SSL est requis si le protocole du load balancer est HTTPS ou SSL.

      Pour en savoir plus sur comment configurer votre listener lorsque vous utilisez des certificats SSL, voir Configurer un load balancer pour une redirection SSL.

  • subnets : L’ID du subnet dans lequel vous voulez créer le load balancer. Quel que soit ce subnet, le load balancer peut distribuer du trafic vers tous les subnets.

  • (optionnel) security-groups : Un ou plusieurs ID de security groups que vous voulez attribuer au load balancer. Si rien n’est spécifié, le security group par défaut du VPC est attribué au load balancer.

  • scheme : Le type de load balancer que vous voulez créer (ici, internal).

  • endpoint : Le endpoint correspondant à la Région à laquelle vous voulez envoyer la requête.

La commande create-load-balancer renvoie l’élément suivant :

  • DNSName : Le nom de DNS attribué au load balancer.

Exemple de résultat
 {
    "DNSName": "my_load_balancer_1234567890.lbu.eu-west-2.outscale.com"
}

Pages connexes

Méthodes API correspondantes

AWS™ et Amazon Web Services™ sont des marques de commerce d’Amazon Technologies, Inc. ou de ses affiliées aux États-Unis et/ou dans les autres pays.