본문 바로가기
Cloud | CICD/Deploy

[Deploy] Github Actions + Docker + EC2 자동 배포 #1 | EC2 설정

by seoyamin 2023. 2. 16.

이전 포스팅에서는 수동으로 jar 파일을 배포해봤었다.

이번에는 GitHub Action을 통해 CI/CD 자동 배포를 진행해볼 것이다.

오늘은 EC2 생성 단계이다.

[준비물] AWS 계정 (Free Tier)
[참고] https://bcp0109.tistory.com/363

 

 

1. 인스턴스 생성

1-1. Application / AMI 설정

Ubuntu 서버, 64비트를 선택해줬다.

 

1-2. 인스턴스 유형

프리티어가 사용 가능한 t2.micro로 선택해준다.

 

1-3. 키페어 생성

생성하고 다운받은 pem 파일은 잘 보관해둔다.

 

1-4. 네트워크 설정

보안 그룹을 새로 생성하면서 EC2 인스턴스를 만든다.

이후에 보안 그룹 설정을 따로 해줄 것이라 지금은 본인 IP에서 만 SSH 허용해두고 넘어간다.

 

1-5. 스토리지 설정

Free Tier 최대 볼륨인 30으로 설정해준다.

 

1-6. 인스턴스 생성

모든 설정이 완료되었으면 인스턴스를 생성해준다.

귀여운 우리 서버

 


2. Elastic IP (탄력적 IP) 설정

로컬 서버가 아닌, 어디서든 우리 서버에 일관적으로 접근할 수 있는 IP 주소가 필요하다.
이를 Elastic IP라고 한다. 

  Elastic IP는 AWS에서 큰맘먹고 빌려주는 우리만의 주소다.
따라서 만들어만 두고 실제 인스턴스에 연결해두지 않으면 AWS에게서 요금으로 혼쭐나게 된다. 주의하자 ^ ^

 

 

2-1. Elastic IP 주소 할당

다른 설정을 모두 기본값으로 두고, '할당'을 클릭하면 생성된다.

 

 

2-2. 인스턴스 연결

방금 만든 인스턴스를 선택하고, 프라이빗 IP도 선택해줬다.

 

인스턴스에 Public IP = Elastic IP 이면 설정 성공 !

 

 


3. 보안 그룹 설정

잠시 미뤄두었던 보안 그룹 설정을 해볼 것이다. 아까 만들었던 보안 그룹을 찾아간다. 

 

3-1. 인바운드 규칙 편집

내 로컬 IP로 SSH를 설정하고, HTTP / HTTPS를 다 열어준다.

나는 MariaDB RDS와 연결할 것이라 MySQL/Aurora도 열여주었다.

그리고 프론트 로컬 호스트 포트인 8080과 스프링 포트가 겹치지 않게 백엔드용 포트 5000을 추가해줬다.

 

 

 

EC2 설정 완료 !