EC2

최근 교내 해커톤을 진행하던 중 CI/CD 파이프라인이 동작하지 않는 상황이 발생해서 관련 코드를 싹 다 지우고 EC2에 서버를 수동으로 배포했었다. 또 이런 일이 생길 수도 있을 것 같아서 구글링 하지 않아도 되도록 따로 정리해두려고 한다. 참고로 AWS에 대한 자세한 설명은 나중에 하고, VPC를 통해 EC2를 구축한 뒤 RDS DB 서버를 만들어서 접속하는 방법만 작성한다. 1. AWS EC2 서버 배포대략적으로 이해한 내용만 적어보면, AWS VPC는 사설 IP를 제공해 준다. 보통 10.0.0.0/16 같은 식으로 부여받고, 그 안에 서브넷(10.0.1.0/24, 10.0.2.0/24 등)을 나눠 EC2나 같은 RDS 인프라 자원을 배치할 수 있다.- public 서브넷은 외부와 통신할 때 In..
1. 현업에서 EC2에 Redis를 설치해서 쓰지 않고 ElastiCache를 쓰는 이유예시EC2에 MySQL을 직접 설치해서 DB 서버처럼 써도 괜찮지만, 직접 MySQL을 깔고 이것저것 설정하는 것보단 AWS RDS 서버(AWS에서 세팅해 놓은 DB 서버)를 사용하는 게 여러 가지 부가 기능도 사용할 수 있고 안정성도 높다. 현업에서 EC2에 Redis를 설치해서 쓰지 않고 ElastiCache를 쓰는 이유도 비슷하다. 현업에서 EC2에 Redis를 직접 설치하는 경우는 드물다. 일일이 Redis를 설치하고 세팅하고 관리하면서 확장까지 하려면 신경 쓸 게 생각보다 많다. 그러나 ElastiCache를 사용하면 세팅이나 확장을 쉽게 할 수 있고, 기본적인 모니터링 기능도 제공해 주며 장애가 날 가능성도..
1. Docker Compose로 Redis, Spring Boot 한 번에 띄울 수 있게 구성하기구성에 필요한 파일 만들기a. Dockerfile17-jdk에서 빌드한 파일을 복사해 실행시키는 Docker 이미지FROM openjdk:17-jdkCOPY build/libs/*SNAPSHOT.jar app.jarENTRYPOINT ["java", "-jar", "/app.jar"] b. compose.ymlDockerfile을 기준으로 서버를 빌드함 (포트는 8080)캐시 서버(Redis)가 정상적으로 실행되고 있다는 걸 확인한 뒤에 백엔드 서버를 띄울 것임 (캐시 서버가 안 띄워져 있으면 오류 표시)services: api-server: build: . ports: - 8080:8..
EC2, RDS, Spring Boot, Redis를 활용한 아키텍처 구성은 아래와 같다.  1. EC2 생성서울 리전으로 맞추기 & 인스턴스 시작 버튼 클릭 인스턴스 이름 설정 애플리케이션 및 OS 이미지 → Ubuntu (버전 24.04)로 설정 인스턴스 유형은 t3a.small 이상으로 생성할 것을 권장함프리티어인 t2.micro에서 Spring Boot, Redis를 다 돌리기엔 성능이 모자라기 때문에 중간에 EC2가 멈춰버리기도 함 원래는 키페어를 생성해서 셋팅을 해야 하지만, Redis만 연결시켜 보고 테스트 후 바로 종료시킬 것이기 때문에 [키 페어 없이 계속 진행(권장되지 않음)]을 선택서비스를 하는 입장이라면 키 페어를 만드는 걸 추천 네트워크 설정 → 편집 클릭VPC는 기본값 그대로 셋..
dev-meung
'EC2' 태그의 글 목록