본문 바로가기

반응형

AWS

[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] CI/CD 파이프라인과 AWS CI/CD 서비스 CI/CD 도입 계기는 항상 필요로 생각하고 있는 부분이었지만 귀찮다는 생각에 시도를 하지 않았지만 시간이 지날 수록 프로젝트가 커지면서 배포 과정에 점점 더 많은 시간들이 낭비되고 있는게 느껴져(약 3~5분) 배포 자동화의 필요성을 뼈저리게 느꼈다. 원래는 jenkins 로 CICD 를 간단하게 구축하려 했지만 기존에 해봤던 작업이라 지루함이 작업시작도 전부터 눈에 훤했다. 그래서 다른 파이프라인 구축 방법을 찾아봤고 AWS 서비스를 통해서도 유사하게 그리고 기존 시스템들과 더 잘 통합될 수 있는 이점이 있다는걸 알게되었다. 자동화할 과정과 환경은 다음과 같다 스프링 프로젝트 빌드 - 스프링 프로젝트를 빌드하여 실행 가능한 JAR 파일 생성 도커 이미지 빌드 - 생성된 JAR 파일을 기반으로 도커 이미.. 더보기
[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-EC2] EC2 인스턴스 생성 + 탄력적 IP 주소 (Ubuntu) EC2(Elastic Compute Cloud) Amazon Elastic Compute Cloud(Amazon EC2)는 Amazon Web Services(AWS) 클라우드에서 확장 가능 컴퓨팅 용량을 제공합니다. Amazon EC2를 사용하면 하드웨어에 선투자할 필요가 없어 더 빠르게 애플리케이션을 개발하고 배포할 수 있습니다. Amazon EC2를 사용하여 원하는 수의 가상 서버를 구축하고 보안 및 네트워킹을 구성하며 스토리지를 관리할 수 있습니다. Amazon EC2에서는 확장 또는 축소를 통해 요구 사항 변경 또는 사용량 스파이크를 처리할 수 있으므로 트래픽을 예측할 필요성이 줄어듭니다. 링크 요약하면 하드웨어 컴퓨터에 비해 초기비용이 저렴하고 트래픽에 따른 확장에 및 축소에 용의 및 환경 구.. 더보기
[AWS] 아주 쉽게 AWS ElastiCache 도입하여 spring 에서 redis 기능 구현 aws elastiCache redis + spring/kotlin aws elastiCache 콘솔 화면에서 redis탭의 생성 버튼으로 redis 메모리 생성 진행 * 클러스터 모드 - 클러스터 모드를 활성화하면 샤드를 추가 가능하다. 샤드를 추가하면 샤딩 방식에 따라 메모리에 저장되는 데이터를 특정 집단으로 분리하여 저장하므로 워크로드를 분산(성능 개선)한다. 샤딩 - 메모리에 데이터를 분리하여 저장하는 방식 elastiCache redis의 샤딩기법 - 모든 캐시 키가 해시 슬롯에 매핑되는 방식으로 샤딩을 활용. 1개의 클러스터는 16,384개의 슬롯을 사용할 수 있고 클러스터 내 총 샤드에 균등하게 배포 포트 - 일반적으로 redis는 6379 포트 사용 (건들지 말자) 샤드 수 - 분산시킬 파.. 더보기

반응형