반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

Devsecops로 발전하는 엔지니어

🌐 AWS EC2 + GitHub Actions + Docker 기반 CI/CD 구축기 본문

Devops

🌐 AWS EC2 + GitHub Actions + Docker 기반 CI/CD 구축기

cloud/devops/opensource 관심 많은 곰 2025. 6. 18. 11:13
반응형

컨테이너 도입을 위한 방법으로는 Docker, Kubernetes 등 다양한 접근이 있습니다. 하지만 이번에는 처음 컨테이너 기반 서비스 배포를 시작하는 단계로,AWS EC2 + Bastion + GitHub Actions + Docker를 활용하여 Private EC2에 안전하게 WordPress를 배포하는 흐름을 구축했습니다.

 

🧩 [1편] CI/CD 환경 구축 준비 및 인프라 구성

🧱주요 내용

1. 프로젝트 목표

  • GitHub Actions → Bastion → Private EC2에 WordPress 자동 배포
  • Docker + ECR을 활용한 컨테이너 기반 구성
  • 보안상 privaet EC2는 직접 접근 금지, Bastion 경유 하여 접근제어

2. 네트워크 아키텍처

  • VPC 및 서브넷 구성
    • Public Subnet → EC2: Bastion
    • Private Subnet → EC2: WordPress (Docker 기반)
  • NAT Gateway 구성 → Private Subnet에서 외부로 Traffic이 전달 될 수 있도록 설정
  • Routing Table 설정 → 각 서브넷에 맞게 인터넷 게이트웨이 또는 NAT 지정
  • 접속 흐름
    • GitHub Actions → Bastion → Web EC2 (SSH ProxyCommand or -J 옵션)
    • 참고사항 -> Bastion 서버의 경우 경유 목적으로만 사용 됩니다.

3. Securtiy 구성 

Bastion 22/tcp from 내 IP SSH 접속용
Web EC2 8080/tcp from Bastion SG 워드프레스 확인용
NAT Gateway 아웃바운드 전용 Docker 패키지 설치 및 ECR 통신용
  • pem 키를 authorized_keys에 직접 등록 방식 사용
  • 권한 설정 필수: chmod 600 으로 키 파일 보호
  • GitHub Actions에서 .pem 키는 base64 인코딩 후 GitHub Secrets에 등록

4. Docker & WordPress 환경 구성

  • Ec2(private) 내부의 Docker 설치 및 권한 부여

  • docker-compose 설치(Private Ec2)

  • .env 파일 구성

 

 

 

 

 

  • docker-compose.yml 파일 구성

wordpress에대한 docker-compose.yml

기본적으로 setting은 완료 되었으며, 다음 장에 이어서 CI/CD 연결 및 GIthub내부 세팅을 진행할 예정이며, 총 3장 내용의 불량으로 Trouble Shooting 내역까지 공유 예정이다

반응형

'Devops' 카테고리의 다른 글

Gitlab CI/CD를 이용한 ECS배포 -1 (1)  (0) 2025.09.03
Blue/Green 배포  (6) 2025.08.28
Docker 교육 자료 -2  (0) 2025.06.12
Docker 교육 자료 -1  (0) 2025.06.07
Kubernetes 개념 정리 2 - Pod  (0) 2025.05.08