👩‍💻 개발

    [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는 다양한 이벤트와 작업을 트리거로 사용자 ..

    [Redis] Redis란?

    Redis 오픈 소스 인메모리 데이터 구조 저장소 다양한 데이터 구조 및 크게 String, Set, Sorted Set, Hash, List 등의 데이터 형식을 지원하며 메모리에 데이터를 저장하여 빠른 데이터 액세스를 제공한다. 키-값(key-value) 쌍으로 데이터를 저장하며, 다양한 데이터 유형을 처리할 수 있다. 특징 인메모리 데이터 저장: 메모리에 저장하므로 매우 빠른 읽기 및 쓰기 성능 제공, 이는 데이터베이스나 캐시 솔루션으로서 많은 요청과 빠른 응답이 필요한 경우에 유용 다양한 데이터 유형 지원: 단순한 문자열, 리스트, 해시, 세트, 정렬된 세트 등 다양한 데이터 유형 지원, 이를 통해 다양한 데이터 구조를 효율적으로 저장하고 처리 가능 영속성: 디스크에 데이터를 저장할 수도 있어 서버..