Skip to content

ACS-High-School/Terraform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terraform

  • Terraform을 통한 인프라 구축
  • S3와 DynamoDB를 이용한 Terraform Backend 구성
  • Terraform Module 활용

Project Structure

image

Modules

EC2

  • 사전 정의된 ami를 통해 jenkins 서버 구성 및 eip 연결
  • bastion 서버 구성 및 eip 연결

ECR

  • ECR 리포지토리 설정
  • frontend, backend 이미지 생성

EKS

  • Kubernetes와 Helm 프로바이더 설정
  • terraform-aws-modules/eks/aws 모듈을 이용하여 구성
  • 두 개의 노드 그룹 'worker', 'tools' 생성
  • Helm을 활용하여 ALB, argocd, Prometheus & Grafana 설치

RDS

  • RDS 인스턴스 및 스토리지 설정
  • 데이터베이스 엔진 MYSQL 설정
  • 기본 네트워크 및 보안 설정
  • 다중 배포를 활성화하여 고가용성 보장

SECURITY-GROUP

타입 포트 대상
Bastion SSH 22
ALB HTTP, HTTPS 80, 443
WEB SSH, HTTP 22, 80
WAS SSH, HTTP 22, 8080
DB MySQL 3306
  • Bastion SG
    • Bastion 호스트용 보안 그룹을 설정
    • SSH 접근(포트 22)만을 허용
  • ALB SG
    • Application Load Balancer용 보안 그룹을 구성
    • HTTP(80) 및 HTTPS(443) 접근을 허용하여 웹 트래픽의 안전한 처리를 지원.
  • Web SG
    • 웹 서버용 보안 그룹을 설정
    • HTTP 접근과 SSH 접근을 특정 서브넷으로부터만 허용
  • WAS SG
    • 웹 애플리케이션 서버용 보안 그룹을 설정
    • HTTP(8080) 접근을 허용하고, 데이터베이스 서버(SG db_sg)로의 MySQL 접근(3306)도 관리
  • DB SG
    • 데이터베이스 서버용 보안 그룹을 구성
    • MySQL 접근을 WAS 서버 서브넷으로부터만 허용

VPC

  • 3-tier 구조의 vpc 구성
AZ Subnet Type CIDR
ap-northeast-2a public-1 10.0.0.0/24
ap-northeast-2a web-1 10.0.10.0/24
ap-northeast-2a was-1 10.0.20.0/24
ap-northeast-2a db-1 10.0.30.0/24
ap-northeast-2c public-2 10.0.1.0/24
ap-northeast-2c web-2 10.0.11.0/24
ap-northeast-2c was-2 10.0.21.0/24
ap-northeast-2c db-2 10.0.31.0/24

Technologies



Contribution

About

Terraform 작업공간

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages