2 Answers
For option A, NLB is layer 4 load balancer; I think you have to use layer 7 LB in order to use sticky cookies. ELB uses the DNS round robin to connect user requests to different LB nodes. if you don’t have the cross zone load balance enabled, and resolver cached DNS queries, user reuqests may favor one AZ or the other. You can enable cross zone load balance to mitigate the impact of DNS caching.
Adding to vault0109’s answer, there’s a great description of Cross-Zone Load Balancing on the page How Elastic Load Balancing Works. Specifically:
When cross-zone load balancing is enabled, each load balancer node distributes traffic across the registered targets in all enabled Availability Zones.
When cross-zone load balancing is disabled, each load balancer node distributes traffic across the registered targets in its Availability Zone only.
And yes; Cross-Zone Load Balancing is a feature that AWS doesn’t describe very well. Hope this clarifies that question a little!