Spring Boot 를 AWS 로 배포해보자.
PRJ : Spring Boot (java17)
배포 : Elastic Beanstalk
DB : RDS (MySQL) Elastic Cache Redis
CI/CD : GithubAcations
2023.12.20 기준, 사진만 보고도 따라할 수 있다. (UI가 많이 바뀌면 다르겠지만..)
회원 가입 후 프리티어로 진행이 가능하며 계정 설정은 다루지 않는다.
💡 Elastic Beanstalk
Elastic Beanstalk 를 검색 후 이동한다.우리의 위치는 아시아 태평양 (서울) 로 설정해야한다.
Elastic Beanstalk -> 환경 -> 환경 생성 을 눌러준다.이 외에 설정은 따로 하지 않았다.
웹 서버 환경체크
애플리케이션 이름작성
환경 이름은 자동 작성된다.
나머지 설정은 넘기고 플랫폼에서
Java 를 선택해 준다.프로젝트 환경과 알맞게 설정해준다.
프리 티어를 사용하므로 위와 같이 셋팅 후
다음 버튼 클릭서비스 역할을 통해 접근, 권한 등을 설정 할 수 있다.
EC2 인스턴스 프로파일 하단에 권한 세부 정보 보기 를 클릭한다.위와 같은 권한이 나오는데
IAM 콘솔 링크 버튼을 클릭한다.역할 의 2 숫자를 클릭한다.역할 생성 을 클릭한다.AWS 서비스 와 EC2 로 설정한다.이후
다음 버튼 클릭권한 정책을 설정해야한다.
- AWSElasticBeanstalkWebTier
- AWSElasticBeanstalkWorkerTier
- AWSElasticBeanstalkMulticontainerDocker
위와 같이 3개의 권한을 설정해주고
다음 버튼 클릭이름을 정해준다. EC2 인스턴스 프로파일에 설정할 권한이다.
(필자는
aws-elasticbeanstalk-ec2-role)신뢰 정책이 위와 같은지 확인해준다.
설정한 권한이 맞는지 확인하고
역할 생성 클릭새로 만들어준 역할로 권한을 준다. (필자는
aws-elasticbeanstalk-ec2-role)이후
다음 이 아닌 검토 단계로 건너뛰기 를 클릭 후 맨 하단 제출 을 클릭해 생성해준다.Elastic Beanstalk 환경을 구성하고 있다.환경 개요 -> 상태 가 pending 이다. ok 가 될 때까지 기다려준다.시간이 조금 소요된다.
환경 개요 -> 상태 가 ok 가 뜨면 아래의 도메인 링크를 클릭한다.위와 같이 샘플 애플리케이션 페이지가 나오면 성공한 것이다.
![[AWS] Elastic Beanstalk + Elastic Cache + GithubActions + SpringBoot CI/CD 배포하기 (1)](/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253Aa65dbe2e-9cd6-403a-8e20-a7dc952bb2bf%253A20250825_2218_3D_AWS_Logo_Banner_simple_compose_01k3gp1xf2ehht45car66ryf8v.png%3Ftable%3Dblock%26id%3D25aa12d0-8f8e-8004-b67c-cd7525db10fb%26cache%3Dv2&w=3840&q=75)