728x90

클라우드 10

[Devops] SonarQube 사용법

사이드 프로젝트 진행 중에 SonarQube를 사용해보고 싶어, 사용법을 정리해보고자 한다.SonarQube 정의SonarQube는 소스코드의 품질과 보안을 자동으로 분석하고 측정해주는 정적 분석 도구이다. 도입 배경이번 프로젝트에서는 코드의 일관성과 유지보수성을 확보하고, 배포 전 품질 이슈를 사전에 방지하기 위해 SonarQube를 도입했다. 특히 서비스 특성상 보안이 중요한 만큼, 개발 초기 단계부터 보안 취약점을 식별하고 대응할 수 있도록 정적 분석 도구를 통해 품질과 보안을 동시에 관리하고자 한다.SonarQube 설치 / 세팅1. SonarQube 설치 (직접 다운로드)https://www.sonarsource.com/products/sonarqube/downloads/ Download Son..

클라우드 2025.06.08

[CLOUD] CIDR 이란?

* CIDR 블록?Classless Inter-Domain Routing(CIDR)은 인터넷상의 데이터 라우팅 효율성을 향상시키는 IP 주소 할당 방법이다.CIDR을 알기 위해서는 IPv4 주소 체계에 대해 알아야한다. IPv4 주소 IPv4주소는 8bit씩 4부분으로 총 32비트로 구성된다.ex) 10.0.0.0 ➡️ 마침표로 구분된 각 수자 문자열은 8비트로 구성되며 0~255의 숫자 형식으로 표시됨32비트 네트워크 비트와 호스트 비트로 나뉘어져 구별된다.2^32 = 42억개의 고유한 IPv4 주소 생성 가능 서브넷 마스크서브넷마스크(Subnet Mask)는 IP 주소를 네트워크 부분과 호스트 부분으로 나누기 위한 32비트의 값네트워크 비트 : 네트워크를 식별하는 데 사용, 연속된 1 비트호스트..

클라우드 2025.06.03

[CLOUD] AWS ECS + Fargate 이해

AWS의 다양한 배포 방식 중, AWS ECS + Fargate 조합에 대해 알아보자! 1. AWS ECS ( Elastic Container Service) ? ECS는 AWS의 컨테이너 오케스트레이션 서비스이다. Docker 컨테이너를 관리하고 자동으로 실행, 확장, 배포하는 서비스를 제공한다. 제공하는 기능컨테이너 클러스터 관리서비스 유지오토스케일링네트워킹IAM핵심 구성 요소클러스터 (Cluster) : ECS 작업(Task)이 배포되는 논리적인 그룹태스크 정의 (Task Definition) : 컨테이너 설정 정보 (이미지, 메모리, 포트, 환경변수 등)태스크 (Task) : 태스크 정의를 기반으로 실제 실행된 인스턴스서비스 (Service) : 태스크를 자동으로 유지시키고 로드밸런싱까지 가능하..

클라우드 2025.05.24

[CLOUD] 3-Tier Architecture Server 배포 - ECS + Fargate

지난 포스팅은, EC2에 Springboot jar 파일을 복사해서 배포하는 방식으로 구성해봤다. 이번 포스팅은 ECS + Fargate 방식으로 배포하는 과정을 알아보려고 한다. 시작하기 전에 앞서, 간단한 개념은 여기에 정리했으니 참고하면 좋을 것 같다. 🍀1. ECS + Fargate 배포1. Dockerfile 생성# OpenJDK 17 사용 FROM openjdk:17-jdk# JAR 파일을 컨테이너에 복사COPY build/libs/blog-0.0.1-SNAPSHOT.jar app.jar# 실행 명령ENTRYPOINT ["java","-jar","/app.jar"] 2. 빌드docker build -t blog . 3. AWS ECR에 이미지 업로드- 원하는 이름으로 리포지토리 생성- 이..

클라우드 2025.05.24

[CLOUD] AWS EC2 PostgreSQL 설치

"EC2에 db를 띄워보자." AWS ECS + Fargate 조합으로 배포하기 전에, DB를 배포해야 되는데 RDS 사용, EC2로 DB 관리하기 등 다양한 방법이 있지만 이번 포스팅은 EC2에 DB를 배포하려고 한다. ** VPC, 서브넷은 모두 설정되었다는 가정하에 진행한다. 1. DB 서버 생성1. EC2 이름 정의 및 애플리케이션 및 OS 이미지 선택- 이름 : blog-db-server- OS : Ubuntu Server 24.04 LTS 2. 키 페어 선택 및 네트워크 설정- 키 페어 : 없다면 새로 생성 (나는 기존에 만든 Key가 있기 때문에 그대로 사용)- VPC : 기존에 생성한 VPC가 있다면 선택 (없다면 ,default 값 선택)- 서브넷 : DB 정보는 노출 되면 안되기 ..

