Project

Project/AWS 및 배포

AWS - AWS 꼭 확인하자! 요금폭탄 피하기

0. 개요 가난한 취준생 생활을 이어가는 중에, 갑자기 AWS에서 16,000원 가량의 해외결제를 제 계좌로 계속 시도하고 있었던 것을 확인했습니다. 결제가 되지않은 것은 해당 해외결제 카드를 사용하지 않아서 돈이 없어서 그런 것 이었는데요. 나는 AWS 프리티어만 사용했고, 돈이 나갈일이 없는데 뭐지? 해킹이라도 당한건가? 라는 불안함이 엄습했습니다. 1. 청구서 확인하기 청구서를 확인해보니 Lightsail과 Elastic Compute Cloud에서 사용요금이 나가고 있었습니다.... 이게뭐야?? 확인해보니, 한두달전에 유튜브에서 본 AWS강의를 보고 Lightsail을 사용했던 적이 있었던 것 같습니다. 그래서 Lightsail 인스턴스와 고정IP가 할당되어 있었습니다. 또한 Elastic Com..

Project/Docker

Docker - 1. Docker의 개념과 설치 및 사용법

0. 개요 이번에는 Docker에 대해서 제가 공부한 내용을 정리하는 시간을 가져보고자 합니다. docker가 무엇이길래, 이걸로 프로젝트 배포를 관리하고, 꼭 배워야 한다고 하는 것일까? 1. Docker를 알기위한 Container Docker의 마크를 보면, 배위에 컨테이너가 쌓여있는 듯한 그림이 존재합니다. 왜 이렇게 Docker를 비유했을까?? 말콤 맥린(Malcolm McLean)이라는 20세기 초반, 자동차 운수업으로 매우 성공한 사람이 있었습니다. 자동차를 팔면서, 에로사항이 발생했습니다. 항구가 존재하면, 항구의 입구를 통해서 자동차를 담은 트럭이 들어오고, 배앞으로 와서 노동자들이 자동차를 내려서 배에 싣고... 이 작업을 하는동안 다른 트럭들은 대기를 하고... 이렇게 엄청난 트래픽이..

Project/AWS 및 배포

AWS - 3-3. 베이직 하게 배포해보기 - cron으로 주기적 실행

0.개요 이전에는 스크립트 파일로 불필요한 명령어를 치는 과정을 하나의 스크립트 파일로 압축해서 실행하도록 했습니다. 하지만 아직은 스크립트 파일을 일일히 수동으로 실행해주어야합니다. 하지만 웹사이트는 어떠한 문제로 인해서 프로세스가 종료될 수 도 있습니다. 이를 감지해서 알아서 자동으로 켜주게 하는 것이 좋을 것입니다. cron이라는 명령어를 통해서 주기적으로 프로세스를 감지,실행하도록 해보겠습니다. 1. cron명령어 cron은 주기적으로 어떤 작업을 실행할 수 있는 명령어입니다. crontab -e * * * * * ls -l >>cron.log crontab -e를 통해서 crontab을 생성해줍니다. 이후에 어떤 에디터로 작성할지를 묻는데, 저는 vi에디터가 편해서 2번을 선택하겠습니다. 안에는..

Project/AWS 및 배포

AWS - 3-2. 베이직 하게 배포해보기 - 타임존 변경, 스크립트 작성

0. 개요 이번에도 역시 저번 포스팅에 이어서, 프로젝트를 배포하는데 고려해야할 문제들에 대해서 조금씩 고쳐보는 시간을 가져보고자 합니다. 추가적인 고려했던 문제입니다. 현재 우분투의 시간설정이 US로 되어 있어서 +9시간이 된 채로 로그들이 남는다. 변경해야 한다. 일일히 배포를 하거나, PID를 알아내서 배포를 종료하는 작업을 스크립트로 해결하도록 하는 것이 좋다. 1. 타임존 변경 timedatectl timedatectl list-timezones | grep Seoul sudo timedatectl set-timezone Asia/Seoul timedatectl이라는 명령어로 타임존을 변경할 수 있습니다. timedatectl을 옵션없이 실행하면 현재의 타임존을 알 수 있는데 UTC로 잡혀있습니..

Project/AWS 및 배포

AWS - 3-1. 베이직 하게 배포해보기 - 백그라운드 실행, 로그파일 분리

0. 개요 이번에는 저번 포스팅에 이어서, 프로젝트를 배포하는데 고려해야할 문제들에 대해서 조금씩 고쳐보는 시간을 가져보고자 합니다. 고려했던 문제가 몇개 있었습니다. 원격 터미널 창을 끄더라고 계속 실행이 되도록 백그라운드 실행이 되어야한다. 프로젝트의 로그 파일을 보기 좋게 분리해야 한다. 1. nohup로 백그라운드 실행 nohup이라는 명령어를 통해서 백그라운드 실행을 하도록 합니다. nohup는 리눅스에서 프로세스를 실행한 터미널의 세션연결이 끊어지더라도 지속적으로 동작할 수 있게 해주는 명령어입니다. jar { enabled = false } 저번 포스팅에 언급을 안했는데, spring boot 프로젝트의 경우, build.gradle에 해당 옵션을 추가해줘야합니다. 원래는 build를 실행하..

Project/AWS 및 배포

AWS - 3. 베이직 하게 배포해보기 - EC2 서버에 프로젝트 배포하기

0. 개요 원래는 배포를 하면서 nginx를 사용해서 프록시 서버를 거치게 하거나, CI/CD 도구로써 Jenkins를 사용하거나, 혹은 docker를 사용해서 배포를 하게됩니다. 하지만 이번에는 AWS EC2서버만을 이용해서 베이직하게 배포를 하는 방법을 실습한 것을 정리해보는 시간을 가져보겠습니다. 1. EC2 환경 세팅 배포를 하기전에 사용하기위해 EC2 서버의 환경 세팅을 한 후, EC2 서버로 원격접속을 해서 우리가 Github에 올린 프로젝트를 다운받아 보는 것을 해보겠습니다. EC2 서버 고정 IP 설정 이전의 포스팅(https://chick-it.tistory.com/89)에서 한 내용처럼 인스턴스를 EC2에서 생성해줍니다. 이전과 다른점이라면, 네트워크 설정에서 편집 버튼을 누르고 하단의..

코딩하는너굴맨
'Project' 카테고리의 글 목록