Skip to main content
Use fresh AWS accounts

Install AlphaAgent Organisations into a new, empty AWS account, and give every AlphaAgent Studio deployment a new, empty AWS account of its own. Three reasons:

  1. It is AWS best practice to isolate each workload in its own account, with its own limits, billing view and permissions.
  2. Amazon Bedrock quotas are set per AWS account. Many users in one deployment share one quota and exhaust it; one account per deployment keeps each team's capacity its own.
  3. The blast radius is smaller. A problem in one deployment, or one team's mistake, cannot reach the others.

Deploy your first Studio

For the DeploymentOperator (or owner or operator), with whoever manages your network and private DNS. Before you start: a verified account whose role allows the deployment's region, a connected Entra tenant, the licence token, an Issued ACM certificate for the Studio hostname in the deployment's region, Bedrock model access checked there (Register an AWS account), the Transit Gateway, ranges and firewall decisions from Private network access, and a sizing tier from Infrastructure sizing and costs if not the default.

1. Decide: standard or governed​

The wizard's Ownership field is the one choice you cannot change later ("This cannot be changed later."): a governed deployment is a standard Studio whose resources are shared.

Standard · personal resourcesGoverned · shared resources
Sees, edits, runs, shares or deletes an agent, workflow, connector, environment or knowledge graphIts creatorEveryone assigned
Workspace files you can openYour ownEvery user's; you still write only into your own folder
Sees and stops a runWhoever started itEveryone assigned
AttributionUnchangedUnchanged
Programmatic access (API keys)Not availableThe only kind a key can be bound to
PII redaction defaultOffMask, preselected
Per-user caps (256 workflows, 256 agents)Your ownYour own; not pooled

Choose Standard when people build for themselves; Governed when a team maintains one set together, another system must start workflows through the API, or you want Mask as the floor. Work moves between kinds through a library (Libraries and sharing). Programmatic Access disables New API key with "Create a governed deployment first" until one exists.

2. Fill in the wizard​

Open Fleet and click New deployment (disabled: "Requires the DeploymentOperator role (or owner/operator)"). The wizard is one page, saved to a draft 400 ms after you stop typing (the draft id is in the URL); re-read the text fields in Review and launch.

SectionWhat to enter
Start from a template (optional)A saved Fleet Configuration Template pre-fills fields; Start blank for a first deployment.
Target accountDeployment name (up to 200 characters; shown in Fleet and the header with the domain beneath; typed to confirm destructive actions). Account: only verified accounts; it sets Region and the Bedrock inference zone.
Release versionVersion ("Versions from the AlphaAgent catalogue. A version is mirrored into your organisation the first time a job uses it."): only the latest stable Studio release is offered, and an older one is refused with the latest named (which release you can choose); the first job on a version copies it during Preflight. Private network access needs Studio 2.0.15 or later, and the Claude 5.5 models need 2.0.20 or later, so launch refuses any release before 2.0.20 (Supported models).
ParametersOwnership (section 1), the nine fields in the next table, then the Models, Network access, Outbound internet traffic and Trusted certificate authorities sections below it.
LicencePaste the License Token (aalk_<id>.<secret>, not the License ID) and click Provide licence. It goes once to your organisation's secret store; the section then reads Licence provided with aalk_<id>.***. Replace the licence token changes it.
Identity providerThe connected tenant, "<tenant name> (Microsoft Entra ID)"; no "none" option.

The Parameters fields, one per row:

FieldEnterDefaultChangeable later
OwnershipStandard or Governed (section 1)noneNo
Environmentdev, staging or prod; part of every AWS resource namenoneNo
Cognito domain prefixAuto-generatedgeneratedNo
Studio app domainPaste studio.example.com; stored lower casenoneNot from the console
ACM certificate ARN (this region)Pick from the Issued certificates or paste the ARNnoneNot from the console
Bedrock inference zoneus or eufrom the regionNo
Fargate sizing profilexs, small, standard, large, xlargeDefault: standard, the first optionFleet Configuration Template and Update Manager
ElastiCache node typecache.t4g.medium, cache.m7g.large, cache.r7g.large, cache.r7g.xlargeDefault: cache.t4g.medium, the first optionFleet Configuration Template and Update Manager
Run data retention (days)1 to 3650blank, 90Yes, from Overview
PII redaction defaultOff, Mask or Hash; a workflow or run can tighten (Off → Mask → Hash), never loosenOff; Mask preselected on a governed deploymentFleet Configuration Template and Update Manager

