Reference documentation and code samples for the Compute Engine v1 API enum BackendService.Types.SessionAffinity.
Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: Session Affinity.
2-tuple hash on packet's source and destination IP addresses. Connections from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy.
ClientIpNoDestination
1-tuple hash only on packet's source IP address. Connections from the same source IP address will be served by the same backend VM while that VM remains healthy. This option can only be used for Internal TCP/UDP Load Balancing.
ClientIpPortProto
5-tuple hash on packet's source and destination IP addresses, IP protocol, and source and destination ports. Connections for the same IP protocol from the same source IP address and port to the same destination IP address and port will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.
ClientIpProto
3-tuple hash on packet's source and destination IP addresses, and IP protocol. Connections for the same IP protocol from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.
GeneratedCookie
Hash based on a cookie generated by the L7 loadbalancer. Only valid for HTTP(S) load balancing.
HeaderField
The hash is based on a user specified header field.
HttpCookie
The hash is based on a user provided cookie.
None
No session affinity. Connections from the same client IP may go to any instance in the pool.
StrongCookieAffinity
Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired.
UndefinedSessionAffinity
A value indicating that the enum field is not set.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-08 UTC."],[[["\u003cp\u003eThis document provides reference information for the \u003ccode\u003eBackendService.Types.SessionAffinity\u003c/code\u003e enum within the Google Compute Engine v1 API, covering versions from 1.0.0 to 3.6.0, with 3.6.0 being the latest.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSessionAffinity\u003c/code\u003e enum defines different methods for directing client connections to specific backend virtual machines (VMs) in a load-balanced environment, such as using client IP addresses, ports, protocols, or cookies.\u003c/p\u003e\n"],["\u003cp\u003eThe supported session affinity types include \u003ccode\u003eClientIp\u003c/code\u003e, \u003ccode\u003eClientIpNoDestination\u003c/code\u003e, \u003ccode\u003eClientIpPortProto\u003c/code\u003e, \u003ccode\u003eClientIpProto\u003c/code\u003e, \u003ccode\u003eGeneratedCookie\u003c/code\u003e, \u003ccode\u003eHeaderField\u003c/code\u003e, \u003ccode\u003eHttpCookie\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, and \u003ccode\u003eStrongCookieAffinity\u003c/code\u003e, each catering to different load balancing scenarios.\u003c/p\u003e\n"],["\u003cp\u003eCertain affinity types, like \u003ccode\u003eClientIpPortProto\u003c/code\u003e and \u003ccode\u003eClientIpProto\u003c/code\u003e, cannot be used with HTTP(S) load balancing, and only \u003ccode\u003eNONE\u003c/code\u003e and \u003ccode\u003eHEADER_FIELD\u003c/code\u003e are supported when a backend service is used by a URL map bound to a target gRPC proxy with \u003ccode\u003evalidateForProxyless\u003c/code\u003e set to true.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eUndefinedSessionAffinity\u003c/code\u003e field indicates when an enum field has not been assigned a value.\u003c/p\u003e\n"]]],[],null,[]]