https://everyday-spring.com/628
https://everyday-spring.com/629
지난 글에서 로컬 윈도우 pc에 Docker와 Jenkins를 설치하여 테스트를 해보았다
이제 EC2에서 다시 시작해보자
AWS EC2 Instance 생성
EC2 권한이 있는 IAM 계정으로 로그인한다
EC2 서비스를 검색해서 들어간다
EC2 메인보드
지역을 서울로 설정하고 왼쪽 네비게이션의 Instances로 이동한다
서울 리전을 사용해야 더 빠른 연결과 비용절감을 할 수 있다
Launch instances를 클릭해 새로운 인스턴스를 생성할 수 있다
원하는 인스턴스 이름을 입력하고 OS를 선택해준다
정답은 없지만 나는 사용해본 ubuntu를 사용했다
(ubuntu가 많이 사용되어서 검색 레퍼런스도 많다)
중요합니다
프리티어 계정의 기본설정은 t2.micro 타입으로 지정되어있다
도커 젠킨스 설치에는 문제가 없으나
GitHub 프로젝트 빌드시에 리소스 부족으로 먹통이 될 수 있다!!!!
가격을 고려해 스팩업을 꼭 해주자
프로젝트에 따라 필요한 리소스가 다르기때문에 정답은 없지만
최소 2 vCPU 2 ~ 4 GiB Memory가 필요하다
ubuntu - t3.small type을 24시간 가동하였을때 천원정도 비용이 발생하는 수준
로컬에서 젠킨스를 테스트 해보고 별 생각없이 t2.micro로 진행했다가
처음부터 다시 설치했다
키페어를 생성해준다 (pem키를 잘 가지고 있다면 있던거 써도 된다)
여기서 생성한 키페어는 window환경에서 Putty로 연결할때 사용하고,
Jenkins에서 credential로 등록해서 배포시에 사용한다
원하는 이름 지정 후 key pair 생성
자동 저장되는 .pem 파일은 곧 사용하니 경로를 잘 확인해두자
보안그룹은 원래 사용하던게 있다면 사용해도 된다
나는 깔끔하게 필요한 것만 사용하는게 편해서 새로 생성하는 편이다
스토리지 설정은 Free tier에서 사용가능한 30으로 변경한다
여기까지 하면 필요한 설정 완료
새로운 인스턴스를 생성해준다!
생성된 인스턴스는 자동으로 Runnig 상태로 실행된다
EC2 Instance 고정 IP 설정 (선택)
고정 IP가 선택인 이유는 돈이 나가니까!
근데 해두면 편하다...
네비게이션 메뉴에서 Elastic IPs를 클릭해 이동한다
별도의 설정없이 한화 이글스색 버튼을 순서대로 클릭만하면 IP가 생성된다
생성된 IP를 클릭하면 상세정보를 확인할 수 있다
생성된 IP 상세 페이지에서 Associate Elastic IP address 클릭
위에서 생성한 인스턴스를 선택하고
Associate를 클릭하면 선택한 인스턴스의 public IP가 변경된 것을 확인 할 수 있다
EC2 Instance port 설정
외부에서 접속할 수 있도록 필요한 포트들을 열어줘야한다
인스턴스 상세페이지로 이동해 하단의 Security메뉴를 클릭한다
빨간 밑줄부분에 있는 Security Groups을 클릭
Edit inbound rules 클릭
외부에서 EC2 내부로 들어오는 port에 대한 설정이다
ssh로 접속하는 22 포트가 기본으로 설정되어있고
두가지를 추가해줬다
하나는 SpringBoot 프로젝트가 배포될 9090,
하나는 Jenkins 접속을 위한 8080,
(Spring Boot의 기본 포트와 Jenkins의 기본 포트 모두 8080로 동일하니 적절히 변경해서 사용해야 한다)
필요한 포트를 등록하고 저장해준다
여기까지 하면 외부에서 접속하기 위한 포트 설정까지 완료!!!