nip.io란?nip.io는 동적 DNS 서비스이다. 특정 IP 주소에 쉽게 접근할 수 있도록 자동으로, 무료로 도메인 이름을 생성해준다.IP 주소 기반 도메인 생성IP 주소가 123.456.78.90일 경우, 123.456.78.90.nip.io와 같은 도메인 이름을 사용할 수 있도록 해준다.HTTPS 지원Let's Encrypt와 같은 인증서와 Certbot을 사용하여 HTTPS를 설정할 수 있다.개발 및 테스트 용도로 사용로컬 개발 환경에서 HTTPS를 설정할 수 있도록 해준다.로컬 서버가 localhost:8080에서 실행중인 경우, 이를 외부에서 123.456.789.90.nip.io로 접근할 수 있다.개발 중인 기능을 테스트할 때, 외부에서 쉽게 접근 가능한 도메인을 제공받을 수 있다.원리1..
Swap 메모리? Swap 메모리는 하드디스크의 일부를 RAM처럼 사용하도록 만들어진 메모리이다. 지금 사용 중인 컴퓨터의 메모리가 초과되었을 때, 메모리 부족 현상을 해결할 수 있다. 그러나 RAM이 아닌, HDD를 이용하는 것이기 때문에 읽고 쓰는 속도가 매우 느려진다. 테스트용으로 AWS Free Tier를 이용할 때는 좋은 옵션이다. 프로젝트를 빌드하거나, 조금의 메모리 부족으로 터지는 일을 방지할 수 있다. 1. swap file 확인 swapfile 존재 여부 확인 free sudo swapon -s 2. swap file 생성 swap을 하기 위한 swapfile 생성 sudo fallocate -l 2G /swapfile 여기선 swapfile의 용량을 2GB로 설정했다. 아래는 RAM 용..
들어가기 전에.. 배포를 하는 중에 워낙 여러 번 막히기도 했고, 그 과정이 모두 기억나지 않는다. 이 글을 쓰는 이유는 순전히 기록용이다. 중간중간에 빠지는 내용도 많을 것이고, 틀린 부분도 많을 것이니 양해 부탁드립니다... 갑자기 배포를 하게 된 이유 팀 프로젝트 USports를 진행 중이다. 프런트엔드 2명과 백엔드 3명이서 진행하는 6주짜리 협업 프로젝트이다. 1주 차는 기획을 했고, 2~4주 차는 개발, 5주 차부터 리팩터링과 오류수정, 프런트-백엔드 통합, 배포 등의 과정이 예정되어 있었다. 그런데 갑자기 배포를 해야만 했다.. 기획 과정에서 API 명세서를 만들었다. 그러나 개발하는 도중에 Request, Response가 많이 변경되기도 했고, 현재 API 명세서는 백엔드 개발 상황과 조..
이전 글에서 S3 bucket과 IAM을 생성하고 SpringBoot project에서 S3 접근에 사용할 accessKey와 secretKey를 얻는 것까지 다뤘다. 2024.01.21 - [DevOps] - [AWS/S3] Spring boot project 이미지 업로드를 위해 S3 버켓 만들기 [AWS/S3] Spring boot project 이미지 업로드를 위해 S3 버켓 만들기 Amazon S3 버킷 만들기 IAM 만들기 생성 완료 IAM accessKey, secretKey 얻기 IAM - 사용자 - 보안 자격 증명 액세스 키 만들기 CLI 선택 accessKey, secretKey 저장 저 두 가지 Key를 저장해 뒀다가 spring properties에 등 innovation123.ti..
Amazon S3 버킷 만들기 IAM 만들기 생성 완료 IAM accessKey, secretKey 얻기 IAM - 사용자 - 보안 자격 증명 액세스 키 만들기 CLI 선택 accessKey, secretKey 저장 저 두 가지 Key를 저장해 뒀다가 spring properties에 등록해서 S3 bucket에 접근하는 데에 사용한다. 비밀 액세스 키 (secretKey)는 생성 시에만 검색할 수 있다. 미리 저장해둬야 한다. 다음 글에서는 SpringBoot project에서 S3에 이미지를 업로드하는 방법을 다룬다. 2024.01.21 - [DevOps] - [Spring / S3] SpringBoot 프로젝트 - S3 이미지 업로드
문제 상황 git pull을 하고 다시 build를 하는데, 갑자기 굉장히 느려지더니 서버가 먹통이 되었었다. 우선 서버 재시작을 해봤더니 일시적으로 해결되었으나, 다시 서버가 매우 느려지는 현상이 발생했다. EC2 서버 사양 AWS EC2 위치 : 아시아 태평양 (서울) 사양 : t2.micro (Free Tier) 용량 : 30GB (Free Tier 최대) OS : ubuntu22.04 원인 예측 이 서버에는 작은 SpringBoot project 하나만 올라가 있었기 때문에 용량 문제는 아닐 거라고 판단했다. 또한, 갑자기 느려졌기에 다른 문제가 있을 거라고 생각했다. 서버에 부하가 큰 것도 아닐 것이라고 생각했다. 현재 FrontEnd 측 로컬에서 테스트 정도로만 사용하고 있었다. 검색해 보니 ..
1. 현재 실행 중인 process 중단 ps -ef | grep {processName} (PID 확인 후 kill) sudo kill -9 {PID} 2. 변경 사항 git에서 pull 해오기 (ubuntu 서버에서 dev 브랜치를 빌드하여 배포한 상태) git checkout dev git pull origin dev 3. 다시 build 하기 chmod +x gradlew ./gradlew clean build 4. 빌드된 jar 파일 백그라운드에서 실행 (jar 파일 위치로 이동) cd build/libs (백그라운드에서 실행) sudo nohup java -jar {jar파일 명}.jar & > /dev/null 2>&1 & (그냥 실행 : ubuntu 서버 종료 시 down) sudo jav..