이전 포스팅에서는 수동으로 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 설정 완료 !
'Cloud | CICD > Deploy' 카테고리의 다른 글
[React] EC2 인스턴스에 React 프로젝트 배포 (0) | 2023.05.03 |
---|---|
[Cors] Cors 에러 삽질 기록 (0) | 2023.03.07 |
[Deploy] 배포된 EC2에서 Google Login이 안되는 문제 해결 (0) | 2023.03.02 |
[Deploy] EC2에서 Redis 사용하기 (0) | 2023.03.02 |
[Deploy] Github Actions + Docker + EC2 자동 배포 #2 | Docker 설정 (0) | 2023.02.28 |