Modifier les attributs d’un load balancer

Vous pouvez modifier les attributs suivants d’un load balancer :

  • L’IP publique associée (pour un load balancer relié à internet uniquement)

  • Les security groups

  • La publication des access logs dans un bucket OUTSCALE Object Storage (OOS)

  • Les cookies sécurisés

  • Les paramètres de drainage

  • Le délai d’inactivité des connexions

Vous pouvez associer une IP publique à un load balancer relié à internet avec l’API OUTSCALE uniquement. Pour en savoir plus, voir la section OSC CLI ci-dessous.

Modifier les attributs d’un load balancer avec Cockpit v2

Modifier l’IP publique d’un load balancer relié à internet dans le Cloud public

  1. Cliquez dans le dashboard Load Balancers pour faire apparaître des cases à cocher.

  2. Cochez la case du load balancer que vous voulez modifier.
    Le load balancer est sélectionné et un menu d’actions apparaît.

  3. Cliquez sur IconEdit Modifier.
    La boîte de dialogue MODIFIER UN LOAD BALANCER apparaît.

  4. Dans la liste IP publique, sélectionnez l’IP publique que vous voulez associer au load balancer.

    L’ancienne IP publique est alors dissociée.

  5. Cliquez sur Modifier.
    L’IP publique du load balancer est modifiée.

Modifier le security group d’un load balancer interne

  1. Cliquez dans le dashboard Load Balancers pour faire apparaître des cases à cocher.

  2. Cochez la case du load balancer que vous voulez modifier.
    Le load balancer est sélectionné et un menu d’actions apparaît.

  3. Cliquez sur IconEdit Modifier.
    La boîte de dialogue MODIFIER UN LOAD BALANCER apparaît.

  4. 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.

  5. Cliquez sur Modifier.
    Le security group du load balancer est modifié.

Modifier les attributs d’un load balancer relié à internet avec OSC CLI

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

The UpdateLoadBalancer command modifies the specified attribute of a load balancer. You can specify only one attribute at a time.

You can set a new SSL certificate to an SSL or HTTPS listener of a load balancer.
This certificate replaces any certificate used on the same load balancer and port.

You can also replace the currently enabled policy for the load balancer with another one.
If the PolicyNames parameter is empty, the currently enabled policy is disabled.

Request sample: Updating health checks
$ osc-cli api UpdateLoadBalancer --profile "default" \
    --LoadBalancerName "private-lb-example" \
    --HealthCheck '{
        "HealthyThreshold": 10,
        "CheckInterval": 30,
        "Path": "/index.html",
        "Port": 8080,
        "Protocol": "HTTPS",
        "Timeout": 5,
        "UnhealthyThreshold": 5,
      }'
Request sample: Updating access logs
$ osc-cli api UpdateLoadBalancer --profile "default" \
    --LoadBalancerName "private-lb-example" \
    --AccessLog '{
        "PublicationInterval": 5,
        "IsEnabled": True,
        "OsuBucketName": "BUCKET",
        "OsuBucketPrefix": "PREFIX",
      }'
Request sample: Updating policies
$ osc-cli api UpdateLoadBalancer --profile "default" \
    --LoadBalancerName "private-lb-example" \
    --LoadBalancerPort 443 \
    --PolicyNames '["example-browser-policy"]'
