본문 바로가기
2024 웹/Spring & Spring Boot

aws 배포 flow

by concho 2024. 6. 9.

도커 로그 보기

sudo docker logs -f --since 3000s potatoes_con1

 

aws 배포 flow

1. 도커 이미지화

Spring Boot 애플리케이션을 Docker 이미지로 만듭니다. 프로젝트 루트 디렉터리에 Dockerfile을 생성합니다.


# Dockerfile 예제
FROM openjdk:17-jdk-alpine
COPY target/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]

프로젝트를 빌드하여 JAR 파일을 생성합니다.


./mvnw clean package

Docker 이미지를 빌드합니다.


docker build -t yourapp .


2. 도커 이미지 허브에 올리기

Docker Hub에 로그인하고 이미지를 푸시합니다.


docker login
docker tag yourapp yourdockerhubusername/yourapp:latest
docker push yourdockerhubusername/yourapp:latest


3. AWS EC2에 도커 설치

EC2 인스턴스를 생성하고 SSH로 접속하여 Docker를 설치합니다.


# Docker 설치
sudo yum update -y
sudo amazon-linux-extras install docker
sudo service docker start
sudo usermod -a -G docker ec2-user

# Docker 서비스 활성화
sudo systemctl enable docker



4. 도커 이미지 다운로드

Docker Hub에서 Docker 이미지를 다운로드합니다.


docker login
docker pull yourdockerhubusername/yourapp:latest



5. 도커 이미지 컨테이너화 + 실행

Docker 이미지를 기반으로 컨테이너를 생성하고 실행합니다.


docker run -d -p 80:bootPortNum -e TZ=Asia/Seoul --name yourapp_container yourdockerhubusername/yourapp:latest


6. EC2 로드 밸런서 만들기

  AWS Management Console에서 로드 밸런서를 생성합니다.

   1. 로드 밸런서 생성: EC2 대시보드에서 "Load Balancers"를 선택하고 "Create Load Balancer"를 클릭합니다.

   2. 로드 밸런서 구성: 유형(예: Application Load Balancer)을 선택하고 설정을 구성합니다.

   3. 대상 그룹 생성: 새 대상 그룹을 생성하고 EC2 인스턴스를 추가합니다.


7. Route 53에서 도메인 구매

   AWS Route 53 콘솔에서 도메인을 구매합니다.

    1. Route 53 콘솔로 이동: AWS Management Console에서 Route 53으로 이동합니다.

    2. 도메인 등록: "Register Domain"을 클릭하고 원하는 도메인을 등록합니다.


8. Route 53에서 인증서 받기

  AWS Certificate Manager(ACM)을 사용하여 SSL/TLS 인증서를 요청합니다.

    1. ACM 콘솔로 이동: AWS Management Console에서 Certificate Manager로 이동합니다.

    2. 인증서 요청: "Request a certificate"를 클릭하고 도메인을 입력하여 인증서를 요청합니다.


9. 구매한 도메인의 하위 레코드 만들기

  Route 53에서 도메인의 DNS 레코드를 설정합니다.

    1. 호스팅 영역 생성: Route 53에서 도메인을 위한 호스팅 영역을 생성합니다.

    2. 레코드 생성: 하위 도메인 레코드를 생성하여 로드 밸런서와 연결합니다.


10. 생성한 레코드와 EC2 로드 밸런서 연결

    Route 53에서 생성한 레코드를 로드 밸런서에 연결합니다.

    1. 호스팅 영역에서 레코드 생성: 로드 밸런서의 DNS 이름을 가리키는 A 레코드 또는 CNAME 레코드를 생성합니다.

    2. 레코드 연결 확인: 생성된 레코드가 올바르게 연결되었는지 확인합니다.


11. 테스트 해보기

    브라우저에서 도메인에 접속하여 애플리케이션이 올바르게 작동하는지 테스트합니다. http://yourdomain.com 또         는 https://yourdomain.com으로 접속하여 확인합니다.

'2024 웹 > Spring & Spring Boot' 카테고리의 다른 글

도커 (war 파일 배포)  (1) 2024.06.09
aws 배포 자료  (2) 2024.06.08
도커 배포 참고자료  (0) 2024.05.02
spring security  (0) 2024.04.29
spring dependency  (0) 2024.04.29

댓글