Deployment (AWS)
Ringkasan
Lingkungan produksi berjalan di AWS menggunakan ECS Fargate. Aplikasi di-package sebagai Docker image dan di-deploy via CI/CD pipeline.
Arsitektur
Route53 → CloudFront → ALB → ECS Fargate (app + queue)
├── RDS PostgreSQL
└── ElastiCache Redis| Service | Tujuan |
|---|---|
| Route53 | DNS management |
| CloudFront | CDN + SSL |
| ALB | Load balancing |
| ECS Fargate | Container orchestration |
| RDS PostgreSQL | Database managed |
| ElastiCache Redis | Cache + queue |
| S3 | File storage |
| CloudWatch | Monitoring + logging |
CI/CD Pipeline
- Push ke
develop/main→ trigger build - Build →
make build prod - Test →
composer run ci:check - Push image ke ECR
- Deploy → ECS service update
Secrets Required
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_ECR_REPOSITORY, ECS_CLUSTER, ECS_SERVICE, APP_KEY, DB_*, REDIS_*
File Penting
| File | Tujuan |
|---|---|
.github/workflows/deploy.yml | Pipeline CI/CD |
Dockerfile | Image produksi |
config/octane.php | Konfigurasi FrankenPHP workers |