AWS 7

[AWS] 부하 테스트를 위한 CloudWatch 대시보드 구축 : 메모리 사용률까지 띄워보기

개인 프로젝트에서 부하 테스트를 진행하면서, CPU 사용률은 바로 시각화할 수 있었지만 메모리 사용률을 CloudWatch에 시각화하려고 하니 꽤나 복잡했다. 나중에 잊어버릴 것 같아서 이 글로 과정을 정리해보려 한다. 참고 강의: 수많은 EC2 인스턴스의 CPU/메모리 시각화해서 확인하기 : CloudWatch Resource Health 📚 전체 단계 요약 (목차)IAM 역할 생성EC2 인스턴스에 IAM 역할 할당CloudWatch Agent 설치파라미터 스토어에 Agent 설정 등록CloudWatch Agent 시작 명령 실행리소스 상태 확인CloudWatch Dashboard 생성💡 CloudWatch Resource Health란?CloudWatch Resource Health는 Amazo..

AWS 2025.05.30

[AWS] S3 + CloudFront + Route53으로 정적 파일 HTTPS 배포하기

사용자 ─ HTTPS 접속 ─▶ CloudFront (캐싱 및 요청 처리) │ Route 53 (도메인 연결) │ S3 (정적 파일 호스팅) 위 구조와 같이 개인 포트폴리오 사이트를 구축한 과정을 작성한다. 포트폴리오는 정적파일로 구성되어 있어 S3에 업로드하여 호스팅 한다. CloudFront 를 앞에 붙여서 매번 S3 로 직접 접속하지 않고 CloudFront 가 캐싱하고 있는 컨텐츠를 제공하도록 설정했다.(S3에 대한 요청이 줄어들어 트래픽 비용을 절감할 수 있다)목차1. S3에 정적 파일 업로드2. Route53에 도메인 등록 3..

AWS 2025.04.21

[AWS] EC2 서버 메모리 부족 이슈

이슈EC2 서버 내에서 Spring boot 컨테이너를 실행하면 인스턴스가 죽어버린다. 원인 : 메모리 부족현재 mysql, spring boot 컨테이너가 띄워져 있다. mysql 컨테이너를 실행하면 아래와 같이 메모리가 178mb 밖에 남지 않은 것을 확인할 수 있다. spring boot 를 띄울만한 메모리가 남아있지 않다.현재 사용중인 t2.micro 유형의 인스턴스는 메모리가 1GB 이다 🔽 해결현재 t2.micro 유형의 인스턴스를 실행하고있는데, 업그레이드를 고려한다. (t2.small ?)금액이 2배 변경 후Spring boot 컨테이너가 정상적으로 실행됨애플리케이션은 {트래픽없는상태에서} 실행하면 200MB 정도 소모됨  컨테이너를 실행했는데 인스턴스가 죽어버리면 메모리 용량을 확인해본다.

AWS 2025.02.05

[EC2] 컴퓨터 변경 후 AWS EC2 인스턴스 SSH 접속 설정

사용하던 컴퓨터를 변경했다. 맨 처음에 EC2 인스턴스를 생성하고 SSH 접속 설정을 하는데 정 ~ 말 힘들었던 기억이있어서 새로운 컴퓨터의 접속 설정을 미루고 있었다. (인스턴스 접근할 일이 생기면 이전 컴퓨터로 접속하면서..) 당연하게도 한계가 왔다. USB로 프로젝트를 옮겨서 배포하는데에 현타가 왔고 현재컴퓨터에 EC2 SSH 접속 설정을 하기로 (((큰))) 맘을 먹었다. ▶ .ssh 경로로 이동 cd ~/.ssh ▶ 키 생성 ssh-keygen 명령어를 실행하면 ~/.ssh/ 경로에 아래와 같은 파일들이 생성된 걸 확인할 수 있을 것이다. ▶ Pem 파일 이동 가장 헤멨던 부분인데, Pem 파일을 재발급 받아야하는줄 알았다. 잃어버린 사람들은 재발급 받도록.. 근데 인스턴스 중지시키고 쿵짝쿵짝 ..

AWS 2023.01.01

[ SpringBoot & JPA 프로젝트 ] HTTP => HTTPS / AWS 로드밸런서, 타겟그룹, ACM

변경하기 전 HTTP 와 HTTPS 의 차이점 알기 ▶ HTTP - Hyper Text Transfer Protocol : 서버 / 클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜 - 인터넷에서 하이퍼텍스트를 교환하기 위한 통신규약 하이퍼텍스트(hypertext)란 일반 텍스트와 달리 문장이나 단어 등이 링크를 통해 서로 연결된 네트워크처럼 구성된 문서를 말한다 - 80번 포트를 사용하고 있다 ▶ HTTPS - Hyper Text Transfer Protocol Secure : HTTP에 데이터 암호화가 추가된 프로토콜 - 443번 포트를 사용 - HTTPS 프로토콜은 SSL 을 사용함으로서 데이터가 제 3자에게 노출될 수 있는 문제를 해결했다. ▷ SSL (..

AWS 2022.10.03

[ SpringBoot & JPA 프로젝트 ] AWS S3 이미지 서버

EC2 인스턴스에 프로젝트를 띄우고 나니 (환경이 달라져서) 발생하는 수많은 문제들 그중에서는 이미지 업로드가 안되는 문제가 있었다. ☞ 판매자가 판매할 상품등록 시 상품 이미지는 필수 첨부사항임 기존에 이미지 업로드 경로를 String UPLOAD_IMG_PATH="C:\\Users\\user\\Desktop\\proj\\Knitmarket\\src\\main\\resources\\static\\uploadImg\\" 이렇게 로컬 환경에 맞춰서 설정해놨으니 당연히 서버환경에서는 해당경로를 찾을 수가 없어 업로드가 안됐다. 로컬환경의 경로를 못찾는구나 ! => 서버환경의 경로로 설정해놔야겠다 ! 라는 생각을 하게되었고 1주일간의 경로찾기 삽질이 시작됐다.. 프로젝트하면서 가장 길제 고민한 문제였음 내가 ..

AWS 2022.09.28

[SpringBoot & JPA 프로젝트] AWS EC2 / AWS RDS, IAM

4일동안 삽질하다가 드디어 오늘 도메인에 index가 띄워진것을 기념하며 찍은 스크린샷을 첨부합니다 ※ AWS EC2 서버에 도메인 연결해서 JAVA 프로젝트 띄우기 과정은 이렇습니다 AWS EC2 인스턴스 생성 (+보안그룹 설정) 탄력적 IP 연결 SSH 간편하게 접속 설정 키페어 파일 위치 및 권한 변경 AWS RDS 인스턴스 생성 (+보안그룹,파라미터그룹 설정) WorkBench 에서 생성된 RDS 접근 도메인 구매 (가비아) AWS Route53 호스팅 영역 및 레코드 생성 가비아 네임서버 설정 도메인에 프로젝트 띄우기 성공 하다가 기절할것같아서 local 에서 나만 보고 만족하고 포폴용으로 끝낼까 100번생각했지만 애초에 실제로 서비스를 운영할 계획으로 만든거다보니 꼼꼼하게 만들어서 포폴용으로 ..

AWS 2022.09.13