👩‍💻 개발/📡 DEVOPS

    [DevOps] SpringBoot + GitHub action + Nginx + AWS 배포 - 3

    본 플젝은 스프링부트를 사용했으며 깃헙 액션을 통해 도커허브에 이미지를 푸시하고 ec2에서 이미지를 실행시키는 방식이다. ※ AWS Route53에서 도메인을 구매했거나 Route53의 호스팅 영역 생성 후 NS값을 해당 도메인의 네임서버에 넣어주면 된다. 1. 도메인 Https 설정 -1) AWS ACM(AWS Certificate Manager) 접속 후 인증서 생성 -2) 인증서 ID 누름 → Route 53 레코드 생성 몇 분 후에 성공 상태가 된다. -3) ec2 로드 밸런서 생성 * Application Load Balancer으로 생성 http와 https를 모두 생성해 준 후 타깃 그룹을 생성해 준다. Nginx에서 80 포트로 접속할 것이므로 protocol : http port: 80으..

    [DevOps] SpringBoot + GitHub action + Nginx + AWS 배포 - 2

    본 플젝은 스프링부트를 사용했으며 깃헙 액션을 통해 도커허브에 이미지를 푸시하고 ec2에서 이미지를 실행시키는 방식이다. 1. ec2 설정 ec2 인스턴스 생성 후 인바운드 규칙 수정 기본적으로 아래와 같은 포트가 필요하다. ssh, http, https, DBport, Spring port.. 해당 포트들이 모두 열려있어야 요청 시 접속이 가능하다. ※ 탄력적 IP까지 연결 해주면 좋다. 2. SecretKey 적용 -1) HOST: 배포할 EC2 서버 퍼블릭 DNS(IPv4) 주소 예: ec2 {퍼블릭_IPv4_주소}. ap-northeast-2.compute.amazonaws.com -2) KEY: ----BEGIN RSA PRIVATE KEY--- 부터 ----END RSA PRIVATE KEY-..

    [DevOps] SpringBoot + GitHub action + Nginx + AWS 배포 - 1

    본 플젝은 스프링부트를 사용했으며 깃헙 액션을 통해 도커허브에 이미지를 푸시하고 ec2에서 이미지를 실행시키는 방식이다. 1. 도커 파일 생성 스프링 프로젝트가 빌드된 jar 파일을 도커 이미지로 생성한 후 이를 이용하기 위한 도커 파일 FROM openjdk:11 # jdk 11 version use EXPOSE 8080 #port: 8080 ARG JAR_FILE=build/libs/*.jar # 빌드 결과물을 JAR_FILE에 저장 COPY ${JAR_FILE} app.jar # 빌드된 파일을 app.jar에 카피 ENTRYPOINT ["java","-jar","-Duser.timezone=Asia/Seoul","-Dspring.profiles.active=dev","/app.jar"] # 생성된 ..

    [DevOps] Github Actions란?

    Github Actions GitHub에서 제공하는 지속적인 통합(CI) 및 지속적인 배포(CD) 서비스 개발자는 GitHub 저장소 내에서 워크플로우(Workflows)를 정의하여 코드 변경 사항을 자동으로 빌드, 테스트, 배포할 수 있다. 다음과 같은 작업을 수행할 수 있다. 자동 빌드 및 테스트: 코드 변경 사항이 발생하면 지정된 빌드 스크립트 또는 명령을 실행하여 애플리케이션을 자동으로 빌드하고 테스트할 수 있다. 지속적인 배포: 애플리케이션을 변경 사항이 있는 경우 자동으로 배포할 수 있습니다. 예를 들어, 서버에 변경 사항을 자동으로 배포하거나 클라우드 서비스에 컨테이너 이미지를 업데이트할 수 있다. 사용자 정의 워크플로우: GitHub Actions는 다양한 이벤트와 작업을 트리거로 사용자 ..

    [Nginx] Nginx란?

    NGINX란? 고성능 웹 서버 소프트웨어로, HTTP, HTTPS, TCP 및 UDP 프로토콜을 지원하며, 프록시 서버, 로드 밸런서, 역방향 프록시 및 HTTP 캐시 역할을 수행하는 데 사용된다. 특징 고성능: 비동기 이벤트 기반 아키텍처를 사용하여 많은 동시 연결을 처리할 수 있고, 높은 처리량과 저지연 제공 경량화: 적은 시스템 리소스를 사용하며, 메모리 사용량이 작아 효율적인 운영 가능 확장성: 확장성이 뛰어나며, 프록시 서버나 로드 밸런서로 사용될 때 여러 대의 웹 서버를 효과적으로 관리할 수 있습니다. 리버스 프록시: 역방향 프록시 서버로 사용될 수 있어 클라이언트 요청을 웹 서버로 전달하고 응답을 반환하는 역할 수행 가능 로드 밸런싱: 로드 밸런서로 사용될 수 있어 들어오는 트래픽을 여러 대..