๋ฉ”์ธ ์ฝ˜ํ…์ธ ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐAWS Startups
  1. ํ”„๋กฌํ”„ํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  2. ์Šคํƒ€ํŠธ์—… ๋žœ๋”ฉ ํŽ˜์ด์ง€ ๋ฐฐํฌ

์Šคํƒ€ํŠธ์—… ๋žœ๋”ฉ ํŽ˜์ด์ง€ ๋ฐฐํฌ

์Šคํƒ€ํŠธ์—… ์ฐฝ์—…์ž๋ฅผ ๋…์ž์ ์ธ ๋ชจ๋ฒ” ์‚ฌ๋ก€์™€ ์ฝ”๋“œํ˜• ์ธํ”„๋ผ(IaC)๋ฅผ ์‚ฌ์šฉํ•ด ํ˜„์žฌ ์ƒํƒœ์—์„œ ํ”„๋กœ๋•์…˜ ๋ ˆ๋”” AWS ํ™˜๊ฒฝ์œผ๋กœ ์•ˆ๋‚ดํ•˜๋Š” AI DevOps ์ปจ์„คํ„ดํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ์ฝ”๋“œํ˜• ์ธํ”„๋ผ
  • ๋ฐฐํฌ

ํ”„๋กฌํ”„ํŠธ

# Startup Landing Page Deployment
Deploy a production-ready startup landing page with contact form and Stripe payment integration using AWS serverless architecture.
## Requirements
Create a startup landing page that includes:
1. **Modern Landing Page**
   - Responsive design with hero section
   - Pricing plans display ($29/month basic plan)
   - Professional styling and layout
2. **Contact Form Integration**
   - Working contact form with name, email, message fields
   - Backend API processing with validation
   - Data storage in DynamoDB
   - Success/error feedback to users
3. **Stripe Payment Integration**
   - Subscription button for $29/month basic plan
   - Stripe checkout session creation
   - Success and cancel pages for payment flow
   - Proper error handling and user feedback
4. **AWS Infrastructure**
   - S3 bucket for static website hosting (private with CloudFront OAC)
   - CloudFront distribution for global CDN
   - API Gateway REST API with proper CORS configuration
   - Lambda functions for backend processing (Python 3.11)
   - DynamoDB table for data storage
   - IAM roles with least privilege access
## Critical Implementation Requirements
### CORS Configuration
- **MUST** implement OPTIONS method for both `/contact` and `/subscribe` endpoints
- **MUST** include proper CORS headers for browser compatibility:
  - `Access-Control-Allow-Origin: *`
  - `Access-Control-Allow-Methods: POST,OPTIONS`
  - `Access-Control-Allow-Headers: Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token`
- **MUST** use mock integration for OPTIONS methods with 200 response
### API Gateway Best Practices
- Use separate `aws_api_gateway_stage` resource instead of deprecated `stage_name` attribute
- Include all methods and integrations in deployment dependencies
- Use `create_before_destroy` lifecycle for deployments
### Security Requirements
- Private S3 bucket with CloudFront Origin Access Control (OAC)
- No public S3 bucket access
- HTTPS-only access through CloudFront
- Sensitive variables marked as `sensitive = true`
- IAM roles with minimal required permissions
### Stripe Integration
- Environment variable for Stripe secret key
- Success/cancel pages automatically created and uploaded
- Proper error handling for missing API keys
- Test mode configuration support
## Expected Deliverables
1. **Terraform Infrastructure**
   - Complete IaC with all AWS resources
   - Proper variable configuration
   - Output values for testing
2. **Frontend Code**
   - HTML/CSS/JS for landing page
   - JavaScript integration with APIs
   - Success/cancel pages for Stripe flow
3. **Backend Code**
   - Python Lambda functions
   - Contact form processing
   - Stripe checkout session creation
4. **Testing Documentation**
   - API testing commands
   - Browser testing instructions
   - Stripe setup guide
## Common Issues to Avoid
1. **CORS Errors**: Always implement OPTIONS methods for browser compatibility
2. **API Gateway Deployment**: Use modern stage resource pattern, not deprecated attributes
3. **S3 Security**: Use CloudFront OAC instead of public bucket access
4. **Environment Variables**: Ensure all Lambda functions have required environment variables
5. **Dependencies**: Include all API Gateway resources in deployment dependencies
## Success Criteria
- Contact form works from browser (no CORS errors)
- Stripe integration ready (needs API key configuration)
- All infrastructure deployed via Terraform
- Production-ready security implementation
- Browser-tested functionality
- Clear documentation and testing instructions

์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋‚˜์š”?

๋ฒ ํƒ€

  1. AWS ํ™˜๊ฒฝ ๋ฐ ๋น„์šฉ ๊ด€๋ฆฌ ์„ค์ •
  2. AWS CLI ์„ค์น˜
    • ์šด์˜ ์ฒด์ œ์— ๋งž๋Š” AWS CLI์„(๋ฅผ) ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  3. ํ”„๋กฌํ”„ํŠธ ๋ณต์‚ฌ
    • โ€˜ํ”„๋กฌํ”„ํŠธ ๋ณต์‚ฌโ€™๋ฅผ ํด๋ฆญํ•˜์—ฌ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  4. ํ”„๋กฌํ”„ํŠธ ํ…Œ์ŠคํŠธ
    • ํ”„๋กฌํ”„ํŠธ๋ฅผ AI ๋„๊ตฌ(์˜ˆ: Q Developer CLI)์— ๋ถ™์—ฌ๋„ฃ๊ณ  ์‹คํ–‰ํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  5. ๊ฒ€ํ† , ๋ฐฐํฌ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง
    • ์ƒ์„ฑ๋œ ๋ฆฌ์†Œ์Šค์™€ ์˜ˆ์ƒ ๋น„์šฉ์„ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.
    • ์šฐ์„  ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.
    • ํ”„๋กœ๋•์…˜์œผ๋กœ ์ „ํ™˜ํ•˜๊ธฐ ์ „์— ์„ฑ๊ณผ์™€ ์ง€์ถœ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์„ธ์š”.

์ด๋Ÿฌํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ณ ์ง€ ์‚ฌํ•ญ์— ๋™์˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

์Šคํƒ€ํŠธ์—… ๋žœ๋”ฉ ํŽ˜์ด์ง€ ๋ฐฐํฌ | AWS Startups