1. 서론EC2에서 Gradle 빌드 시 인스턴스가 멈추는 현상이 발생했습니다.이는 메모리 부족으로 인해 발생한 문제로, 스왑 메모리(swap)를 설정하여 해결할 수 있었습니다.이번 글에서는 스왑 메모리란 무엇인지와 이를 설정하는 방법을 상세히 소개합니다.2. 문제 발생 원인EC2 인스턴스의 낮은 메모리 용량AWS 무료 플랜에 포함된 t2.micro 인스턴스는 1GB 메모리를 제공합니다.Jenkins 서버와 같은 애플리케이션은 백그라운드에서 많은 메모리를 소비하기 때문에 Gradle 빌드 과정에서 메모리가 부족할 가능성이 높습니다.3. 스왑 메모리(Swap Memory)이란?스왑(Swap) 은 물리 메모리(RAM)가 부족할 때 보조기억장치 일부를 가상 메모리로 사용하는 방식입니다.스왑을 설정하면, 부족한..
로드 밸런서를 생성하기 전에, EC2 Auto Scaling Group이 있어야 합니다. 생성방법은 이전 포스트를 참고해주세요!2024.11.19 - [AWS/EC2] - [EC2] EC2 Auto Scaling Group 적용 (1) - 도입배경, 이론이번 포스트에서는 앞서 설계한 내용을 구현하는 과정을 다룹니다. 주요 작업 순서는 다음과 같습니다로드 밸런싱 대상이 될 Target Group 생성Auto Scaling Group 및 Backend 인스턴스를 Target Group에 연결각 리소스의 보안 그룹 구성로드 밸런서 생성연결 테스트- 자세한 이론은은 AWS ASG 문서 와 AWS Load Balancer 문서를 참고해주세요!1. Traget Group 생성로드밸런싱을 위해선 우선 로드밸런싱 대상..
서론이번 포스트에서는 프로젝트에 Elastic Load Balancer(ELB)를 도입하게 된 이유와 그 효과에 대해 설명하겠습니다.1. 도입배경기존에 Backend Instance를 EC2 Auto Scaling Group으로 구성하였습니다.Auto Scaling을 통해 인스턴스 수는 트래픽에 따라 자동으로 조절되었지만, 프론트엔드 리버스 프록시를 통해 넘어오는 요청은 특정 인스턴스에만 몰리는 문제가 있었습니다.이러한 구조에서는 오토스케일링의 장점을 온전히 활용할 수 없었고, 특정 인스턴스가 과부하로 인해 성능이 저하되거나 서비스 중단이 발생할 위험이 있었습니다.이를 해결하기 위해 Elastic Load Balancer를 도입하게 되었습니다2. Elastic Load Balancer 쉬운 설명지난번 A..
이번 포스트에서는 AWS의 Auto Scaling Group(ASG)을 설정하고 동작을 확인하는 과정을 단계별로 알아보겠습니다.ASG 테스트 개요 및 시나리오1) 테스트 항목1. Scale Out 테스트: 부하 증가 시 ASG가 적절히 인스턴스를 추가하는지 확인2. Scale In 테스트: 부하 감소 시 ASG가 인스턴스를 줄이는지 확인3. 인스턴스 교체 테스트: 헬스 체크 실패 시 ASG가 정상적으로 인스턴스를 교체하는지 확인2) ASG 환경 설정최소 인스턴스 수: 1개최대 인스턴스 수: 3개(Scale Out 인스턴스 수 제한)스케일링 조건: 평균 CPU 사용률 50% 이상(낮은 허들 설정)인스턴스 교체 조건: 헬스 체크 실패1. Scals out 테스트테스트 목표ASG가 CPU 부하 증가를 감지하여..
이번 포스트에서는 AWS의 Auto Scaling Group(ASG)을 설정하고 동작을 확인하는 과정을 단계별로 알아보겠습니다.AMI 생성, Launch Template 생성, ASG 설정, 그리고 동작 확인까지 진행합니다.1. AMI 이미지 생성EC2 인스턴스를 바탕으로 생성하는 이미지 파일입니다.운영체제(여기선 Ubuntu), 애플리케이션, 설정파일등을포함합니다.1) 이미지 생성 시작AWS 콘솔에서 EC2 인스턴스 목록으로 이동합니다.Auoto Scaling Group으로 지정할 인스턴스의 상세 페이지를 엽니다.상단 메뉴에서 작업 > 이미지 및 템플릿 > 이미지 생성을 선택합니다.2) 이미지 설정 입력팝업 창에서 다음 정보를 입력합니다:이미지 이름: 이미지의 용도를 알 수 있도록 직관적인 이름을 입력..