3년차가 되어서야... 써보는 EC2...
배포 (Deployment)
만든 서비스(웹페이지, 서버 등)를 다른 사용자들이 인터넷을 통해 접속할 수 있도록 만드는 과정
내 컴퓨터에서 개발 할 때는 localhost 사용 - localhost 는 다른 사용자들이 접속할 수 없기 때문에 도메인 주소나 IP 부여해야 함
EC2(Elastic Compute Cloud)
하나의 컴퓨터를 원격으로 빌려쓰는 서비스
내 컴퓨터를 서버로 사용하여 배포해도 되지만 - 그렇게 하면 내 컴퓨터를 24시간 켜놔야 하고, 보안적으로도 위험할 수 있기 때문에 EC2 서비스를 사용
주로 EC2는 백엔드 서버 배포에 사용하고, 프엔은 vercel, netify, AWS S3 같은 것들을 사용함
AWS EC2 사용하기
1) Region 선택 (데이터 센터 위치 선택)
사용자의 위치와 애플리케이션을 실행시키고 있는 컴퓨터 위치가 멀수록 속도가 느려짐, 그래서 애플리케이션의 주된 사용자들의 위치와 지리적(물리적)으로 가까운 Region을 선택하는 것이 유리 (한국 서비스 - 아시아 태평양(서울) 선택이 유리)
2) 인스턴스 설정 및 시작
- server name - test-server
- os - ubuntu
- 인스턴스 유형 - t2.micro (좋은 걸 쓸 수록 성능이 좋음, 하루 방문자 2000명 정도도 t2.micro 충분)
- 키 페어 - 인스턴스에 접근하는 비밀번호 (생성하면 키 페어 파일이 다운로드 됨)
- 보안 그룹 - EC2 instance를 감싸고 있는 보안 그룹(security group), 외부에서 EC2 instance 로 향하는 인바운드 트래픽 / EC2 instance 내부에서 외부로 향하는 아웃바운드 트래픽 을 검토하여 어떤 트래픽만 허용할지 설정 가능
스토리지 구성(EBS - Elastic Block Storage, 하드디스크 구성)
3) E2C 접속하기
인스턴스 종료 - 인스턴스 삭제를 의미하므로 조심하기
4) 탄력적(Elastic) IP 연결하기
기본 인스턴스의 IP는 인스턴스 종료시마다 변경(반납)되므로 탄력적 IP 생성하여 인스턴스에 할당하자
5) EC2 인스턴스에 Spring boot 배포
- 인스턴스 서버에 jdk 설치하기
- application.yaml 파일 작성(server 80 포트 설정 등)
- 빌드 ./gradlew clean build
- 실행 java -jar ….jar

'BE 📙 > 비전공자도 이해할 수 있는 cicd 입문 실전' 카테고리의 다른 글
| 개인 프로젝트(백엔드)에서 CI/CD 적용하기 (0) | 2025.03.18 |
|---|---|
| CI/CD, Github Actions 기본 개념 (0) | 2025.03.13 |
댓글