본문 바로가기

전체 글

(63)
EC2 크기에 따른 비용 절감 현재 통합어드민 관련하여 EC2의 인스턴스는  4개를 사용하고 있다.blue1/blue2/green1/green2해당 EC2의 대한 월 이용금액이 적지않다 생각하여 비용절감을 위해 알아본 결과이다.  1. t3.2xlarge 스펙vCPU: 8개RAM: 32GiB크레딧 기반: T3 인스턴스는 CPU 사용량에 따라 크레딧을 소비하며, 기준치를 초과하면 추가 요금 발생.2. 다운그레이드 가능한 인스턴스T3 계열에서 다운그레이드 가능한 옵션 리스트.인스턴스 유형 vCPU RAM 시간당 비용 (us-east-1, On-Demand 기준)t3.2xlarge832GiB$0.3328t3.xlarge416GiB$0.1664t3.large28GiB$0.08323. 다운그레이드의 이점비용 절감t3.xlarge: 약 50% ..
RDS - 화이트리스트 추가 및 후기 RDS의 CPU가 갑자기 100%를 차고 세션도 4~500 정도가 차는 이슈가 종종 있었다.허나 그 원인을 모르고 사용자가 많아져서 그럴것이다라고 판단했었다.해당 이슈가 일주일에 두세번 발생하기전까지는... 해당 이슈가 너무 잦아지자 이걸 해결하려고 열심히 찾아보았다.그러던중 RDS 로그를 확인했다.RDS 로그를 보았을때 sh / admin / na 등으로 1초에 1000번정도 로그인한 로그가 찍혀져 있었다.화이트리스트로 해결!  ※ RDS 로그추가 무차별 공격은 방어에 성공한것으로 확인됨. ※ CPU 모니터링 결과1.(2024.11.25 ~ 2025.01.05) - 5분단위6개월 간 1일 MAX 값 - (CPU 100 일때 서버 장애 발생 ex. 키오스크 로그인 x / 어드민 로그인 x )빨간선 : 화..
JPA 란? 📌 JPA(Java Persistence API)란?JPA는 Java 객체와 데이터베이스 간의 매핑을 쉽게 해주는 ORM(Object-Relational Mapping) 기술입니다.즉, SQL을 직접 사용하지 않고 자바 객체(Entity)를 통해 DB를 조작할 수 있도록 도와줍니다.🔹 JPA = Java ORM 표준 인터페이스JPA는 인터페이스이며, 이를 구현한 프레임워크(라이브러리)가 Hibernate, EclipseLink, OpenJPA 등이 있음.Spring Boot에서는 보통 Hibernate를 사용함.📌 JPA의 주요 개념1. 엔터티(Entity)데이터베이스의 테이블과 매핑되는 자바 클래스@Entity 어노테이션을 사용하여 선언java복사편집import jakarta.persistence..
Entity JPA에서는 테이블을 자동으로 생성해주는 기능이 존재한다.DB Table == JPA Entity@Entity : 해당 클래스가 Entity임을 명시@Table : 실제 DB 테이블의 이름@Id : Index primary key를 명시@Column : DB Column의 이름@GeneratedValue : primary key의 전략 설정@NoArgsConstructor // 매개변수가 없는 기본 생성자@AllArgsConstructor // 모든 매개변수를 가지는 생성자@Data // 객체로 사용할 것이기 때문에@Entity// @Table(name = "user") user 테이블과 연결할 것임을 명시, class명과 table명 같으면 생략 가능public class User { @Id ..
Repository 따로 쿼리문 작성하지 않아도 CRUD 사용 가능@Repository // 데이터타입, pk의 타입public interface UserRepository extends JpaRepository {}UserRepository 인터페이스를 만들고,이미 만들어져 있는 JpaRepository 상속 받는다.public class UserRepositoryTest extends StudyApplicationTests { // DI (Dependency Injection) @Autowired private UserRepository userRepository; @Test public void create(){ /..
EC2 배포 - Shell Script EC2에서 애플리케이션을 배포하는 Shell 스크립트를 작성하려면, 다음과 같은 작업을 자동화할 수 있습니다.✅ 스크립트 주요 기능:시스템 패키지 업데이트Java 및 Gradle 설치 (Spring Boot 애플리케이션 배포 시)애플리케이션 실행 및 로그 관리방화벽 설정📌 EC2 배포용 Shell Script (deploy.sh)sh복사편집#!/bin/bash# 1️⃣ 업데이트 및 필수 패키지 설치echo "🚀 시스템 패키지 업데이트 중..."sudo apt update -y && sudo apt upgrade -y# 2️⃣ Java 및 필수 패키지 설치 (필요 시 추가)echo "☕ Java 및 필요 패키지 설치 중..."sudo apt install -y openjdk-17-jdk unzip cu..
GCP(Google Cloud Platform)란? 현재 우리회사에서는 AWS를 도입하여 EC2 / RDS / S3 를 활용하여서버를 띄우고 데이터를 적재하며 파일 및 이미지를 저장한다. 왜 AWS를 사용하고 있을까?AWS를 대체할 수 있는게 있을까? 대체안으로 찾아보던게 GCP(Google Cloud Platform)가 있는데 이것에 관해 알아보자.  *GCP(Google Cloud Platform)**는 Google에서 제공하는 클라우드 컴퓨팅 서비스 플랫폼입니다. 개발자와 기업이 데이터를 저장, 처리, 분석하거나 애플리케이션을 구축하고 배포할 수 있도록 다양한 인프라와 서비스를 제공합니다. GCP는 구글의 글로벌 네트워크와 데이터센터 인프라를 기반으로 안정적이고 확장성 높은 클라우드 솔루션을 제공합니다.GCP의 주요 특징확장성 및 유연성필요에 따라 ..
AWS vs GCP 의 장단점과 차이점 현재 우리회사에서는 AWS를 도입하여 EC2 / RDS / S3 를 활용하여서버를 띄우고 데이터를 적재하며 파일 및 이미지를 저장한다. 왜 AWS를 사용하고 있을까?AWS를 대체할 수 있는게 있을까?궁금증으로 시작된 AWS 와 GCP의 차이점을 알아보자. *AWS(Amazon Web Services)**와 **GCP(Google Cloud Platform)**는 세계적인 클라우드 서비스 제공자로, 각각의 장점과 단점을 가지고 있습니다. 아래에서 두 플랫폼의 주요 차이점과 장단점을 비교해 보겠습니다.1. AWS와 GCP의 개요특징 AWS GCP출시 시기2006년 (최초의 대규모 클라우드 제공자)2008년 (Google의 글로벌 인프라를 기반으로 시작)시장 점유율1위 (가장 널리 사용되고 있는 클라우드 플랫..