Skip to main content
Version: Current

AWS EKS Deployment Prerequisites

Prepare infrastructure separately for Staging and Production. The overview defines deployment scope and responsibilities. The installation steps use the supplied scripts and configuration templates.

Application capacity and compute​

Size the AICC deployment according to the number of agents used, automation frequency, concurrent executions, and agent complexity. One automation represents one agent execution. Small, Medium, and Large describe workload profiles rather than fixed agent-count or execution limits.

Deployment sizeTypical workload profile
SmallAn initial deployment with a limited set of agents, less frequent automation, and low concurrent execution.
MediumA growing deployment with more active agents, more frequent automation, or greater concurrency and workload complexity.
LargeA deployment with sustained high automation activity, substantial concurrent execution, or resource-intensive agents.

For modest initial usage, plan for a Small workload and validate the required container resources in Staging. Increase capacity as you add agents, run automations more frequently, or need greater concurrency. Multiple conversational agents running in parallel can require additional resources even with relatively few agents. If the expected workload is demanding from the outset, provision accordingly before Production.

The following tables provide aggregate AICC application capacity starting points for each workload profile. The figures use the application-server values in the AICC system requirements as planning estimates; they are not benchmark-validated Kubernetes capacity guarantees. Validate the selected configuration with representative workloads in Staging before Production use.

Small deployment​

ResourceMinimum planning estimateRecommended planning estimate
CPU4 cores, 2 GHz or faster6 cores, 2.5 GHz or faster
RAM8 GB12 GB
Application disk50 GB100 GB
Network1 Gbps1 Gbps

Medium deployment​

ResourceMinimum planning estimateRecommended planning estimate
CPU8 cores, 2.5 GHz or faster12 cores, 2.5 GHz or faster
RAM16 GB24 GB
Application disk100 GB250 GB
Network1 Gbps1 Gbps

Large deployment​

ResourceMinimum planning estimateRecommended planning estimate
CPU16 cores, 2.5 GHz or faster20 cores, 2.5 GHz or faster
RAM32 GB64 GB
Application disk250 GB500 GB
Network1 Gbps1 Gbps

Apply the capacity estimates​

Use the selected profile separately for each environment; Staging and Production may have different workload profiles. The estimates exclude Kubernetes overhead, databases, and other supporting infrastructure, including separate ingestion dependencies. Add capacity for those resources when planning the deployment. Application disk figures are storage planning estimates, not per-node disk requirements or PVC sizes.

These figures do not specify node sizes, container resource requests or limits, or replica counts. Monitor CPU, memory, execution times, queued work, database performance, concurrent voice sessions, and storage growth to determine when more capacity is needed. Follow the capacity and scaling guidance when adjusting resources; increasing service replicas requires validation of the service's supported scaling behavior.

The license file separately controls the permitted numbers of Server Agents and Local Agents. License limits do not establish infrastructure capacity. Local Agent execution requires separate Windows infrastructure outside this EKS deployment, as described in the deployment scope.

Use Linux amd64 (x86_64) worker nodes; ARM/Graviton application nodes are not supported by the supplied images. Two or more Ready nodes are recommended. Set CPU/memory requests and limits for each applicable service; application allocations are not supplied by default. Multiple nodes alone do not provide application high availability, and bundled Redis remains a single replica.

Infrastructure checklist​

RequirementPreparation
EKSOperational cluster, suitable nodes, cluster access and workload-management permissions
ECRRepositories for six application images, Redis, and the OCI Helm chart; import/push rights and node pull access
ALBAWS Load Balancer Controller with required AWS permissions and appropriate subnet/security-group configuration
DNS and TLSEnvironment hostname and an Issued ACM certificate covering it in the ALB region
EFSEncrypted file system, mount targets in worker-node Availability Zones, TCP 2049 access, EFS CSI driver and controller IAM permissions
StorageClassefs.csi.aws.com, access-point provisioning, UID/GID 10001, reclaim policy Retain
SecretsIndependent master key per environment, secure backup outside the cluster, and TURN credential if used
DatabasesReachable primary database and conditional archival/ingestion stores
TURNReachable relay and sufficient bandwidth when browser voice is enabled
S3Optional document bucket, IRSA role, and bucket/object permissions

The supplied configuration uses ALB target type ip, backend frontend Service port 80, and application container port 8080. TLS ends at the ALB. Set idle timeout to at least 3600 seconds, preserve forwarded client information, and support WebSockets and uploads up to the application's 1 GB limit. Validate large uploads through the complete ingress path. End-to-end TLS requires separate design and compatibility validation.

Tools and access​

Run the scripts from Linux, macOS, WSL, Git Bash, or an appropriately configured CloudShell session. Verify tools rather than assuming they are preinstalled:

  • AWS CLI with credentials for the intended account.
  • kubectl configured for the cluster and compatible with its Kubernetes version.
  • Helm 3.8 or newer for OCI chart support.
  • Bash and common utilities, including curl, tar, gzip, openssl, and a SHA-256 tool.
  • unzip when extracting the package or bootstrapping ORAS on Git Bash.

