구글 클라우드 무료 인스턴스(가상 서버) 만들기

Intro 오라클 클라우드에서는 램 1GB 짜리 무료 인스턴스를 무려 2개나 준다. 그 덕에 3년간 잘 사용해왔는데 갑자기 인스턴스가 먹통이되었다. 오라클 클라우드 로그인도 안되길래 오라클 기술지원에 문의를 하니 이유는 따로 말해줄 수 없지만 계정을 terminate 시켰단다. 단순하게 톰캣 띄워놓고 개발용으로만 꾸준히 써왔을 뿐이니 특별히 약관을 위배한건 없었을텐데 카드 등록도 필요 없을때부터 시작한덕에 계속 공짜로 써왔던게 밉보였나 싶다. 한참 전부터 위 이메일같이 말도안되는 cpu 점유율을 운운하며 (램은 항상 80% 이상 사용 했으니, cpu로 핑계를 댔나. 솔직히 웹 어플리케이션 서버에 CPU 계속 뛰는 일이 있을 수가 없다) 사용안하니 끌께~라고 메일보내놓고 기습적으로 서버를 강제 종료 해대도..

Development/Cloud 2024.02.29
[Linux] iotop / iftop 디스크 I/O 와 네트워크 부하 측정

Intro 리눅스 서버를 운영하다 보면, 종종 시스템의 성능 저하를 경험할 수 있다. 이러한 문제의 원인을 진단하기 위해서는 시스템의 다양한 자원 사용 상황을 모니터링할 필요가 있다. 특히, 디스크 I/O와 네트워크 트래픽은 시스템 성능에 큰 영향을 미칠 수 있는 중요한 요소다. 이 글을 통해 iotop과 iftop으로 시스템에서 발생하는 디스크 I/O 작업을 실시간으로 관찰할 수 있는 방법과 네트워크의 사용량을 실시간으로 파악하는 방법을 확인할 것이다. iotop iotop은 리눅스에서 I/O 사용량을 모니터하는 도구다. 시스템에서 발생하는 디스크 I/O 작업을 실시간으로 관찰하고, 어떤 프로세스가 디스크 I/O 부하를 많이 차지하는지, 어떤 종류의 I/O 작업이 주를 이루는지 확인할 수 있다. 파일 ..

IT ⁄ Computer/Linux 2024.02.28
[MYSQL] 데이터베이스 털리다 - DB털이 예방하기

Intro 이제 1년 좀 넘은 토이프로젝트가 하나 있다. 와이프만 쓰라고 대충 만들었던건데 한명씩 한명씩 사용자가 늘어서 그래도 지금은 몇명이 쓰고 있고, 요구사항도 꾸준히 반영해서 처음에 비해 기능도 제법 들어갔다. 토이프로젝트라서 처음 시작할 때, 디비 비밀번호를 사용하면 안되는 아주 뻔한 암호로 만들었었는데.. 아침에 일어나 컴퓨터를 켜니 새벽 4시쯤에 Slack 알림이 와있었다. [SpringBoot] 에러 발생시 Slack으로 알림 보내기 를 적용해서 에러가 발생하면 슬랙 알림이 오게끔 적용을 해뒀었는데, 그덕에 문제가 있다는건 발견했다. 그런데 오류를 잘 보면 select 쿼리를 실패한건데. 디비 접속이 잘 안되나? 해서 로그를 살펴보니 테이블이 없단다. 위에 적힌 Request IP를 추적해..

Data/MYSQL ⁄ MariaDB 2024.02.24
Github 22 번 포트 막혔을 때 git ssh fetch/pull 하는 방법

Intro Github / Gitlab SSH 공개 키 등록하기 를 통해 ssh 키를 등록해두었다면, 암호입력이나 토큰발급등의 번거로운 작업 없이 간단하게 git remote 저장소로부터 clone을 비롯한 fetch, pull, push 등의 작업을 간편하게 할 수 있다. 그런데 카페를 간다거나 다른사람의 집에 방문하는 등 평소와 다른 환경에서 와이파이에 접속 했는데, Github 의 SSH 통신이 안먹히는 경우가 있다. 그런경우 아래와 같은 에러가 발생한다. ssh: connect to host github.com port 22: Operation timed out이걸 겪은건 설날에 가족집에 방문해서 커밋을 하는 과정이었는데 하필 인터넷이 B사 제품이었고, B사에서는 22번 포트를 막아두었기 때문에 ..

Development/DevOps 2024.02.17
Jenkins 튜토리얼 - 설치 및 실행

설치 요구사항 Jenkins를 설치하고 실행하기 위해서는 아래의 조건을 만족해야 한다. 호스트 머신이 램 최소 256 MB (권장 2 GB) 젠킨스 및 도커 이미지를 위한 여분의 저장공간 10 GB 아래의 소프트웨어 들이 설치 되어 있어야함 Java 11, 17, or 21 Docker (아직 설치가 안되어있다면 Get Docker 참고) 다운로드 https://www.jenkins.io/download/ 링크에서 젠킨스를 다운 받는다. OS에 맞춰 원하는 무엇으로 다운받아도 상관 없으나 본 튜토리얼은 .war 파일로 진행한다 실행 다운로드 받은 war 파일을 java로 실행한다. httpPort는 원하는 값을 넣으면 되는데, 8000으로 진행해보도록 한다. java -jar jenkins.war --h..

Development/DevOps 2024.02.06