본문 바로가기

반응형

AWS

[AWS] CodePipeline으로 CI/CD 구현하기 AWS CodeDeploy 및 CI/CD 에 대한 설명은 아래 글로 대신합니다. [AWS] CI/CD 파이프라인과 AWS CI/CD 서비스 CI/CD 도입 계기는 항상 필요로 생각하고 있는 부분이었지만 귀찮다는 생각에 시도를 하지 않았지만 시간이 지날 수록 프로젝트가 커지면서 배포 과정에 점점 더 많은 시간들이 낭비되고 있는게 kanoos-stu.tistory.com CI/CD 파이프라인 구축을 위해 AWS CodePipeline 설정 CodePipeline이 CI/CD 파이프라인에서 담당할 과정은 다음과 같다 지정한 GitHub 리포지토리의 특정 브랜치에 대한 소스 코드의 변경 감지 변경 감지 시 빌드 공급자를 통한 빌드 (CodeBuild) 빌드 완료 시 배포 공급자를 통한 배포 (CodeDeplo.. 더보기
[AWS] CodeDeploy를 이용한 Docker 이미지 EC2 배포 AWS CodeDeploy 및 CI/CD 에 대한 설명은 아래 글로 대신합니다. [AWS] CI/CD 파이프라인과 AWS CI/CD 서비스 CI/CD 도입 계기는 항상 필요로 생각하고 있는 부분이었지만 귀찮다는 생각에 시도를 하지 않았지만 시간이 지날 수록 프로젝트가 커지면서 배포 과정에 점점 더 많은 시간들이 낭비되고 있는게 kanoos-stu.tistory.com CI/CD 파이프라인 구축을 위해 AWS CodeDeploy 설정 CodeDeploy가 CI/CD 파이프라인에서 담당할 과정은 다음과 같다 CodeBuild 빌드 작업이 완료되면 EC2에 접속 CodeDeploy agent 와 통신 AppSpec에 작성된 명령을 실행 ECR에 저장된 이미지를 풀 풀 받은 이미지를 실행 실행된 프로그램이 게.. 더보기
[AWS] CodeBuild를 이용한 Docker 이미지 빌드 및 ECR에 저장 AWS CodeBuild 및 CI/CD 에 대한 설명은 아래 글로 대신합니다. [AWS] CI/CD 파이프라인과 AWS CI/CD 서비스 CI/CD 도입 계기는 항상 필요로 생각하고 있는 부분이었지만 귀찮다는 생각에 시도를 하지 않았지만 시간이 지날 수록 프로젝트가 커지면서 배포 과정에 점점 더 많은 시간들이 낭비되고 있는게 kanoos-stu.tistory.com CI/CD 파이프라인 구축을 위해 AWS CodeBuild 설정 CodeBuild가 CI/CD 파이프라인에서 담당할 과정은 다음과 같다 GitHub에 있는 Spring 프로젝트를 Pull Sring 프로젝트를 빌드 JAR 파일을 Docker Image로 빌드 Docker Image를 ECR에 푸시 AWS CodeBuild 빌드 프로젝트 생성 .. 더보기
[AWS] CI/CD 파이프라인과 AWS CI/CD 서비스 CI/CD 도입 계기는 항상 필요로 생각하고 있는 부분이었지만 귀찮다는 생각에 시도를 하지 않았지만 시간이 지날 수록 프로젝트가 커지면서 배포 과정에 점점 더 많은 시간들이 낭비되고 있는게 느껴져(약 3~5분) 배포 자동화의 필요성을 뼈저리게 느꼈다. 원래는 jenkins 로 CICD 를 간단하게 구축하려 했지만 기존에 해봤던 작업이라 지루함이 작업시작도 전부터 눈에 훤했다. 그래서 다른 파이프라인 구축 방법을 찾아봤고 AWS 서비스를 통해서도 유사하게 그리고 기존 시스템들과 더 잘 통합될 수 있는 이점이 있다는걸 알게되었다. 자동화할 과정과 환경은 다음과 같다 스프링 프로젝트 빌드 - 스프링 프로젝트를 빌드하여 실행 가능한 JAR 파일 생성 도커 이미지 빌드 - 생성된 JAR 파일을 기반으로 도커 이미.. 더보기
[AWS] AWS SNS와 SQS를 사용한 이벤트 처리 구현하기 (w.Spring Boot) Spring 환경 (gradle) plugins { id("org.springframework.boot") version "2.7.2" id("io.spring.dependency-management") version "1.0.12.RELEASE" kotlin("jvm") version "1.6.21" kotlin("plugin.spring") version "1.6.21" kotlin("plugin.jpa") version "1.6.21" kotlin("kapt") version "1.6.21" } ... extra["springCloudVersion"] = "2021.0.3" ... dependencies { implementation(platform("software.amazon.awssdk:bom.. 더보기
[AWS] 마이크로 서비스 환경 구축을 위한 EC2 + Route53 + Load Balancer + ACM(SSL) 사용 요청 구조 및 프로세스 클라이언트 -> Route53 도메인으로 요청 Reoute53 도메인에 설정된 Load Balancer로 포워딩 Load Balancer의 리스너에 정의된 SSL 인증서를 통에 인증 Load Balancer의 리스너에 정의된 대상 그룹에 규칙에 맞게 요청 대상(EC2)은 클라이언트 요청에 맞게 응답 AWS 환경 구성 로드 밸런싱 대상 그룹 생성 EC2콘솔에서 로드 밸런싱 탭의 대상 그룹에 Create target group 버튼 클릭 대상 그룹의 타입은 VPC 내의 인스턴스로 선택 포트는 로드밸런서가 EC2에 접근할 포트번호를 입력 VPC는 자신의 EC2가 포함되어있는 그룹을 선택한다. Health check - 대상 그룹에 설정한 포트로 health check 요청을 보내 설정한.. 더보기
[AWS - Route53] Route53 이란? 쉽게 도메인 등록 및 EC2연결 Route 53 AWS에서 제공하는 DNS이다. 다른 도메인 등록 기관(가비아, 후이즈 등) 에 비해 가격이 비슷하거나 저렴하고, 등록 외에 부가적인 기능 제공 및 안정성, GUI를 제공해 관리가 수월하다. Route 53은 Public host zone 과 Private host zone이 존재한다. Public host zone 은 일반 DNS와 같이 동작하고, Private host zone 은 AWS 내부에서만 동작된다. Route 53 기능 1. 모니터링 - 특정 포트에 대해 모니터링이 가능하다. 2. L4 기능 3. GSLB(global server load balancing) - 지역에 상관없이 부하를 분산 및 속도 개선이 가능함 (참고) Route 53 으로 도메인 등록 먼저 Route 5.. 더보기
[AWS] EC2 볼륨(용량) 늘리기 볼륨 확장할 인스턴스의 볼륨 선택 먼저 EC2 콘솔 인스턴스탭에서 볼륨을 확장할 인스턴스를 선택하고 하단 스토리지탭에서 보여지는 볼륨 ID를 선택한다. 볼륨 용량 수정 다음으로 볼륨 페이지에서 수정할 볼륨을 좌측 체크박스에 체크하고 우측 상단의 작업 버튼을 누르면 다음과 같이 볼륨 수정이 보인다. 볼륨 유형 범용 SSD - I/O 요구사항이 보통 수준이거나 가끔 집중적으로 발생하는 애플리케이션에 적합한 스토리지, 비용 효율적 프로바이저닝된 IOPS SSD - 짧은 지연 시간을 제공, I/O집약적인 워크로드에 적합(관계형 DB, NoSQL 등) 마그네틱 - 데이터에 자주 액세스하지 않는 워크로드에 적합 크기 - 해당 볼륨 유형의 사용할 크기 IOPS - 저장장치의 속도를 나타내는데 사용되는 측정 단위, .. 더보기

반응형