0. 개요 가난한 취준생 생활을 이어가는 중에, 갑자기 AWS에서 16,000원 가량의 해외결제를 제 계좌로 계속 시도하고 있었던 것을 확인했습니다. 결제가 되지않은 것은 해당 해외결제 카드를 사용하지 않아서 돈이 없어서 그런 것 이었는데요. 나는 AWS 프리티어만 사용했고, 돈이 나갈일이 없는데 뭐지? 해킹이라도 당한건가? 라는 불안함이 엄습했습니다. 1. 청구서 확인하기 청구서를 확인해보니 Lightsail과 Elastic Compute Cloud에서 사용요금이 나가고 있었습니다.... 이게뭐야?? 확인해보니, 한두달전에 유튜브에서 본 AWS강의를 보고 Lightsail을 사용했던 적이 있었던 것 같습니다. 그래서 Lightsail 인스턴스와 고정IP가 할당되어 있었습니다. 또한 Elastic Com..
0.개요 이전에는 스크립트 파일로 불필요한 명령어를 치는 과정을 하나의 스크립트 파일로 압축해서 실행하도록 했습니다. 하지만 아직은 스크립트 파일을 일일히 수동으로 실행해주어야합니다. 하지만 웹사이트는 어떠한 문제로 인해서 프로세스가 종료될 수 도 있습니다. 이를 감지해서 알아서 자동으로 켜주게 하는 것이 좋을 것입니다. cron이라는 명령어를 통해서 주기적으로 프로세스를 감지,실행하도록 해보겠습니다. 1. cron명령어 cron은 주기적으로 어떤 작업을 실행할 수 있는 명령어입니다. crontab -e * * * * * ls -l >>cron.log crontab -e를 통해서 crontab을 생성해줍니다. 이후에 어떤 에디터로 작성할지를 묻는데, 저는 vi에디터가 편해서 2번을 선택하겠습니다. 안에는..
0. 개요 이번에도 역시 저번 포스팅에 이어서, 프로젝트를 배포하는데 고려해야할 문제들에 대해서 조금씩 고쳐보는 시간을 가져보고자 합니다. 추가적인 고려했던 문제입니다. 현재 우분투의 시간설정이 US로 되어 있어서 +9시간이 된 채로 로그들이 남는다. 변경해야 한다. 일일히 배포를 하거나, PID를 알아내서 배포를 종료하는 작업을 스크립트로 해결하도록 하는 것이 좋다. 1. 타임존 변경 timedatectl timedatectl list-timezones | grep Seoul sudo timedatectl set-timezone Asia/Seoul timedatectl이라는 명령어로 타임존을 변경할 수 있습니다. timedatectl을 옵션없이 실행하면 현재의 타임존을 알 수 있는데 UTC로 잡혀있습니..
0. 개요 이번에는 저번 포스팅에 이어서, 프로젝트를 배포하는데 고려해야할 문제들에 대해서 조금씩 고쳐보는 시간을 가져보고자 합니다. 고려했던 문제가 몇개 있었습니다. 원격 터미널 창을 끄더라고 계속 실행이 되도록 백그라운드 실행이 되어야한다. 프로젝트의 로그 파일을 보기 좋게 분리해야 한다. 1. nohup로 백그라운드 실행 nohup이라는 명령어를 통해서 백그라운드 실행을 하도록 합니다. nohup는 리눅스에서 프로세스를 실행한 터미널의 세션연결이 끊어지더라도 지속적으로 동작할 수 있게 해주는 명령어입니다. jar { enabled = false } 저번 포스팅에 언급을 안했는데, spring boot 프로젝트의 경우, build.gradle에 해당 옵션을 추가해줘야합니다. 원래는 build를 실행하..
0. 개요 원래는 배포를 하면서 nginx를 사용해서 프록시 서버를 거치게 하거나, CI/CD 도구로써 Jenkins를 사용하거나, 혹은 docker를 사용해서 배포를 하게됩니다. 하지만 이번에는 AWS EC2서버만을 이용해서 베이직하게 배포를 하는 방법을 실습한 것을 정리해보는 시간을 가져보겠습니다. 1. EC2 환경 세팅 배포를 하기전에 사용하기위해 EC2 서버의 환경 세팅을 한 후, EC2 서버로 원격접속을 해서 우리가 Github에 올린 프로젝트를 다운받아 보는 것을 해보겠습니다. EC2 서버 고정 IP 설정 이전의 포스팅(https://chick-it.tistory.com/89)에서 한 내용처럼 인스턴스를 EC2에서 생성해줍니다. 이전과 다른점이라면, 네트워크 설정에서 편집 버튼을 누르고 하단의..
0. 개요 이전의 포스팅에서 인스턴스를 생성할 때, 키페어라는 것을 생성했습니다. 그리고 키페어를 통해서 MobaXterm으로 임대 컴퓨터에 접속할 수 있었습니다. "어떤 과정이 존재하는 것일까?" 대해서 설명을 하려면 AWS의 EC2 서버의 방화벽에 대해서 알아볼 필요가 있습니다. 1. AWS EC2 서버의 방화벽 이전 포스팅의 과정을 정리하자면, 인스턴스를 생성해서 22번 포트로 MobaXterm으로 접속했습니다. 22번 포트는 ssh로 접속합니다. 접속해서 shell명령으로 통해 우분투라는 OS가 받아서 번역해서 하드웨어를 컨트롤 할수 있게 됩니다. 우리는 AWS에서 인스턴스라는 하나의 컴퓨터를 받았으므로 여기에 shell명령으로 Java, 톰캣 등등을 설치해서 사용할겁니다. 하지만 AWS의 방화벽..