Japanese version of this article is below.
https://zenn.dev/tacck/articles/20250720_recheck_the_differences_amplify_s3_cf
Table Of Contents
- 1. Introduction
- 2. Feature Comparison Table
- 3. Use Cases
- 4. Summary
- 5. Reference: Operational Flow Assumptions
1. Introduction
For static site hosting on AWS, you can use not only the traditional combination of Amazon S3 + Amazon CloudFront, but also the Hosting feature of AWS Amplify.
AWS Amplify Hosting provides automated deployment workflows through integration with GitHub.
Additionally, since October 2024, it has become possible to integrate directly from Amazon S3 to AWS Amplify Hosting functionality.
In other words, there are three options:
- Amazon S3 + Amazon CloudFront
- AWS Amplify Hosting (with Amazon S3 integration)
- AWS Amplify Hosting (with GitHub integration)
This article compares these three approaches and explains the benefits of using AWS Amplify.
2. Feature Comparison Table
Item | Amazon S3 + Amazon CloudFront | AWS Amplify + Amazon S3 | AWS Amplify + GitHub |
---|---|---|---|
File Upload | Upload to Amazon S3 | Upload to Amazon S3 | Git Push |
Deploy Trigger | None (cache invalidation serves as update trigger) | Manual | Automatic (Unified Webhooks via Git Push) |
Cache Update | Manual execution | Automatic execution | Automatic execution |
Preview Environment | Requires separate infrastructure setup | Manual environment addition | Automatic generation based on branches |
Basic Authentication | Implementation with Lambda@Edge | Console configuration | Console configuration |
Monitoring & Logs | Individual service monitoring | Integrated dashboard | Integrated dashboard |
Build Process (*) | Manual execution then upload | Manual execution then upload | Automatic execution after upload |
Rollback | Manual file restoration | Apply previous deployment result | Apply previous deployment result |
(*) Build Process: Process of generating files as a static site using libraries and frameworks like Next.js.
2.1. Differences in Infrastructure Setup Procedures
Method | Main Tasks |
---|---|
Amazon S3 + Amazon CloudFront | Amazon S3 Bucket preparation (Bucket creation, Bucket policy configuration), Amazon CloudFront preparation (Origin access control configuration, distribution creation) |
AWS Amplify + Amazon S3 | Amazon S3 Bucket creation, AWS Amplify project preparation |
AWS Amplify + GitHub | AWS Amplify project preparation, GitHub Repository preparation |
2.2. Deployment Procedure Comparison
Method | Main Tasks |
---|---|
Amazon S3 + Amazon CloudFront | File preparation -> Amazon S3 upload -> Amazon CloudFront cache invalidation (no clear deployment trigger) |
AWS Amplify + Amazon S3 | File preparation -> Amazon S3 upload -> AWS Amplify deployment |
AWS Amplify + GitHub | Git push only |
2.3. Automation Level
Method | Automation Level | Description |
---|---|---|
Amazon S3 + Amazon CloudFront | Manual | All tasks executed manually |
AWS Amplify + Amazon S3 | Semi-automatic | Deploy trigger is manual, subsequent processes are automatic |
AWS Amplify + GitHub | Fully automatic | Fully automated from Git push to publication |
2.4. Pricing Differences (Estimates)
Amazon CloudFront Data Transfer Pricing (Tokyo Region)
Data Transfer Volume | Price (USD/GB) |
---|---|
First 1TB | Free |
Next 9TB (1TB-10TB) | $0.114 |
AWS Amplify Hosting Data Transfer Pricing
Data Transfer Volume | Price (USD/GB) |
---|---|
First 15GB | Free |
Over 15GB | $0.15 |
Pricing Comparison Scenarios (Tokyo Region)
Monthly Data Transfer | Amazon CloudFront (Tokyo) | AWS Amplify Hosting | Difference |
---|---|---|---|
15GB | $0.00 | $0.00 | $0 |
100GB | $0.00 | $12.75 | +$12.75 |
500GB | $0.00 | $72.75 | +$72.75 |
1TB | $0.00 | $151.35 | +$151.35 |
9TB | $933.888 | $1380.15 | +$446.262 |
10TB | $1025.024 | $1,507.50 | +$508.726 |
3. Use Cases
3.1. When Amazon S3 + Amazon CloudFront is Suitable
- Advanced customization or fine-grained control is required
- Complex caching strategies or distribution rules are needed
- Integration with existing CI/CD pipelines is required
- Cost optimization is prioritized (high-traffic site operations)
3.2. When AWS Amplify + Amazon S3 is Suitable
- Want to continue file-based direct management
- File upload personnel cannot use Git but have access to Amazon S3, etc.
- Amazon CloudFront customization is not required
- Want to utilize AWS Amplify Hosting features (Basic authentication, simplified preview environment setup, etc.)
- Site access is limited
3.3. When AWS Amplify + GitHub is Suitable
- Emphasize collaboration in team development
- Automatic deployment via Git integration is required
- Preview environments and branch deployments are needed
- Prioritize rapid development and deployment
- The development team has limited AWS operational experience
- Want to adopt modern development workflows
- Site access is limited
- May use AWS Amplify Backend features in the future
4. Summary
AWS Amplify Hosting significantly improves developer productivity through simplified setup, automated deployment processes, and integrated operational management compared to the traditional Amazon S3 + Amazon CloudFront combination. On the other hand, Amazon S3 + Amazon CloudFront allows for advanced customization and can handle complex requirements. It is essential to select the optimal option based on project requirements and the development team's circumstances.
5. Reference: Operational Flow Assumptions
5.1. Role Definitions
HTML Coder
- Creation and editing of static site HTML, CSS, JavaScript files
- Testing and verification in the local environment
- Pattern (C): Code management and push to Git repository
Site Administrator
- Site construction and operation
- Infrastructure construction and monitoring
- Build configuration management
- Pattern (C): Branch management and deployment approval (as needed)
- Coordination with publication requesters
- Task assignment to HTML coders and progress management
Content Publication Requester
- Site update requests and approvals
- Content provision and confirmation
- Publication schedule decisions
Top comments (0)