Skip to content

Commit 1a8468c

Browse files
grokifyclaude
andcommitted
docs(platforms): update AgentCore documentation
- Update agentcore.md with deployment details - Update index.md with platform overview - Add agentcore-requirements.md for infrastructure requirements Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 492b59d commit 1a8468c

File tree

3 files changed

+218
-0
lines changed

3 files changed

+218
-0
lines changed
Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
# AWS AgentCore Infrastructure Requirements
2+
3+
This document outlines the requirements and constraints for deploying agents to AWS Bedrock AgentCore. These apply to all IaC tools (CDK, Pulumi, Terraform, CloudFormation).
4+
5+
## Container Image Requirements
6+
7+
### ECR Only
8+
9+
AgentCore **only supports Amazon ECR** container images. Third-party registries like GHCR, Docker Hub, or GCR are not supported.
10+
11+
**Required format:**
12+
13+
```
14+
{account_id}.dkr.ecr.{region}.amazonaws.com/{repository}:{tag}
15+
```
16+
17+
**Examples:**
18+
19+
```
20+
# Valid
21+
123456789012.dkr.ecr.us-west-2.amazonaws.com/stats-agent-research:latest
22+
123456789012.dkr.ecr.us-west-2.amazonaws.com/my-org/my-agent:v1.0.0
23+
24+
# Invalid - will fail validation
25+
ghcr.io/myorg/my-agent:latest
26+
docker.io/myimage:latest
27+
gcr.io/my-project/my-agent:latest
28+
```
29+
30+
### Migrating from GHCR to ECR
31+
32+
If your images are in GHCR, you need to copy them to ECR:
33+
34+
```bash
35+
# Create ECR repository
36+
aws ecr create-repository --repository-name stats-agent-research --region us-west-2
37+
38+
# Login to both registries
39+
aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 123456789012.dkr.ecr.us-west-2.amazonaws.com
40+
echo $GHCR_TOKEN | docker login ghcr.io -u USERNAME --password-stdin
41+
42+
# Pull from GHCR
43+
docker pull ghcr.io/myorg/stats-agent-research:latest
44+
45+
# Tag for ECR
46+
docker tag ghcr.io/myorg/stats-agent-research:latest 123456789012.dkr.ecr.us-west-2.amazonaws.com/stats-agent-research:latest
47+
48+
# Push to ECR
49+
docker push 123456789012.dkr.ecr.us-west-2.amazonaws.com/stats-agent-research:latest
50+
```
51+
52+
## Runtime Configuration
53+
54+
### Endpoint Naming
55+
56+
Endpoint names must match the pattern `^[a-zA-Z][a-zA-Z0-9_]{0,47}$`:
57+
58+
- Must start with a letter
59+
- Can contain letters, numbers, and underscores only
60+
- **No hyphens allowed**
61+
- Maximum 48 characters
62+
63+
**Examples:**
64+
65+
```
66+
# Valid
67+
research_endpoint
68+
synthesisEndpoint
69+
agent1_endpoint
70+
71+
# Invalid
72+
research-endpoint # hyphens not allowed
73+
1_endpoint # must start with letter
74+
my-agent-endpoint # hyphens not allowed
75+
```
76+
77+
### Timeout (MaxLifetime)
78+
79+
The `MaxLifetime` (timeout) must be **at least 60 seconds**.
80+
81+
```json
82+
{
83+
"timeoutSeconds": 60 // Minimum value
84+
}
85+
```
86+
87+
**Note:** AgentCore supports sessions up to 8 hours (28800 seconds).
88+
89+
### Memory Allocation
90+
91+
Valid memory values in MB:
92+
93+
- 512
94+
- 1024
95+
- 2048
96+
- 4096
97+
- 8192
98+
- 16384
99+
100+
## Gateway Configuration
101+
102+
### Protocol Type
103+
104+
The Gateway **only supports MCP protocol**. HTTP is not a valid option for Gateway.
105+
106+
```json
107+
{
108+
"gateway": {
109+
"enabled": true,
110+
"protocol": "MCP" // Only valid option
111+
}
112+
}
113+
```
114+
115+
**Note:** Individual agent runtimes can use HTTP protocol, but the Gateway resource itself only supports MCP.
116+
117+
### Authorizer Type
118+
119+
Valid authorizer types:
120+
121+
- `NONE` - No authorization (default)
122+
- `IAM` - AWS IAM authorization
123+
- `CUSTOM_JWT` - Custom JWT authorizer
124+
125+
## Network Configuration
126+
127+
### VPC Requirements
128+
129+
AgentCore runtimes require VPC configuration with:
130+
131+
- Private subnets (for agent execution)
132+
- Security groups allowing inter-agent communication
133+
- VPC endpoints recommended for:
134+
- ECR (ecr.api, ecr.dkr)
135+
- Secrets Manager
136+
- CloudWatch Logs
137+
- S3 (gateway endpoint for ECR layers)
138+
- Bedrock (if using Bedrock models)
139+
140+
### Network Mode
141+
142+
Currently only `VPC` network mode is supported.
143+
144+
## IAM Requirements
145+
146+
The execution role must have permissions for:
147+
148+
- ECR image pull (`ecr:GetAuthorizationToken`, `ecr:BatchGetImage`, etc.)
149+
- CloudWatch Logs (`logs:CreateLogStream`, `logs:PutLogEvents`)
150+
- Secrets Manager (if using secrets)
151+
- Bedrock (if invoking Bedrock models)
152+
153+
## Regional Availability
154+
155+
AgentCore Runtime is available in these regions (as of January 2025):
156+
157+
- US East (N. Virginia) - us-east-1
158+
- US East (Ohio) - us-east-2
159+
- US West (Oregon) - us-west-2
160+
- Europe (Frankfurt) - eu-central-1
161+
- Europe (Ireland) - eu-west-1
162+
- Asia Pacific (Mumbai) - ap-south-1
163+
- Asia Pacific (Singapore) - ap-southeast-1
164+
- Asia Pacific (Sydney) - ap-southeast-2
165+
- Asia Pacific (Tokyo) - ap-northeast-1
166+
167+
## Configuration Checklist
168+
169+
Before deploying, verify:
170+
171+
- [ ] Container images are in ECR (not GHCR/Docker Hub)
172+
- [ ] Endpoint names use underscores, not hyphens
173+
- [ ] Timeout is at least 60 seconds
174+
- [ ] Memory is a valid value (512, 1024, 2048, 4096, 8192, 16384)
175+
- [ ] Gateway protocol is MCP (if using Gateway)
176+
- [ ] VPC has required subnets and endpoints
177+
- [ ] IAM role has necessary permissions
178+
- [ ] Deploying to a supported region
179+
180+
## Example Configuration
181+
182+
```json
183+
{
184+
"stackName": "my-agent-stack",
185+
"region": "us-west-2",
186+
"agents": [
187+
{
188+
"name": "research",
189+
"containerImage": "123456789012.dkr.ecr.us-west-2.amazonaws.com/research-agent:latest",
190+
"memoryMB": 512,
191+
"timeoutSeconds": 300,
192+
"protocol": "HTTP"
193+
}
194+
],
195+
"gateway": {
196+
"enabled": true,
197+
"name": "my_gateway",
198+
"protocol": "MCP"
199+
},
200+
"vpc": {
201+
"createVPC": true,
202+
"enableVPCEndpoints": true
203+
}
204+
}
205+
```
206+
207+
## Related Documentation
208+
209+
- [AWS AgentCore Developer Guide](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/)
210+
- [AgentCore Runtime](agentcore.md) - Runtime code and server setup
211+
- [agentkit-aws-cdk](https://github.com/agentplexus/agentkit-aws-cdk) - CDK constructs
212+
- [agentkit-aws-pulumi](https://github.com/agentplexus/agentkit-aws-pulumi) - Pulumi components

docsrc/platforms/agentcore.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,9 @@ curl -X POST localhost:8080/invocations -d '{"prompt":"test"}'
180180
!!! note "Infrastructure as Code"
181181
Helm does **NOT** apply to AgentCore. Use AWS CDK or Terraform instead.
182182

183+
!!! warning "Infrastructure Requirements"
184+
Before deploying, review the [Infrastructure Requirements](agentcore-requirements.md) for ECR image requirements, naming constraints, and configuration limits.
185+
183186
### Dockerfile
184187

185188
```dockerfile
@@ -230,5 +233,6 @@ const agent = new agentcore.Agent(this, 'StatsAgent', {
230233

231234
## Next Steps
232235

236+
- [Infrastructure Requirements](agentcore-requirements.md) - ECR, naming, and configuration constraints
233237
- [Kubernetes Deployment](kubernetes.md) - Alternative container-based deployment
234238
- [Local Development](../getting-started/local-development.md) - Test before deploying

docsrc/platforms/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ AWS Bedrock's serverless agent runtime.
2222
- Pay-per-use pricing
2323
- Built-in session management
2424

25+
See also: [Infrastructure Requirements](agentcore-requirements.md) for ECR, naming, and configuration constraints.
26+
2527
## Platform Comparison
2628

2729
| Aspect | Kubernetes | AWS AgentCore |

0 commit comments

Comments
 (0)