The Models section has one picker per model class, each with what the class runs beneath it and pre-selected to the default (Supported models):

PickerOffersDefaultChangeable later
Coordinator model (most capable)Claude Opus 5.5 · anthropic.claude-opus-5-5"Default: Claude Opus 5.5 · anthropic.claude-opus-5-5"Fleet Configuration Template and Update Manager
Worker modelClaude Sonnet 5.5 · anthropic.claude-sonnet-5-5"Default: Claude Sonnet 5.5 · anthropic.claude-sonnet-5-5"Fleet Configuration Template and Update Manager
Chat-title model (fastest, lowest cost)Claude Haiku 5.5 · anthropic.claude-haiku-5-5"Default: Claude Haiku 5.5 · anthropic.claude-haiku-5-5"Fleet Configuration Template and Update Manager

A draft that names a model its class does not take, such as a Claude 4.x id saved before, shows "The Coordinator model must be anthropic.claude-opus-5-5." (or the Worker or Chat-title model) under the picker until you choose again.

The network sections, set once when the deployment is created except where the last column says otherwise:

FieldEnterChangeable later
Network accessAlways Private (over your Transit Gateway): "This deployment's load balancer is internal, with no CloudFront. Users reach it over your Transit Gateway from the user access ranges."No
VPC rangeA private range unique on your routed network, from /16 to /24 with your Transit Gateway or /16 to /23 with the NAT gateway. The helper reads "A /24 is enough for one Studio with egress through your Transit Gateway." (or "A /23 is enough for one Studio with AlphaAgent's NAT gateway.") and the subnets it will hold. No defaultNo
Transit Gateway IDtgw-... in this region, owned by the account or shared with it through AWS Resource Access ManagerNo
User access ranges"Ranges your users and API callers connect from, comma separated. Only these ranges are routed to Studio." Up to 10Yes, from Overview
Internal service ranges"Ranges of internal APIs and databases that connectors and agent code may reach, comma separated." 1 to 10Yes, from Overview
Internal service portsOptional: up to 5 extra ports agent code may use on those ranges, for example 5432, 3306. "Port 443 is always allowed."Yes, from Overview
Outbound internet trafficThrough AlphaAgent's NAT gateway or Through your Transit Gateway (your firewall); no defaultNo
Your firewall's public egress IP addressesOnly with your Transit Gateway: 1 to 8 public IPv4 addresses, comma separatedNo
Trusted certificate authoritiesOptional: paste or Upload PEM file with your root CA, the issuing CA that signed your services' certificates, or both; up to 20 certificates, 64 KB in total. Each one is listed with its subject, issuer, expiry and SHA-256 fingerprintYes, from Overview

A value that breaks a rule is refused under its field with the reason (Private network access). The VPC range is also checked against every other deployment of your Organisation and the Organisation's own range, and the live preflight checks it against the VPCs already in the account.

3. Review, preflight, launch​

Review and launch lists Deployment, Account and region, Release, Licence, Payload (Studio), Ownership, Deployment size, Redis node type, Coordinator model, Worker model, Chat-title model, Run data retention, PII redaction default, Network access, VPC range, Subnets, Transit Gateway, User access ranges, Internal service ranges, Internal service ports, Outbound internet traffic (and Firewall egress IP addresses) and Trusted certificate authorities. Click Run preflight; while disabled its hover text names the incomplete section ("Parameters: Studio app domain is not set yet."). Results are Passed, Failed, Warning or Skipped, including The Transit Gateway is visible in this account and region, the VPC range checks, The selected models can be invoked in this account and region and Bedrock quotas for the selected models meet the recommended floors (what each refuses or warns about: Supported models). "Cannot launch: <checks>." blocks; a warnings line lists the checks to review before launching and does not block. Save as template (optional; a Name up to 100 characters; captures release and parameters, not account, region, prefix or certificate). Launch Deployment opens the progress screen with no confirmation dialog; Cancel deletes the draft, also without one.

