: Enable Session Resiliency on VM-Series for AWS
Focus
Focus

Enable Session Resiliency on VM-Series for AWS

Table of Contents

Enable Session Resiliency on VM-Series for AWS

Learn how to enable session resiliency for the VM-Series firewall deployed in AWS.
Session resiliency allows the VM-Series firewall to maintain session continuity during a failure event. The AWS Gateway Load Balancer (GWLB) a can detect and deregister unhealthy VM-Series firewalls deployed in a horizontally scalable cluster behind the GWLB. With session resiliency enabled, the GWLB can rehash existing traffic sessions flowing toward an unhealthy VM-Series and redirect the traffic to a healthy VM-Series firewall.
To maintain sessions failing over to healthy VM-Series firewalls, you must deploy a Redis cache accessible to your VM-Series firewalls— ElastiCache for Redis for AWS. The Redis cache maintains session information. When your load balancer detects an unhealthy VM-Series firewall, the load balancer rebalances traffic to a healthy VM-Series firewall. The healthy VM-Series firewall accesses the Redis cache for session information and continues to inspect and forward the existing traffic.
Your load balancer must meet the following requirements to support session resiliency.
  • Your load balancer must be a Gateway Load Balancer.
  • You must set Rebalance Existing Flow to On to allow the GWLB to rehash existing flows. See the AWS documentation for more information.
Your ElastiCache for Redis instance must meet the following requirements to support session resiliency on the VM-Series firewall.
  • Standard tier
  • Deploy the Redis cache in the same region as your VM-Series firewall instances.
    It is recommended to have your ElastiCache for Redis instance in the same zone as the VM-Series firewall to reduce latency of a failover. However, this is not required.
  • Enable In-Transit Encryption to encrypt connections to Redis cache using TLS.
  • Ensure that your firewall management interface will be able to access your ElastiCache instance. For example, have both devices in the same VPC.
When sizing your Memorystore for Redis, use the following guidelines.
  • Base the size of Redis cache on the maximum number of sessions supported by your VM-Series firewall instance. See Maximum Limits Based on Tier and Memory to the maximum sessions for your firewall.
  • Each redis entry per session uses approximately 128 bytes. Therefore, one VM-Series firewall that supports 10,000,000 sessions requires approximately 1.3 GB of storage. And a cluster of 10 VM-Series firewalls requires at least 13 GB.
  • Use the following formula to calculate the redis requirements.
    (128 x <number of sessions>) x 10-9 = require redis cache size per firewall
Before enabling session resiliency, review the AWS blog about Target Failover for Existing Traffic Flows.
Session resiliency can't be enabled on existing VM-Series firewall instances; only on newly deployed instances.
Enable session resiliency on the VM-Series firewall by passing the configuration as part of a bootstrapping init-cfg.txt file or in the user data field. Before you begin, make sure you have the following information.
FieldDescription
op-command-modes=mgmt-interface-swapAllows you to swap the management interface (MGT) with the dataplane interface (ethernet 1/1) when deploying the firewall. For details, see Management Interface Mapping for Use with Amazon ELB.
plugin-op-commands=
  1. set-sess-ress:True
  2. aws-gwlb-inspect:enable
  1. Enables session resiliency.
  2. Enables the VM-Series firewall to process traffic passing through a GWLB.
redis-endpoint=Provide the IP address or FQDN and port of your ElastiCache Redis endpoint.
redis-auth=(optional) The auth code your VM-Series firewall uses to connect with the Redis endpoint.
  1. Deploy your ElastiCache for Redis instance.
  2. Prepare your bootstrap files.
    op-command-modes=mgmt-interface-swap plugin-op-commands=set-sess-ress:True, aws-gwlb-inspect:enable redis-endpoint=<redis-IP-address:port> redis-auth=<redis-auth-code>