Generates a stickiness policy with sticky session lifetimes controlled by the lifetime of the browser (user-agent) or a specified expiration period. This policy can be associated only with HTTP/HTTPS listeners.

When a LoadBalancer implements this policy, the LoadBalancer uses a special cookie to track the backend server instance for each request. When the LoadBalancer receives a request, it first checks to see if this cookie is present in the request. If so, the LoadBalancer sends the request to the application server specified in the cookie. If not, the LoadBalancer sends the request to a server that is chosen based on the existing load balancing algorithm.

A cookie is inserted into the response for binding subsequent requests from the same user to that server. The validity of the cookie is based on the cookie expiration time, which is specified in the policy configuration.

Access

public

Parameters

Parameter

Type

Required

Description

$load_balancer_name

string

Required

The name associated with the LoadBalancer. The name must be unique within the client AWS account.

$policy_name

string

Required

The name of the policy being created. The name must be unique within the set of policies for this LoadBalancer.

$opt

array

Optional

An associative array of parameters that can have the following keys:

  • CookieExpirationPeriod - long - Optional - The time period in seconds after which the cookie should be considered stale. Not specifying this parameter indicates that the sticky session will last for the duration of the browser session.
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.

Returns

Type

Description

CFResponse

A CFResponse object containing a parsed HTTP response.

Examples

Create a new load balancer cookie stickiness policy.

To assign a policy to a load balancer, you must:

  1. Create a policy using either create_app_cookie_stickiness_policy() or create_lb_cookie_stickiness_policy().
  2. Assign the policy to the load balancer with set_load_balancer_policies_of_listener().
  3. Remove them with delete_load_balancer_policy().
$elb = new AmazonELB();

$response = $elb->create_lb_cookie_stickiness_policy('my-load-balancer', 'lb-cookie-policy');

// Success?
var_dump($response->isOK());
Result:
bool(true)

Related Methods

Source

Method defined in services/elb.class.php | Toggle source view (8 lines) | View on GitHub

public function create_lb_cookie_stickiness_policy($load_balancer_name, $policy_name, $opt = null)
{
    if (!$opt) $opt = array();
    $opt['LoadBalancerName'] = $load_balancer_name;
    $opt['PolicyName'] = $policy_name;
    
    return $this->authenticate('CreateLBCookieStickinessPolicy', $opt);
}

Copyright © 2010–2013 Amazon Web Services, LLC


Feedback