Request sample: Updating SSL certificate
$ osc-cli api UpdateLoadBalancer --profile "default" \
    --LoadBalancerName "private-lb-example" \
    --LoadBalancerPort 443 \
    --ServerCertificateId "orn:ows:idauth::012345678910:server-certificate/AnotherCertificate"

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

  • AccessLog: (optional) Information about access logs.

    • IsEnabled: (optional) If true, access logs are enabled for your load balancer. If false, they are not. If you set this to true in your request, the OsuBucketName parameter is required.

    • OsuBucketName: (optional) The name of the OOS bucket for the access logs.

    • OsuBucketPrefix: (optional) The path to the folder of the access logs in your OOS bucket (by default, the root level of your bucket).

    • PublicationInterval: (optional) The time interval for the publication of access logs in the OOS bucket, in minutes. This value can be either 5 or 60 (by default, 60).

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

  • HealthCheck: (optional) Information about the health check configuration.

    • CheckInterval: The number of seconds between two requests (between 5 and 600 both included).

    • HealthyThreshold: The number of consecutive successful requests before considering the VM as healthy (between 2 and 10 both included).

    • Path: (optional) If you use the HTTP or HTTPS protocols, the request URL path.

    • Port: The port number (between 1 and 65535, both included).

    • Protocol: The protocol for the URL of the VM (HTTP | HTTPS | TCP | SSL).

    • Timeout: The maximum waiting time for a response before considering the VM as unhealthy, in seconds (between 2 and 60 both included).

    • UnhealthyThreshold: The number of consecutive failed requests before considering the VM as unhealthy (between 2 and 10 both included).

  • LoadBalancerName: The name of the load balancer.

  • LoadBalancerPort: (optional) The port on which the load balancer is listening (between 1 and 65535, both included). This parameter is required if you want to update the server certificate.

  • PolicyNames: (optional) The name of the policy you want to enable for the listener.

  • PublicIp: (optional) (internet-facing only) The public IP you want to associate with the load balancer. The former public IP of the load balancer is then disassociated. If you specify an empty string and the former public IP belonged to you, it is disassociated and replaced by a public IP owned by 3DS OUTSCALE.

  • SecuredCookies: (optional) If true, secure cookies are enabled for the load balancer.

  • SecurityGroups: (optional) (Net only) One or more IDs of security groups you want to assign to the load balancer. You need to specify the already assigned security groups that you want to keep along with the new ones you are assigning. If the list is empty, the default security group of the Net is assigned to the load balancer.

  • ServerCertificateId: (optional) The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see Resource Identifiers > OUTSCALE Resource Names (ORNs). If this parameter is specified, you must also specify the LoadBalancerPort parameter.

The UpdateLoadBalancer command returns the following elements:

  • LoadBalancer: Information about the load balancer.

    • AccessLog: Information about access logs.

      • IsEnabled: If true, access logs are enabled for your load balancer. If false, they are not. If you set this to true in your request, the OsuBucketName parameter is required.

      • OsuBucketName: The name of the OOS bucket for the access logs.

      • OsuBucketPrefix: The path to the folder of the access logs in your OOS bucket (by default, the root level of your bucket).

      • PublicationInterval: The time interval for the publication of access logs in the OOS bucket, in minutes. This value can be either 5 or 60 (by default, 60).

    • ApplicationStickyCookiePolicies: The stickiness policies defined for the load balancer.

      • CookieName: The name of the application cookie used for stickiness.

      • PolicyName: The mnemonic name for the policy being created. The name must be unique within a set of policies for this load balancer.

    • BackendIps: One or more public IPs of backend VMs.

    • BackendVmIds: One or more IDs of backend VMs for the load balancer.

    • DnsName: The DNS name of the load balancer.

    • HealthCheck: Information about the health check configuration.

      • CheckInterval: The number of seconds between two requests (between 5 and 600 both included).

      • HealthyThreshold: The number of consecutive successful requests before considering the VM as healthy (between 2 and 10 both included).

      • Path: If you use the HTTP or HTTPS protocols, the request URL path.

      • Port: The port number (between 1 and 65535, both included).

      • Protocol: The protocol for the URL of the VM (HTTP | HTTPS | TCP | SSL).

      • Timeout: The maximum waiting time for a response before considering the VM as unhealthy, in seconds (between 2 and 60 both included).

      • UnhealthyThreshold: The number of consecutive failed requests before considering the VM as unhealthy (between 2 and 10 both included).

    • Listeners: The listeners for the load balancer.

      • BackendPort: The port on which the backend VM is listening (between 1 and 65535, both included).

      • BackendProtocol: The protocol for routing traffic to backend VMs (HTTP | HTTPS | TCP | SSL).

      • LoadBalancerPort: The port on which the load balancer is listening (between 1 and 65535, both included).

      • LoadBalancerProtocol: The routing protocol (HTTP | HTTPS | TCP | SSL).

      • PolicyNames: The names of the policies. If there are no policies enabled, the list is empty.

      • ServerCertificateId: The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see Resource Identifiers > OUTSCALE Resource Names (ORNs).

    • LoadBalancerName: The name of the load balancer.

    • LoadBalancerStickyCookiePolicies: The policies defined for the load balancer.

      • CookieExpirationPeriod: The time period, in seconds, after which the cookie should be considered stale.
        If 1, the stickiness session lasts for the duration of the browser session.

      • PolicyName: The name of the stickiness policy.

    • LoadBalancerType: The type of load balancer. Valid only for load balancers in a Net.
      If LoadBalancerType is internet-facing, the load balancer has a public DNS name that resolves to a public IP.
      If LoadBalancerType is internal, the load balancer has a public DNS name that resolves to a private IP.

    • NetId: The ID of the Net for the load balancer.

    • PublicIp: (internet-facing only) The public IP associated with the load balancer.

    • SecuredCookies: Whether secure cookies are enabled for the load balancer.

    • SecurityGroups: One or more IDs of security groups for the load balancers. Valid only for load balancers in a Net.

    • SourceSecurityGroup: Information about the source security group of the load balancer, which you can use as part of your inbound rules for your registered VMs.
      To only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.

      • SecurityGroupAccountId: The account ID of the owner of the security group.

      • SecurityGroupName: The name of the security group.

    • Subnets: The ID of the Subnet in which the load balancer was created.

    • SubregionNames: The ID of the Subregion in which the load balancer was created.

    • Tags: One or more tags associated with the load balancer.

      • Key: The key of the tag, with a minimum of 1 character.

      • Value: The value of the tag, between 0 and 255 characters.

  • ResponseContext: Information about the context of the response.

    • RequestId: The ID of the request.

