이 저장소는 Terraform과 AWS CDK를 사용하여 AWS 인프라를 자동화하고 관리하는 멀티 프로젝트 저장소입니다.
이 저장소는 다양한 AWS 서비스와 인프라를 코드로 관리하는 Infrastructure as Code (IaC) 프로젝트 모음입니다. 주요 기술 스택:
- Terraform: 인프라 프로비저닝 및 관리
- AWS CDK: TypeScript 기반 클라우드 인프라 정의
- Python: Lambda 함수 및 자동화 스크립트
- GitHub Actions: CI/CD 및 보안 스캔 자동화
AWS/
├── Bedrock/ # Amazon Bedrock Knowledge Base Slack Bot (CDK)
├── Cloudfront/ # CloudFront 및 S3 CDN 설정 (Terraform)
├── ControlTower/ # AWS Control Tower 감사 설정 (Terraform)
├── EC2/ # EC2 인프라 및 Lambda 모니터링 (Terraform)
├── EKS/ # Kubernetes 클러스터 인프라 (Terraform)
├── Lambda/ # Python Lambda 함수들
├── networking-costs-calculator/ # 네트워크 비용 계산기 (CDK)
├── ISMS/ # ISMS 감사 스크립트 (Python)
├── VPC/ # VPC 및 보안 그룹 관리 (Terraform)
└── .github/workflows/ # GitHub Actions 워크플로우
각 프로젝트의 상세한 설명은 해당 디렉토리의 README 파일을 참조하세요.
- Terraform >= 1.0
- AWS CLI >= 2.0
- Python >= 3.9
- Node.js >= 20
- AWS CDK >= 2.0
# 특정 Terraform 프로젝트로 이동
cd EC2/terraform
# 초기화
terraform init
# 계획 확인
terraform plan
# 적용 (주의: 실제 리소스 생성)
terraform apply# Bedrock 프로젝트 예시
cd Bedrock
# 의존성 설치
npm install
# 빌드
npm run build
# 테스트
npm test
# CDK 합성 (배포 전 확인)
cdk synth
# 배포 (주의: 실제 리소스 생성)
cdk deploy자세한 내용은 AGENTS.md 파일을 참조하세요.
- 위치:
EC2/terraform/ - 설명: VPC, 서브넷, 보안 그룹, EC2 인스턴스 및 Lambda 모니터링
- 문서: EC2/Readme.md
- 위치:
Bedrock/ - 설명: Amazon Bedrock Knowledge Base를 활용한 Slack 챗봇
- 문서: Bedrock/readme.md
- 위치:
EKS/ - 설명: Kubernetes 클러스터 인프라 자동화
- 문서: EKS/README.md (참고)
- 위치:
networking-costs-calculator/ - 설명: AWS 네트워크 비용 계산 도구
- 문서: networking-costs-calculator/README.md
이 저장소는 여러 보안 스캔 도구를 사용하여 코드 품질과 보안을 자동으로 검사합니다:
- CodeQL: 코드 보안 분석
- TFSec: Terraform 보안 검사
- Checkov: 인프라 보안 검사
- Trivy: 취약점 스캔
- Secret Scanning: 시크릿 검사
⚠️ 절대 커밋하지 말 것:.tfstate파일,.tfvars파일, API 키, 비밀번호- ✅ 사용 권장: AWS Secrets Manager, SSM Parameter Store, 환경 변수
- 📖 자세한 내용: .github/SECRET_SCANNING.md
main또는master브랜치에 직접 푸시하지 않음- 기능 브랜치에서 작업 후 Pull Request 생성
- PR 제목 형식:
[프로젝트명] 제목(예:[EC2] Lambda 함수 업데이트)
# Terraform 프로젝트
terraform fmt
terraform validate
# CDK 프로젝트
npm run build
npm test
# Python 프로젝트
python -m py_compile *.py- Terraform:
terraform fmt자동 포맷팅 - TypeScript: ESLint 및 TypeScript 컴파일러 검사
- Python: PEP 8 스타일 가이드 준수
- AGENTS.md - AI 코딩 에이전트 가이드
- REPOSITORY_AUDIT_REPORT.md - 저장소 검토 리포트
- SECURITY_INCIDENT.md - 보안 사고 대응 기록
- 실제 AWS 리소스 생성/변경:
terraform apply및cdk deploy실행 시 주의 - 비용: 리소스 생성 시 AWS 비용 발생 가능
- 보안: 시크릿 및 자격 증명은 절대 커밋하지 않음
- 백엔드 상태: Terraform 상태 파일은 S3에 저장되며, 동시 작업 시 충돌 주의
각 프로젝트는 개별 라이선스를 가질 수 있습니다. 프로젝트별 LICENSE 파일을 확인하세요.
프로젝트 관련 문의사항은 Issues를 통해 제출해주세요.
마지막 업데이트: 2025-01-27