클라우드 2025.05.22

[CLOUD] S3 CloudFront - AccessDenied

CDN 구축을 하던 도중 403 에러가 발생했다..😭 에러 내용CDN 구축 후 403 Forbidden 에러가 발생했다🚰·̫🚰 해결 과정1. S3 권한 설정이 안되어서 그런걸까 싶었지만 이미 설정 완료 했다. 2. 성공 : CDN 원본 속성 수정 ✅- Origin domain을 만들어 둔 S3로 진행- 원본 액세스 제어 설정 후 Create new OAC 클릭- S3 정책 복사 후 버킷 정책에 추가 그 결과 CloudFront 도메인 주소로 접속하면 블로그 접속 성공~~🍀

클라우드 2025.05.10

[CLOUD] CloudFront (CDN)

1. CDN이란 ?CDN은 Content Delivery Network 의 약자로, 전 세계에 분산된 서버 네트워크를 이용해 사용자에게 콘텐츠 (정적 파일, 이미지, 영상 등)를 더 빠르게 전달하는 시스템이다. 쉽게 얘기하자면, 사용자에게 가장 가까운 위치의 서버에서 콘텐츠를 제공해서 속도는 빠르게, 부하와 비용은 줄이게 해주는 시스템이다. 예를 들어, 사용자가 서울에 있는데, 서버는 미국에 있으면 로딩 속도가 느릴 수 있다. CDN은 서울 근처(예: 서울, 도쿄, 베이징 등)에 콘텐츠 복사본을 미리 저장해 두고, 사용자가 접속하면 가장 가까운 서버에서 바로 응답해 주는 구조이다. 2. CDN 구성 요소 Origin Server (원본 서버)→ 실제 콘텐츠가 있는 곳 (예: S3, EC2, Web 서버..

클라우드 2025.05.04

[CLOUD] 3-Tier Architecture 배포 - S3+CDN (1)

이번 포스팅은 실제로 내가 만든 블로그를 3-Tier Architecture 로 배포하려고 한다. 프론트엔드 배포 위주로 담아보겠다. 1. Presentation Tier - (프론트엔드) ✅역할 : 사용자와 상호작용하는 부분 (웹페이지 UI)구성 요소 :React로 빌드한 정적 파일 CDN 또는 정적 호스팅 서비스배포 방식 :AWS S3 + CloudFrontNginx 서버에서 정적 파일 서빙도메인 연결 및 HTTPS 인증서 적용 (추후 적용 예정) 2. Application Tier - (서버)역할 : API 처리, 인증, 비즈니스 로직 수행구성 요소 :Springboot 애플리케이션실행 환경 : EC2, ECS, EKS 등 배포 방식 예시 : EC2 인스턴스에 Springboot Jar 실행Dock..

클라우드 2025.05.04

[Docker] PostgreSQL 설정

Docker 사용해서 PostgreSQL 구성해보기 📝 PostgreSQL Docker 설정1. PostgreSQL 컨테이너 설정port : 5432:5432사용자/비밀번호 : postgres/postgres (🔥 예시임, 노출되면 안됨!! )DB : local : blogdb dev : blogdb_dev prod : blogdb_prod볼륨 마운트healthcheck 설정 2. Docker-compose.yaml 작성version: '3.1'services: db: image: postgres container_name: my_postgres restart: always environment: POSTGRES_USER: yourusername POSTGR..

클라우드 2025.04.30

[CLOUD] 3-Tier-Architecture

CLOUD에 대한 이해도를 높이기 위해서 이번 포스팅은 3-Tier-Architecture에 대해 알아보고자 한다! 💪1. 3-Tier-Architecture 정의3-Tier-Architecture는 애플리케이션을 논리적으로세 개의 독립적인 계층 으로 분리하는 소프트웨어 아키텍처로, 다중 계층 아키텍처에서 가장 널리 사용된다. 단일 프레젠테이션 계층, 로직 계층 및 데이터 계층으로 구성된다. 3가지 주요 계층Presentation Layer사용자 인터페이스(UI)를 담당최종 사용자와 직접 상호작용웹 브라우저, 모바일 앱, 데스크톱 클라이언트 등사용자 입력을 받아 비즈니스 계층으로 전달하고 결과 표시Business Logic Layer애플리케이션의 핵심 기능과 비즈니스 규칙 처리데이터 검증, 계산, 워..

클라우드 2025.04.24
728x90