Result sample: Updating health checks
{
  "ResponseContext": {
    "RequestId": "0475ca1e-d0c5-441d-712a-da55a4175157"
  },
  "LoadBalancer": {
    "Tags": [],
    "SourceSecurityGroup": {
      "SecurityGroupName": "security-group-example",
      "SecurityGroupAccountId": "123456789012"
    },
    "SecuredCookies": false,
    "PublicIp": "192.0.2.0",
    "Subnets": [
      "subnet-12345678"
    ],
    "NetId": "vpc-12345678",
    "BackendVmIds": [],
    "ApplicationStickyCookiePolicies": [],
    "SecurityGroups": [
      "sg-12345678"
    ],
    "LoadBalancerType": "internet-facing",
    "AccessLog": {
      "PublicationInterval": 60,
      "IsEnabled": false
    },
    "DnsName": "private-lb-example.123456789.eu-west-2.lbu.outscale.com",
    "HealthCheck": {
      "UnhealthyThreshold": 5,
      "Timeout": 5,
      "CheckInterval": 30,
      "Path": "/index.html",
      "Protocol": "HTTPS",
      "HealthyThreshold": 10,
      "Port": 8080
    },
    "LoadBalancerStickyCookiePolicies": [],
    "SubregionNames": [
      "eu-west-2a"
    ],
    "Listeners": [
      {
        "ServerCertificateId": "orn:ows:idauth::012345678910:server-certificate/Certificate",
        "BackendPort": 80,
        "BackendProtocol": "HTTP",
        "LoadBalancerPort": 443,
        "LoadBalancerProtocol": "HTTPS"
      }
    ],
    "LoadBalancerName": "private-lb-example"
  }
}
Result sample: Updating access logs
{
  "ResponseContext": {
    "RequestId": "0475ca1e-d0c5-441d-712a-da55a4175157"
  },
  "LoadBalancer": {
    "Tags": [],
    "SourceSecurityGroup": {
      "SecurityGroupName": "security-group-example",
      "SecurityGroupAccountId": "123456789012"
    },
    "SecuredCookies": false,
    "PublicIp": "192.0.2.0",
    "Subnets": [
      "subnet-12345678"
    ],
    "NetId": "vpc-12345678",
    "BackendVmIds": [],
    "ApplicationStickyCookiePolicies": [],
    "SecurityGroups": [
      "sg-12345678"
    ],
    "LoadBalancerType": "internet-facing",
    "AccessLog": {
      "PublicationInterval": 5,
      "OsuBucketPrefix": "PREFIX",
      "OsuBucketName": "BUCKET",
      "IsEnabled": true
    },
    "DnsName": "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": [
      {
        "ServerCertificateId": "orn:ows:idauth::012345678910:server-certificate/Certificate",
        "BackendPort": 80,
        "BackendProtocol": "HTTP",
        "LoadBalancerPort": 443,
        "LoadBalancerProtocol": "HTTPS"
      }
    ],
    "LoadBalancerName": "private-lb-example"
  }
}
Result sample: Updating policies
{
  "ResponseContext": {
    "RequestId": "0475ca1e-d0c5-441d-712a-da55a4175157"
  },
  "LoadBalancer": {
    "Tags": [],
    "SourceSecurityGroup": {
      "SecurityGroupName": "security-group-example",
      "SecurityGroupAccountId": "123456789012"
    },
    "SecuredCookies": false,
    "PublicIp": "192.0.2.0",
    "Subnets": [
      "subnet-12345678"
    ],
    "NetId": "vpc-12345678",
    "BackendVmIds": [],
    "ApplicationStickyCookiePolicies": [],
    "SecurityGroups": [
      "sg-12345678"
    ],
    "LoadBalancerType": "internet-facing",
    "AccessLog": {
      "PublicationInterval": 60,
      "IsEnabled": false
    },
    "DnsName": "private-lb-example.123456789.eu-west-2.lbu.outscale.com",
    "HealthCheck": {
      "UnhealthyThreshold": 2,
      "Timeout": 5,
      "CheckInterval": 30,
      "Protocol": "TCP",
      "HealthyThreshold": 10,
      "Port": 80
    },
    "LoadBalancerStickyCookiePolicies": [
      {
        "PolicyName": "example-browser-policy",
        "CookieExpirationPeriod": 1
      }
    ],
    "SubregionNames": [
      "eu-west-2a"
    ],
    "Listeners": [
      {
        "ServerCertificateId": "orn:ows:idauth::012345678910:server-certificate/Certificate",
        "BackendPort": 80,
        "BackendProtocol": "HTTP",
        "LoadBalancerPort": 443,
        "LoadBalancerProtocol": "HTTPS"
      }
    ],
    "LoadBalancerName": "private-lb-example"
  }
}
Result sample: Updating SSL certificate
{
  "ResponseContext": {
    "RequestId": "0475ca1e-d0c5-441d-712a-da55a4175157"
  },
  "LoadBalancer": {
    "Tags": [],
    "SourceSecurityGroup": {
      "SecurityGroupName": "security-group-example",
      "SecurityGroupAccountId": "123456789012"
    },
    "SecuredCookies": false,
    "PublicIp": "192.0.2.0",
    "Subnets": [
      "subnet-12345678"
    ],
    "NetId": "vpc-12345678",
    "BackendVmIds": [],
    "ApplicationStickyCookiePolicies": [],
    "SecurityGroups": [
      "sg-12345678"
    ],
    "LoadBalancerType": "internet-facing",
    "AccessLog": {
      "PublicationInterval": 60,
      "IsEnabled": false
    },
    "DnsName": "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": [
      {
        "ServerCertificateId": "orn:ows:idauth::012345678910:server-certificate/AnotherCertificate",
        "BackendPort": 80,
        "BackendProtocol": "HTTP",
        "LoadBalancerPort": 443,
        "LoadBalancerProtocol": "HTTPS"
      }
    ],
    "LoadBalancerName": "private-lb-example"
  }
}

