분류 전체보기
-
Redis 클러스터 구성클라우드 2025. 7. 28. 15:06
Redis 클러스터링이란?정의Redis 클러스터는 Redis가 데이터를 여러 노드에 자동 분산 저장(샤딩)하고, 장애 발생시 자동으로 복구 할 수 있도록 지원하는 분산형 구조입니다.사용하는 이유Redis는 기본적으로, 단일 프로세스, 단일 스레드 구조로 동작합니다.하지만 단일 Redis 인스턴스는 한계가 존재합니다.메모리 한계Redis는 인메모리 DB이므로, 한 인스턴스가 사용할 수 있는 RAM의 크기가 전체 데이터의 크기 한계가 됩니다.장애시 전체 중단마스터 하나에 장애가 나면 서비스 전체가 중단됩니다.스케일 아웃 불가단일 인스턴스로는 수평 확장(Scale-out)이 불가능합니다.이를 해결하기 나온 것이 Redis 클러스터링입니다.제공하는 기능Redis 클러스터를 사용하면 다음과 같은 이점이 있습니다...
-
Github Actions Self-hosted-runner 사용 방법클라우드 2025. 7. 12. 11:02
도입한 이유먼저 취업한 친구에게 보안에 민감한 기업 같은 경우에는 Github-hosted-runner는 Github 클라우드 환경에서 실행되므로, 민감한 코드나 비공개 환경 정보가 외부로 유출될 가능성이 있어 Self-hosted-runner를 사용한다고 이야기를 들었습니다. 그래서 회사에서 사용할 기술을 미리 배워본다는 차원에서 Self-hosted-runner를 도입하여 CI/CD 파이프라인을 구축하려 했습니다.도입을 하기 전에 이것이 어떤 원리로 동작 되는지 파악하였습니다.우선 Self-hosted-runner는 사용자가 직접 관리하는 VM 또는 물리 서버에 설치하여 사용하는 실행 환경입니다.Github Actions 파이프라인에 Job(작업)을 생성하고 대기시켜 놓습니다.runner가 Githu..
-
EC2로 SSH 접속이 되는 원리클라우드 2025. 6. 30. 23:15
지금까지는 그냥 EC2로 SSH 접속만 했었는데, 인프런 강의에서 그 원리에 대해서 조금 더 자세히 알게 되었습니다. 우선 EC2는 RSA 공개키 암호화 방식을 사용하여 접속합니다. 공개키 암호화 방식은 암호화/복호화와 서명 검증에서 사용되는데 공개키와 개인키가 있습니다.공개키로 암호화 한 것을 개인키로 복호화 하여 비밀을 전달하고, 개인키로 서명한 것을 공개키로 검증할 때 사용됩니다.SSH 접속은 서명 검증으로 이루어집니다. 학교에서 배웠던 내용으로 RSA 방식은 3746517(소수라 가정) * 1239513(소수라 가정)는 계산할 수 있지만 두 곱셈의 결과인 4643856526221 은 어떤 두 소수의 곱셈으로 이루어졌는지 알아내기 어렵다는 것에서 나온 알고리즘입니다. RSA 2048 알고리즘을 예를..
-
CloudFront + S3 + ACM + Route53으로 프론트(Vite + React) 정적 파일 배포 하기클라우드 2025. 6. 14. 16:19
우선 도메인을 사둔게 있다고 가정하고 진행하겠습니다. 저는 가비아에서 구매했습니다.구현 순서는 다음과 같습니다.구현 순서구매한 도메인 Route53 호스팅 영역에 등록등록 후 ACM으로 버지니아 북부에서 인증서 요청S3로 프론트엔드 빌드 파일 정적 웹호스팅을 통해 배포CloudFront와 S3 연결해서 CloudFront 도메인으로 배포된 것 확인Route53에 도메인 등록하고 도메인으로 배포 되었는지 확인1. 구매한 도메인 Route53 호스팅 영역에 등록우선 콘솔에서 Route53에 들어가서 호스팅 영역을 생성합니다.저는 mycertione.com 이라는 도메인을 구매해서 다음과 같이 입력해 주었습니다.그냥 도메인 이름만 입력하고 호스팅 영역을 생성합니다. 그러면 NS와 SOA가 나오는데 NS는 네임..
-
Infisical CLI 설치하는 파이프라인 최적화클라우드 2025. 6. 7. 22:18
기존 파이프라인에서 Infisical CLI 설치하는 부분의 스크립트가- name: Install Infisical CLI run: | curl -1sLf '' | sudo -E bash sudo apt-get update && sudo apt-get install -y infisical이렇게 되어 있어Infisical 공식 사이트에서 CLI 설치용 스크립트를 다운로드 하고 다운로드한 쉘 스크립트를 관리자 권한으로 실행합니다.결과적으로, Infisical의 APT 저장소(.deb 리포지토리)를 시스템에 등록합니다.그 후, 앞에서 추가된 Infisical APT 저장소 포함해서 패키지 목록을 갱신하고 Infisical CLI 툴을 설치하는 작업을 수행하였습니다...
-
신한 DS ICT 인프라 실기시험 실습클라우드 2025. 6. 7. 21:12
신한 DS 실기 Test는 다음과 같은 내용들을 평가한다고 합니다.그래서 시험을 응시하기 전에 복습 겸 실습을 진행하려고 합니다.EC2 VM 생성 및 구성우선 지정된 메세지를 송출하면 된다고 했기 때문에, nginx를 설치하고 화면상에 원하는 글씨를 출력하는 것으로 생각하고 진행하였습니다.우선 EC2를 생성합니다.이름은 shinhan_ds, ubuntu로 설치하고 t2.micro, 키페어 설정, 미리 생성해둔 VPC의 public 서브넷에 퍼블릭IP를 할당하고 보안그룹은 ssh, http를 전부 열어주었습니다. 스토리지는 gp3 8GB로 두었습니다.그러면 다음과 같이 인스턴스가 생성되는데연결을 누르면맨 아래에 접속하는 명령어가 나옵니다. 그걸 키 파일이 있는 위치에서 명령어를 차면 들어갈 수 있습니다.저..
-
-
스프링부트 에러로그 디스코드 웹훅으로 알람 전송하는 방법클라우드 2025. 6. 2. 22:06
도입 배경기존 로컬에서 API 개발, 연동을 할 때, 에러가 발생하게 된다면 로그를 보고 에러를 잡았었습니다.배포 환경에서는 VM에 들어가서 에러를 봐야하기 때문에 개발자가 직접 VM에 들어가서 로그를 보는 것이 번거로웠습니다.사실 실무 프로젝트는 아니고 개발자들도 운영환경의 VM에 접근할 수는 있지만, 역할기반제어 차원에서도 prod 환경 VM에 개발자가 접근하는게 좋을 거 같지 않다는 생각도 있었습니다.그리고 가장 결정적으로 서비스에 장애가 발생하였을 때, 빠른 대응을 하는 것이 꼭 필요하기 때문에 도입하게 되었습니다.구현 과정우선 디스코드에 에러가 발생할 때 마다 알림을 보내기 위해서는 다음 내용들이 필요했습니다.Spring 로그에서 ERROR 가 생길 때마다 탐지하고 ERROR 부분 추출하는 로직..