Develop/AWS 10

AWS CloudFront를 이용한 CDN 배포 방법

회사에서 국내를 포함 해외 29국가에 동시적인 서비스를 진행하고있다.해당 서비스는 AWS S3를 통하여 배포를 하고 있고, 해당 리전은 서울 한곳만 사용중이다.그냥 S3를 통하여 배포하고 있지만 CDN 배포를 진행하려한다.왜 CDN 배포를 해야할까? CDN(Content Delivery Network) 배포가 중요한 이유는 웹사이트나 애플리케이션의 성능을 향상시키고, 보안을 강화하며, 서버 부하를 줄이고 비용을 최적화하기 위해서야.1. CDN 배포가 필요한 주요 이유① 성능 향상 (속도 증가) 사용자와 가까운 엣지 로케이션에서 콘텐츠 제공 사용자의 요청을 오리진(원본 서버)까지 보내는 대신, 가장 가까운 CDN 서버(엣지 로케이션)에서 응답을 제공 → 지연 시간(Latency) 감소 ..

Develop/AWS 2025.02.13

EC2 인스턴스에 HTTPS 적용 (elb:로드밸런서:대상그룹)

>> 2. elb:로드밸런서:대상그룹AWS EC2 SSL 적용하기  AWS EC2에 HTTPS (SSL)을 적용하고자 한다.적용하기 위해서는 AWS에서 필요한 요소들은 아래와같다.Elastic Load Balancing (ELB) / 로드밸런서 / 대상그룹 / Route53 / ACM / 도메인구입  아래 아키텍처 기준으로 SSL 적용을 해보도록 하겠다.SSL 아키텍처 1. 대상그룹생성AWS의 EC2 메뉴로 들어간다음 아래쪽에보면 대상그룹 이라는 메뉴가있다.(EC2 > 로드 밸런싱 > 대상 그룹)대상그룹생성 버튼을 클릭한다.대상유형은 인스턴스 를선택하고 대상그룹 이름은 "프로젝트명-target" 이라 생성하였다.만약 Spring-MVC같은 단일소스라면 target은 하나만 생성하고, 백엔드와 프론트엔드가..

Develop/AWS 2025.02.13

EC2 인스턴스에 HTTPS 적용 (도메인 구매하고 ACM 인증서 발급하기)

>> 1. 도메인 구매하고 ACM 인증서 발급하기개요HTTPS는 SSL이라는 보안 프로토콜 위에서 HTTP 통신을 하는 프로토콜을 뜻합니다. (요즘은 발전된 버전인 TLS 사용)요즘은 http로 된 주소를 찾아보기 힘들고, 서비스 중인 대부분의 웹사이트는 https 주소를 사용합니다. https는 구글 검색 엔진에 가산점이 있다. http는 브라우저에서 보안 위험 표시가 나온다.클라이언트 서버 배포 시 자주 사용하는 Vercel에서 http 주소를 지원하지 않는다. (프론트는 잘 몰라서 정확한 건 아닙니다)등 여러가지 이슈가 있습니다. 서버 개발자 입장에서, 그냥 https 사용을 염두에 두는 것이 마음이 편할 지경입니다. 하지만 처음 https 주소를 사용하고자 한다면, 과정이 꽤 길고 복잡합니다.(물..

Develop/AWS 2025.02.13

RDS 화이트리스트 설정하기

회사에 RDS가 튀는현상 발생!!!무차별 공격으로 확인되었다.화이트 리스트를 설정하여 RDS에 회사망을 제외하고 접근자체를 막아보자!    Amazon RDS에서 화이트리스트(허용 IP 목록)를 설정하려면 보안 그룹(Security Group)을 구성해야 합니다. 다음은 RDS의 화이트리스트를 설정하는 방법입니다.1. RDS의 보안 그룹 확인RDS는 AWS 보안 그룹(Security Group)을 통해 접근을 제어합니다. 현재 RDS 인스턴스에 할당된 보안 그룹을 확인해야 합니다.AWS 콘솔에서 확인하는 방법AWS Management Console에 로그인RDS 서비스 이동인스턴스 선택 후, 연결 및 보안(Connection & Security) 탭 확인VPC 보안 그룹을 확인 (클릭하면 EC2 보안 그..

Develop/AWS 2025.02.13

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% ..

Develop/AWS 2025.02.13

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 )빨간선 : 화..

Develop/AWS 2025.02.13

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..

Develop/AWS 2025.02.13

GCP(Google Cloud Platform)란?

현재 우리회사에서는 AWS를 도입하여 EC2 / RDS / S3 를 활용하여서버를 띄우고 데이터를 적재하며 파일 및 이미지를 저장한다. 왜 AWS를 사용하고 있을까?AWS를 대체할 수 있는게 있을까? 대체안으로 찾아보던게 GCP(Google Cloud Platform)가 있는데 이것에 관해 알아보자.  *GCP(Google Cloud Platform)**는 Google에서 제공하는 클라우드 컴퓨팅 서비스 플랫폼입니다. 개발자와 기업이 데이터를 저장, 처리, 분석하거나 애플리케이션을 구축하고 배포할 수 있도록 다양한 인프라와 서비스를 제공합니다. GCP는 구글의 글로벌 네트워크와 데이터센터 인프라를 기반으로 안정적이고 확장성 높은 클라우드 솔루션을 제공합니다.GCP의 주요 특징확장성 및 유연성필요에 따라 ..

Develop/AWS 2025.02.13

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위 (가장 널리 사용되고 있는 클라우드 플랫..

Develop/AWS 2025.02.13