Modifier les attributs d’un load balancer avec AWS CLI

Pour modifier les attributs de votre load balancer, utilisez la commande modify-load-balancer-attributes en suivant cette syntaxe :

Exemple de requête
$ aws elb modify-load-balancer-attributes \
    --profile YOUR_PROFILE \
    --load-balancer-name LOAD_BALANCER_NAME \
    --load-balancer-attributes "{ \
                                 \"AccessLog\": \
                                             { \
                                              \"Enabled\": true, \
                                              \"S3BucketName\": \"BUCKET_NAME\", \
                                              \"EmitInterval\": 60, \
                                              \"S3BucketPrefix\": \"BUCKET_PREFIX\" \
                                             }, \
                                \"AdditionalAttributes\": \
                                            { \
                                             \"Key\": \"SecuredCookies\", \
                                             \"Value\": \"true\" \
                                            }, \
                                \"ConnectionDraining\": \
                                            { \
                                             \"Enabled\": true, \
                                             \"Timeout\": 20 \
                                            }, \
                                \"ConnectionSettings\": \
                                            { \
                                             \"IdleTimeout\": 60 \
                                            } \
                               }" \
    --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 dont vous voulez modifier les attributs.

  • load-balancer-attributes : Les attributs du load balancer que vous voulez modifier. Les attributs suivants sont disponibles :

    • (optionnel) AccessLog : Informations sur la publication des access logs. Cet élément contient les attributs suivants que vous devez spécifier :

      • Enabled : Si true, les access logs sont activés pour le load balancer spécifié. Si false, ils ne le sont pas.

        Si vous activez les access logs, vous devez spécifier l’attribut S3BucketName ci-dessous.

      • (optionnel) S3BucketName : Le nom du bucket OOS dans lequel publier les access logs. Pour en savoir plus, voir À propos d’OOS.

      • (optionnel) EmitInterval : L’intervalle de temps pour la publication des access logs dans le bucket OOS, en minutes. Cette valeur peut être 5 ou 60 (par défaut, 60).

      • (optionnel) S3BucketPrefix : Le chemin d’accès au répertoire dans votre bucket OOS dans lequel publier les access logs (par défaut, au niveau root du bucket).

    • (optionnel) ConnectionDraining : Informations sur le drainage des connexions défectueuses ou désenregistrées.

      • Enabled : Si true, le drainage des connexions est activé pour votre load balancer. Dans ce cas, les requêtes existantes sont traitées avant la fermeture des connexions. Si false, il n’est pas activé (false par défaut).

      • (optionnel) Timeout : La durée maximum en secondes durant laquelle le load balancer laisse les connexions ouvertes avant de désenregistrer les instances (par défaut, 20).

    • (optionnel) ConnectionSettings : Informations sur le délai d’inactivité des connexions.

      • IdleTimeout : La durée d’inactivité de la connexion en secondes, c’est-à-dire qu’aucune donnée n’est envoyée, avant sa fermeture par le load balancer. Par défaut, 30 pour les connexions frontend et 60 pour les connexions backend de votre load balancer.

        Si vous paramétrez une nouvelle valeur, celle-ci sera appliquée à la fois aux connexions frontend et backend.

  • (optionnel) AdditionalAttributes : Informations sur les attributs additionnels des load balancers, comme par exemple les cookies sécurisés.

    • Key : Le nom de l’attribut. Vous pouvez configurer les cookies sécurisés pour vos load balancers avec SecuredCookies.

    • Value : La valeur de l’attribut. Si le nom de l’attribut est SecuredCookies, donnez la valeur true pour activer les cookies sécurisés et false pour les désactiver.

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

