파이프라인 Security에 집중한 DevOps 구현 - 아키텍처 개요 (1)

2025. 1. 26. 23:32·Project/Cloud

아키텍처 개요

25년 1월이 다 지나가는 지금.. 첫 겨울방학 프로젝트를 시작한 지 벌써 한 달이 지나간다... 그동안 CodeBuild, S3, ECR, ECS(Fargate), VPC 등등 다양한 서비스를 이용해서 글을 작성하는 시점에는 juice shop라는 샘플 앱을 무중단 배포 방법 중 하나인 Rolling Update로 배포시키는 것에 성공하였다. 원래 처음 프로젝트를 준비할 때 두 달 동안 배포를 모두 끝내는 것이 목표였는데.. 예상과 다르게 너무 빨리 끝나서 보안 피처 통합, 모니터링 등등 추가적인 아키텍처를 만들어 갈 것 같다. 일단 지금까지의 과정을 1월이 지나기 전에 기록하고자 이 글을 쓰게 되었다. 우리 프로젝트의 아키텍처는 다음과 같이 구성되었다.

흐름을 설명하자면 다음과 같다.

  1. 개발자가 코드를 Git Repo에 push하면 CodePipeline이 실행된다.
  2. 코드는 S3에 Source Artifact로 저장되고, CodeBuild가 이를 참조하여 빌드를 진행한다.
  3. 빌드 진행 후 ECR에 Docker 이미지가 저장된다. 또한 S3 Build Artifate로 ECS의 컨테이너 이름과 ECR의 docker 이미지의 URI가 포함된 imagedefinitions.json 파일이 저장된다. 
  4. 빌드가 모두 끝나면 ECS에서 imagedefinitions.json 파일의 내용을 참조하여 ECR의 docker 이미지를 가져와 배포를 시작한다.
  5. 배포는 2개의 Task를 통해 진행되고 ALB를 통해 트래픽을 제어해 준다.

이번 글의 부제를 정하자면, ECS + Fargate를 이용한 Rolling Update 배포라고 하면 좋을 것 같다.

블로그의 글은 아래와 같은 순서대로 작성할 것이다.

  1. 아키텍처 개요 (현재 글)
  2. CodeBuild + ECR 생성 (링크)
  3. VPC + 서브넷 생성 (링크)
  4. 인터넷 게이트웨이 + NAT 게이트웨이 생성 및 라우트 테이블 설정 (링크)
  5. 로드밸런서(ALB) + 보안 그룹(Security Group) + 대상 그룹(Target Group) 생성 (링크)
  6. ECS 클러스터 생성 + 태스크 정의 + 서비스 생성 (링크)
  7. S3 버킷 생성 + CodePipeline 설정 및 최종 배포 (링크)
  8. 마무리 + 향후 발전 방향 (링크)

 


 

첫 프로젝트를 진행하며 모르는 개념을 검색하고, 책도 찾아보고, 선배에게 도움도 받으며 어느 정도 잘 진행된 것 같다.(물론 아직 안 끝남..) 아무것도 모르는 상태에서 클라우드를 시작하려니 비용적인 부분도 고려해야 할 것이 많고, 무엇을 어떻게 써야 하는지 등등 어려운 부분이 많았지만 사실 프로젝트를 계획하면서 제일 힘들었던 것 같다. 앞서 언급한 것처럼 처음 프로젝트를 진행할 때에는 두 달 동안 위의 파이프라인도 구현 못할 줄 알았다.. 사실 아직 이해 못 한 부분도 조금씩 있고, 헷갈리는 개념도 많지만 이제 어느 정도 감을 잡아서 하나의 서비스를 익히고 사용하는데 대충 어느정도 걸릴지 예상이 되긴 한다. 이 글을 보는 사람 중 나 같은 사람이 있다면 위의 내가 설명한 내용은 노베이스 상태에서도 검색하고 찾아보면서 하면 한 달이면 충분히 끝낸다고 생각하면 좋을 것 같다. (물론 시간을 엄청 쓰긴 함..)

'Project > Cloud' 카테고리의 다른 글

파이프라인 Security에 집중한 DevOps 구현 - VPC + 서브넷 생성 (3)  (1) 2025.01.27
파이프라인 Security에 집중한 DevOps 구현 - CodeBuild + ECR 생성 (2)  (0) 2025.01.27
무중단 배포란?  (0) 2025.01.12
DevOps란?  (0) 2024.12.20
클라우드란?  (2) 2024.12.05
'Project/Cloud' 카테고리의 다른 글
  • 파이프라인 Security에 집중한 DevOps 구현 - VPC + 서브넷 생성 (3)
  • 파이프라인 Security에 집중한 DevOps 구현 - CodeBuild + ECR 생성 (2)
  • 무중단 배포란?
  • DevOps란?
Pandyo
Pandyo
판됴의 성장 스토리 'ㅅ'
  • Pandyo
    dyostory
    Pandyo
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • Kategorie (35)
      • Web (19)
        • Web Hacking (10)
        • 언어 (2)
        • 개발 (5)
        • DataBase (2)
      • Cloud (1)
        • CloudGoat (1)
        • 개념 학습 (0)
      • Project (11)
        • Cloud (11)
      • Wargame (4)
        • Dreamhack (1)
        • CTF (1)
        • Wargame site (2)
  • 링크

  • 태그

    배포 방식
    cloudgoat
    API
    WebHacking
    Web
    graphql
    devops
    Route Table
    JWT
    template
    DBMS
    target group
    Cloud
    Rolling Update
    Internet GateWay
    Token
    ecs
    canary release
    jws
    Fargate
    file
    buildspec.yml
    vulnerability
    Injection
    AWS
    Blue/Green
    CI/CD
    XML
    무중단배포
    NoSQL
  • hELLO· Designed By정상우.v4.10.0
Pandyo
파이프라인 Security에 집중한 DevOps 구현 - 아키텍처 개요 (1)
상단으로

티스토리툴바