The mirror script uses an installed ORAS binary or downloads a pinned, checksum-verified binary. Permit its GitHub release download or preinstall an approved ORAS version. A private cluster also requires an operator environment with network access to its API endpoint.

Separate ECR import/push permissions, application deployment permissions, and runtime permissions. Deployment uses AWS read access for ECR/ACM checks, Helm registry authentication, and Kubernetes permissions for the release resources and Secrets. Applying the StorageClass requires cluster-level permission. The optional preflight database check also needs diagnostic-Pod create/attach/delete permissions.

Databases and setup​

The Customer Infrastructure team provisions, secures, backs up, and operates databases. This guide uses PostgreSQL; the package recommends PostgreSQL 15 as a starting point. Obtain release compatibility guidance for the selected database version. IB-X also supports SQL Server for its primary database with the corresponding release-specific configuration.

StoreTechnologyRequirement
PrimaryPostgreSQL baselineRequired; platform data and execution history
Execution history archivalPostgreSQLRequired when archival is enabled
IngestionPostgreSQLRequired when Ingestion is enabled
VectorQdrant v1.17.0 or aboveRequired when Ingestion is enabled
GraphNeo4j Server 5.26.x or aboveRequired when Ingestion is enabled

Use separate stores and credentials per environment. The primary database connection is entered through the first-run wizard, not Helm values. The database account must initialize and modify the application schema and, where required, create the database. Archive policies may move historical records to a separate database or permanently delete them; configure retention deliberately.

Redis is bundled, mandatory, password-authenticated, and internal to the cluster. Keep it enabled and mirror its image to ECR. External Redis/ElastiCache is not supported by this deployment configuration. Its in-memory messaging state requires separate consideration from the persistent application database.

Persistent configuration​

All application services share writable EFS storage using ReadWriteMany at /aicc. An EBS single-writer volume is not a substitute for this shared mount. The supplied EFS access point uses UID/GID 10001 and directory permissions 775. Configure the EFS CSI controller through EKS Pod Identity or IRSA with the appropriate EFS permissions.

Create a mount target in each worker-node Availability Zone, not each individual subnet. Regional EFS supports one mount target per Availability Zone. See AWS EFS mount-target guidance.

The default 5Gi PVC request does not cap EFS capacity. Isolate environments with separate file systems or access-point paths. A new volume need not be prepopulated: the wizard creates /aicc/data/appsettings.json. Back up configuration, documents, and other required persistent paths along with the matching master key. Retain protects backing storage from automatic reclamation; it is not a backup or a complete reinstall procedure.

Network connectivity​

Use the following flows when planning security groups, firewalls, proxies, and network policies. Ports are defaults; match actual dependency endpoints and TURN configuration.

SourceDestinationProtocol/portPurpose
Browsers and applicable Windows Local AgentsALBTCP 443UI, APIs and WebSockets
ALBFrontend PodsTCP 8080HTTP after TLS termination
Application workloadsPrimary/archival PostgreSQLTCP 5432Database access
Application workloadsBundled RedisTCP 6379Queues and SignalR
IngestionPostgreSQL, Qdrant, Neo4jTCP 5432, 6333/6334, 7687Conditional ingestion
Worker nodesEFS mount targetsTCP 2049Shared storage
Worker nodesECR and required AWS image-pull dependenciesTCP 443Image pulls
Browsers and VoiceTURNUDP/TCP 3478, TLS 5349 if configured, configured relay rangeConditional voice media
Voice and WorkerConfigured AI providersHTTPS 443 or provider-defined endpointsSpeech and language services
Mirror hostIntelliBuddies registry, ECR, Docker Hub, ORAS download hostHTTPS 443Artifact import and tooling

Permit internal Kubernetes service traffic and cluster DNS. Confirm the Service ports and container target ports for the supplied chart; application container port 8080 and frontend Service port 80 are distinct.

IntelliBuddies endpointPurposeRequirement
https://accounts.intellibuddies.comLicense activationRequired
https://registry.ib-x.aiArtifact import and updatesRequired from the import host
https://igservices.intellibuddies.comIntegration GatewayWhen corresponding services are used
https://supportanalytics.intellibuddies.comIntegration Gateway analyticsWhen corresponding services are used

Application Pods pull images from customer ECR. Direct image-pull access to the IntelliBuddies registry is unnecessary. Additional integrations need their own approved connectivity.

Browser voice​

TURN is required when browser-based voice is enabled; non-voice deployments do not need it. The supplied deployment relays browser voice media through TURN. Provide browser and Voice-workload connectivity, transport/relay-port access, dedicated credentials, and bandwidth for concurrent calls. HTTPS is required for browser microphone access. The deployment guide uses Helm environment settings and a Kubernetes credential Secret.

Licensing​

Activate a license for each environment before use. Enable required licensing connectivity and retain the licensing information supplied by IntelliBuddies. See License Activation for general guidance; complete activation through the EKS deployment's setup flow.