La commande modify-load-balancer-attributes renvoie les éléments suivants :

  • LoadBalancerName : Le nom du load balancer.

  • LoadBalancerAttributes : Informations sur le load balancer modifié. Cet élément contient les informations suivantes :

    • AccessLog : Informations sur la publication des access logs. Cet élément contient les informations suivantes :

      • Enabled : Si true, les access logs sont activés pour le load balancer spécifié. Si false, ils ne le sont pas.

      • S3BucketName : Le nom du bucket OOS dans lequel les access logs sont publiés. Pour en savoir plus, voir À propos d’OOS.

      • EmitInterval : L’intervalle de temps pour la publication des access logs dans le bucket OOS, en minutes. Cette valeur peut être 5 ou 60 (par défaut, 60).

      • S3BucketPrefix : Le chemin d’accès au répertoire dans votre bucket OOS dans lequel les access logs sont publiés (par défaut, le niveau root du bucket).

    • ConnectionDraining : Informations sur le drainage des connexions. Cet élément contient les informations suivantes :

      • Enabled : Si true, le drainage de connexion est activé pour votre load balancer. Si false, il ne l’est pas.

      • Timeout : La durée maximum en secondes durant laquelle le load balancer laisse les connexions ouvertes avant de désenregistrer les instances.

    • ConnectionSettings : Informations sur le délai d’inactivité des connexions. Cet élément contient les informations suivantes :

      • IdleTimeout : La durée d’inactivité de la connexion en secondes avant sa fermeture par le load balancer.

    • AdditionalAttributes : Informations sur les attributs additionnels des load balancers. Cet élément contient les informations suivantes :

      • Key : Le nom de l’attribut, par exemple secured_cookies.

      • Value : La valeur de l’attribut. Si le nom de l’attribut est secured_cookies et sa valeur est true, les cookies sécurisés sont activés. Si false, ils sont désactivés.

Exemple de résultat
{
    "LoadBalancerName": LOAD_BALANCER_NAME,
    "LoadBalancerAttributes": {
        "AccessLog": {
            "Enabled": true,
            "S3BucketName": "BUCKET_NAME",
            "EmitInterval": 60,
            "S3BucketPrefix": "BUCKET_PREFIX"
        },
        "AdditionalAttributes": {
            "member": {
                "Key": "secured_cookies",
                "Value": "true"
            }
        },
        "ConnectionDraining": {
            "Enabled": true,
            "Timeout": 20
        },
        "ConnectionSettings": {
            "IdleTimeout": 60
        }
    }
}

Les attributs du load balancer spécifié sont modifiés.

Après la désactivation des access logs, les fichiers logs existants restent dans le bucket OOS jusqu’à ce que vous les supprimiez. Pour en savoir plus, voir Supprimer les objets d’un bucket.

Pages connexes

Méthode API correspondante

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.