4. Watch the install job​

Expect 45 to 50 minutes (measured: 48 and 46 minutes on xs). The Jobs view shows N of M steps complete and the Provisioning steps table (#, Step, Status, Elapsed / duration); click a step for its detail, Attempt N and the log tail (Copy, Download full log). The stream reconnects if it drops and may run 30 seconds behind.

#StepDoesMeasured
1PreflightReadiness checks, the VPC range, the Transit Gateway, and the selected models' access and Bedrock quotas; caches bundle and images5 to 7 min
2Core stackNetwork, data stores, buckets, user pool7 to 8 min
3Neo4j credentialsGraph database secretseconds
4Push Studio + env imagesImages into your accountunder 1 min
5Verify the images landed in the target accountDigest checkseconds
6Seed configuration secretsThe three model ids and their effort settings, ownership, redaction, retention, the internal service rangesseconds
7Re-seed trusted certificate authoritiesYour CA certificates, if anyseconds
8Upload the Studio SPAThe web appseconds
9Edge stack (not used by Private deployments)Skippednone
10Stateless stack (ALB)The internal load balancerabout 5 min
11Private network (Transit Gateway attachment and routes)Requests the attachment and waits for your team to accept it, then adds the routes, load balancer access and sandbox ports (and with your Transit Gateway the default route and endpoints)about a minute after acceptance
12Compute stack (ECS cluster)Cluster, rolesabout 1 min
13Task-def stack (services)Services at your sizing tierabout 18 min, the long pole
14Wait for services + connectivity healWith your Transit Gateway, first the outbound traffic check; then every service running and reachableabout 6 min
15SAML SSO (required)Enterprise Application in your tenantseconds
16Verify configurationThe deployment's own checksseconds

At step 11 the job reads Waiting for you with the card Accept the Transit Gateway attachment, naming the attachment, the Transit Gateway, its owner account and the deployment's VPC. Once your network team has accepted it, choose I have accepted it; the job carries on (Private network access). In an account that has never run ECS, step 12 may wait a few minutes for AWS to prepare ECS's service-linked role, and retries its cluster once by itself.

A second deployment launched while the first loads images waits at Preflight: "another job is already loading the images of release stable/<version>; waiting for it rather than doing the work twice". Step statuses: Pending, Running, Waiting for you, Succeeded, Failed, Skipped; parked and failed steps: Troubleshooting the install.

5. Create the DNS record​

Overview > Network shows Network access "Private · internal load balancer", the VPC (its ID and range) and Subnets; Endpoints shows App domain, DNS target (until it exists: "appears once the Stateless step has finished") and Load balancer. The Overview re-reads itself every 15 seconds while the job runs. In the private hosted zone your users resolve, create one record pointing at the internal load balancer, and associate that zone with the deployment's VPC (or add the equivalent resolver rules):

CNAME <Studio app domain> -> <DNS target value, internal-...elb.amazonaws.com>

What you should see​

The header shows the deployment name with the app domain beneath, Status Healthy and Version (reload after the job ends). Network reads Attachment "Available" and Network check healthy; Jobs lists the install job Succeeded. From a user access range, https://<Studio app domain> shows the Studio sign-in page; nobody can sign in until After the deploy.

Notes​

  • Fixed for life: Environment, Cognito domain prefix, Ownership, region, Network access, VPC range, Transit Gateway ID and Outbound internet traffic; the tables above say how the other fields change.
  • Wrong kind chosen: create another deployment and delete the first (Deleting a deployment).
  • New deployments are private; there is no CloudFront option. Deployments created before private network access keep their CloudFront front door through every update. One draft launches one deployment. A model left blank in a draft launches as its default, which the deployment records; a blank sizing or Redis value reads as its default in Review and on the Overview.
  • Fleet Configuration Templates carry no network settings, so a template applies to private and existing public deployments alike.
  • ?minimal=1 on the wizard URL deploys "A minimal test deployment, not Studio itself" in about two minutes, without domain, certificate, prefix or models, to prove the account can take a deployment.