Components and Sizing Recommendations
Prerequisites
Ensure that following tools and resources are installed and available:- A running Amazon EKS cluster with at least 2 worker nodes. ( Best Practice: Use 2 nodes, with 1 node in each Availability Zone, to ensure high availability.)
- AWS CLI
- Kubectl
- Helm (v3 or above)
- eksctl
Create a Strata Cloud Manager account
- Go to the the AI Gateway website.
- Sign up for a Strata Cloud Manager account.
- Once logged in, locate and save your
Organisation IDfor future reference. You can find it in the browser URL:https://stratacloudmanager.paloaltonetworks.com/<organisation_id>/ - Contact the Palo Alto Networks team and provide your Organisation ID and the email address used during signup.
- The Palo Alto Networks team will share the following information with you:
- Docker credentials for the Gateway images (username and password).
- License: Client Auth Key.
Setup Project Environment
Image Credentials Configuration
Configure Components
Based on the choice of components and their configuration update thevalues.yaml.
MCP Gateway (Optional)
By default, only the AI Gateway is enabled in the deployment. To enable the MCP Gateway, add the following configuration tovalues.yaml:
MCP_GATEWAY_BASE_URLmust include the protocol prefix — eitherhttp://orhttps://.- This value is not required for the initial deployment. After the first deployment, once the MCP Load Balancer is provisioned and a hostname is mapped to the MCP Service, set this value and redeploy.
""(empty or not provided): Deploys only the AI Gateway. This is the default configuration."mcp": Deploys only the MCP Gateway."all": Deploys both the AI Gateway and MCP Gateway.
Cache Store
The AI Gateway deployment includes a Redis instance pre-installed by default. You can either use this built-in Redis or connect to an external cache likeAmazon ElastiCache for Redis OSS or Valkey.
Built-in Redis
No additional permissions or network configurations are required.Amazon ElastiCache
To enable the gateway to work with an ElastiCache cache, ensure that an inbound rule is configured in ElastiCache’s Security Group allowing access from the EKS cluster on the required port.- No Auth
- Auth Token
- IRSA
- EKS Pod Identity
Log Store
Amazon S3
- Create an Amazon S3 bucket for storing LLM access logs.
-
Set up access to the log store. The Gateway supports the following methods for connecting to S3 bucket for log storage:
- IAM Roles for Service Accounts (IRSA)
- EKS Pod Identity
values.yamlwith the following configuration.- IRSA
- EKS Pod Identity
-
(Optional) Configure log path format using
LOG_STORE_FILE_PATH_FORMAT. See Log Object Path Format for details.
Data Service (Optional)
The Data Service is a component of the AI Gateway deployment responsible for batch processing, fine-tuning, and log exports. To enable Data Service, add the following configuration to thevalues.yaml file.
Network Configuration
Set Up External Access
To make the Gateway service accessible externally, you can set up either of the following:- AWS Application Load Balancer with Kubernetes
Ingress - AWS Network Load Balancer with Kubernetes
Service
- VPC and subnet tagging requirements
- Installed and running AWS Load Balancer Controller. For Load Balancer Controller installation details, refer to the AWS documentation.
AWS Application Load Balancer
To create Application Load Balancer Ingress update thevalues.yaml file with following configuration:
SERVER_MODE is set to all (i.e., both AI Gateway and MCP Gateway are enabled), you must enable host-based routing by setting hostBased to true and provide the hostname on which the AI Gateway and MCP Gateway will be accessible.
Load Balancer Controller provides additional annotations (like TLS, custom health checks etc ) for managing ALB. For a comprehensive list of available annotations, refer to the AWS Load Balancer Controller documentation.
AWS Network Load Balancer
To create Network Balancer update thevalues.yaml with following configuration:
service.containerPort must be same as environment.data.PORT.
Load Balancer Controller provides additional annotations (like TLS, custom health checks etc ) for managing NLB. For a comprehensive list of available annotations, refer to the AWS Load Balancer Controller documentation.
Deploying AI Gateway
Verify the deployment
To confirm that the deployment was successful, follow these steps:- Verify that all pods are running correctly.
-
Test Gateway by sending a cURL request.
- Port-forward the Gateway pod
- Once port forwarding is active, open a new terminal window or tab and send a test request by running:
- Test gateway service integration with Load Balancer.
Integrating Gateway with Management Plane
Outbound Connectivity (Data Plane to Management Plane) The Data Plane integrates with the Management Plane over the internet. Ensure Outbound Network Access By default, Kubernetes allows full outbound access, but if your cluster has NetworkPolicies that restrict egress, configure them to allow outbound traffic. Example NetworkPolicy for Outbound Access:Over the Internet
Ensure Gateway has access to following endpoints over the internet.https://aigw.portkey.aihttps://albus.portkey.ai
Inbound Connectivity (Management Plane to Data Plane)
IP Whitelisting
Allows management plane to access the Data Plane over the internet by restricting inbound traffic to specific IP address of Management Plane. This method requires the Data Plane to have a publicly accessible endpoint. To whitelist, add an inbound rule to the Load Balancer’s security group allowing connections from the AI Gateway Management Plane’s IPs on NLB listener port. Contact the Palo Alto Networks team for the current address list. To integrate the Management Plane with the Data Plane, contact the Palo Alto Networks team and provide the Public Endpoint of the Data Plane.Verifying Gateway Integration with the Management Plane
- Send a test request to Gateway using
curl. - Go to the AI Gateway website -> Logs.
- Verify that the test request appears in the logs and that you can view its full details by selecting the log entry.
Uninstalling AI Gateway
Setting up IAM Permission
Follow the steps below to configure permissions based on your chosen access method.Create IAM Role
- IRSA
- EKS Pod Identity
- Specify the details:
- Create a trust policy and IAM role.
values.yaml.Attach Permissions to IAM Role
Once the IAM role is created using either method above, attach the required policies based on the AWS services your gateway needs to access.Amazon S3
To allow the AI Gateway to access Amazon S3 for log storage, attach the following policy to the IAM role.Amazon ElastiCache (Optional)
To allow the AI Gateway to authenticate with Amazon ElastiCache using IAM, attach the following policy to the IAM role.Amazon Bedrock (Optional)
To allow the AI Gateway to invoke Amazon Bedrock models, attach the following policy to the IAM role.Google Vertex AI via Workload Identity Federation (Optional)
To allow the AI Gateway running on AWS EKS to invoke Google Vertex AI models, you can use GCP Workload Identity Federation. This enables the Gateway’s AWS IAM role to authenticate directly with Google Cloud without requiring static GCP service account keys.This section requires the IAM role created in the steps above (via IRSA or EKS Pod Identity). The IAM role ARN will be used as the trusted identity in the GCP Workload Identity Federation pool.
-
Log in to Google Cloud and set the target project.
-
Create a Workload Identity Pool in your GCP project.
-
Add an AWS IAM provider to the Workload Identity Pool.
-
Configure attribute mapping on the AWS IAM provider.
-
Restrict access to a specific AWS IAM role by adding an attribute condition.
-
Retrieve the full Workload Identity Federation audience. Make a note of this value — it will be required when configuring the Gateway’s
values.yaml. -
Grant Vertex AI access using one of the following methods:
- Direct Access
- Service Account Impersonation
Grant the Vertex AI User role directly to the federated identity.
Examples
Built-in Redis The following samplevalues.yaml below shows how to configure the built-in Redis cache and Amazon S3 log store using IRSA.
values.yaml shows how to configure Amazon ElastiCache with IAM authentication, and Amazon S3 for log storage using IRSA.
values.yaml shows how to configure Amazon ElastiCache with auth token, Amazon S3 for log storage using EKS Pod Identity, and an Application Load Balancer.
values.yaml shows how to deploy both AI Gateway and MCP Gateway with host-based routing using an Application Load Balancer, built-in Redis, and IRSA for S3.

