When integrating Assets Server with Studio Server in an Amazon AWS environment, load balancers can optionally be used.
Various ways of doing this exist. To help in setting up the environment, this article provides information to determine the following:
- If Sticky Sessions should be enabled
- If the AWS Classic Load Balancer (CLB) and/or the AWS Application Load Balancer (ALB) are supported
Before you start
The information in this article can only be used when all of the following applies to your environment:
- Assets Server and Studio Server are set up in Amazon Web Services (AWS).
- Assets Server and Studio Server both have a load balancer set up; either the Classic Load Balancer or the Application Load Balancer.
- The Assets Server setup consists of multiple nodes.
- The Studio Server setup consists of multiple Application Servers that are connected to one database.
The following table shows a summary of this information. For more details, see the sections below.
|Sticky Sessions||Recommended but not required||Only required when also set up for the
Assets Server load balancer
|CLB and ALB support||
CLB and ALB
|CLB and ALB|
For the Assets Server load balancer, enabling Sticky Sessions is recommended but not required.
For the Studio Server load balancer, enabling Sticky Sessions is only required when it has also been set up for the Assets Server load balancer.
- Assets Server works with JWT tokens which can be validated by any node without the help of cached session data. This means that technically sessions do not have to be sticky.
However, data is also cached locally by the nodes to work more efficiently. When one node serves a request it will set up cached data for the session. When this data is not present, it will be retrieved.
Because this process takes a little time it could be more efficient to enable the Sticky Session option for the Assets Server load balancer.
Access tokens are used which automatically expire. Once expired, Studio Server requests a new access token by using the client secret and ID. It impersonates the connection with the acting user of Studio or Studio for InDesign (if the user is unknown to Assets Server, a configured fallback user is used). The access token is stored in the Studio Server database.
Each Studio Server can take the access token from the database and set up an authorized connection to Assets Server.
For this reason, Sticky Sessions are not required.
Note: When you have decided to enable Sticky sessions for the Assets Server load balancer, it should also be enabled for the Studio Server load balancer to create a fixed route from Studio or Studio for InDesign over Studio Server to Assets Server. If Sticky Sessions are not set up for the Assets Server load balancer then it is not required for the Studio Server load balancer either.
CLB and ALB support
For the Assets Server load balancer:
- Use ALB
For the Studio Server load balancer:
- Both CLB and ALB are supported.
Assets Agent (used for efficiently checking out files in their native application) makes use of WebSockets. Support for WebSockets is available in ALB but not in CLB.
- 28 May 2020: Replaced references of 'ELB' to 'CLB'.
- 28 May 2020: Added a link to the comparison of Load Balancers from AWS.