# Reference: EC2 Instance Type Mapping
Tabella completa di mapping tra Docker resource limits e EC2 instance types.
## Tabella di Mapping Completa
| Docker Compose | EC2 Instance | vCPUs | Memory | Costo/ora* | Use Case |
|----------------|--------------|-------|--------|------------|----------|
| `cpus: '0.5'`
`memory: 512M` | t2.nano | 0.5 | 512 MB | $0.006 | Microservizi minimi |
| `cpus: '1'`
`memory: 1G` | t2.micro | 1 | 1 GB | $0.012 | Dev/Test |
| `cpus: '1'`
`memory: 2G` | t2.small | 1 | 2 GB | $0.024 | Web server |
| `cpus: '2'`
`memory: 4G` | t2.medium | 2 | 4 GB | $0.048 | Application |
| `cpus: '2'`
`memory: 8G` | m5.large | 2 | 8 GB | $0.096 | Production |
| `cpus: '4'`
`memory: 16G` | m5.xlarge | 4 | 16 GB | $0.192 | High traffic |
| `cpus: '8'`
`memory: 32G` | m5.2xlarge | 8 | 32 GB | $0.384 | Scalabile |
| `cpus: '16'`
`memory: 64G` | m5.4xlarge | 16 | 64 GB | $0.768 | Enterprise |
\*Costi indicativi per regione us-east-1
## Famiglie Instance Types
### General Purpose (m5, m6)
Equilibrato tra CPU, memoria, rete.
```yaml
# m5.large - 2 vCPUs, 8 GB
cpus: '2'
memory: 8G
```
**Use case:** Web server, application server
### Burstable (t2, t3)
Credit-based CPU, basso costo.
```yaml
# t2.micro - 1 vCPU, 1 GB
cpus: '1'
memory: 1G
```
**Use case:** Dev, test, microservizi
### Compute Optimized (c5, c6)
Alto ratio CPU/memoria.
```yaml
# c5.xlarge - 4 vCPUs, 8 GB
cpus: '4'
memory: 8G
```
**Use case:** Batch processing, encoding
### Memory Optimized (r5, r6)
Alto ratio memoria/CPU.
```yaml
# r5.large - 2 vCPUs, 16 GB
cpus: '2'
memory: 16G
```
**Use case:** Database, caching
## Docker Compose Examples
### T2 Nano (Micro)
```yaml
micro:
image: alpine:3.19
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
```
### T2 Micro (Dev/Test)
```yaml
dev:
image: node:alpine
deploy:
resources:
limits:
cpus: '1'
memory: 1G
```
### T2 Small (Web)
```yaml
web:
image: nginx:alpine
deploy:
resources:
limits:
cpus: '1'
memory: 2G
```
### T2 Medium (Application)
```yaml
app:
image: python:alpine
deploy:
resources:
limits:
cpus: '2'
memory: 4G
```
### M5 Large (Production)
```yaml
production:
image: myapp:latest
deploy:
resources:
limits:
cpus: '2'
memory: 8G
```
## Shortcut Reference
### Quick Copy-Paste
```yaml
# T2 Nano
cpus: '0.5'; memory: 512M
# T2 Micro
cpus: '1'; memory: 1G
# T2 Small
cpus: '1'; memory: 2G
# T2 Medium
cpus: '2'; memory: 4G
# M5 Large
cpus: '2'; memory: 8G
# M5 XLarge
cpus: '4'; memory: 16G
```
## Vedi Anche
- Tutorial: Configurare Limiti delle Risorse
- How-to: Selezionare Instance Type
- Explanation: Compute-EC2 Parallels