이 프로젝트는 Diary API 서비스의 인프라스트럭처 코드를 포함하고 있습니다.
-
VPC
- CIDR: 10.0.0.0/16
- 가용영역: ap-northeast-2a, ap-northeast-2c
- 퍼블릭 서브넷 1개
- 프라이빗 서브넷 2개 (RDS용)
-
EC2
- 인스턴스 타입: t3.micro
- AMI: Amazon Linux 2023
- 퍼블릭 IP 할당
- 보안 그룹: SSH(22), HTTP(80), HTTPS(443), 애플리케이션(8080) 포트 개방
-
RDS
- 엔진: MySQL 8.0
- 인스턴스 클래스: db.t3.micro
- 스토리지: 20GB
- 멀티 AZ: 비활성화 (프리 티어)
- 자동 백업: 7일 보관
-
AWS Credentials 설정:
export AWS_ACCESS_KEY_ID="your_access_key" export AWS_SECRET_ACCESS_KEY="your_secret_key" export AWS_DEFAULT_REGION="ap-northeast-2"
-
테라폼 변수 설정:
cp terraform/terraform.tfvars.example terraform/terraform.tfvars # terraform.tfvars 파일을 적절히 수정 -
인프라 생성:
cd terraform terraform init terraform plan terraform apply
- 프리 티어 사용을 위해 t3.micro 인스턴스 타입을 사용합니다.
- RDS는 단일 AZ 구성으로 설정되어 있습니다.
- 프로덕션 환경에서는 보안 강화가 필요할 수 있습니다.
현재 구성은 AWS 프리 티어 범위 내에서 운영됩니다:
- EC2: 월 750시간 무료
- RDS: 월 750시간 무료
- EBS: 30GB 무료
- 데이터 전송: 월 100GB 무료