본문 바로가기

전체 글46

AWS EC2 스토리지 용량 추가하기(EBS Volume) 순서 1. EBS Volume 수정하기 2. Linux 파티션 확장해주기 3. Linux 파일시스템 확장해주기 EBS Volume 수정하기 1. 인스턴스에 할당되어있는 EBS volume에 들어가 Modify 를 클릭해준다. 2. 그러면 이런 창이 뜰텐데 사이즈를 수정해주고 수정버튼을 클릭해준다. 3. Volume state 에 최적화 등의 수정 진행사항이 표기되는데 사진같이 In-use 로 변경될 때 까지 기다려준다. 5분 내외로 완료된다. Linux 파티션 수정해주기 1. 서버 SSH 에 접속한다. 2. 내 인스턴스에 맞는 타입을 확인한다. - 인스턴스 종류에 따라 방법이 갈린다고 한다. aws ec2 describe-instance-types --instance-type instance_type -.. 2022. 11. 12.
[NestJS]AWS CodePipeline CodeBuild CodeDeploy 를 활용하여 CI/CD 구축하기(작성중) 현재 작성중인 포스트 입니다. 나는 아래의 블로그 글을 참고하여 큰 도움을 받았다. AWS CodePipeLine, CodeBuild, CodeDeploy를 통해 EC2에 배포하기, AWS CI/CD 구축하기 - 1 AWS CodePipeLine, CodeBuild, CodeDeploy를 통해 EC2에 배포하기, AWS CI/CD 구축하기 - 2 위 블로그 글을 참고하였고, 제 환경에 맞게 코드를 일부 변경하여 재 작성된 포스트입니다. 내가 Iwinv에서 AWS로 서버를 이전한 이유중 하나가 간편한 CI/CD 구축이었다. 지금까지 CI/CD를 직접 구축해본적은 없지만(현재 재직중인 회사에서는 DevOps분이 구현을 해두었다.), 사이드 프로젝트에서 자동화 배포를 구현하여 불필요한 작업을 줄일 수 있을 것.. 2022. 11. 6.
Ubuntu 22에 CodeDeploy 에이전트 설치 문제 해결하기(Ruby 3) 에러 [2022-11-05T07:52:23.713255 #3652] INFO -- : Starting Ruby version check. E, [2022-11-05T07:52:23.713431 #3652] ERROR -- : Current running Ruby version for root is 3.0.2, but Ruby version 2.x needs to be installed. E, [2022-11-05T07:52:23.713456 #3652] ERROR -- : If you already have the proper Ruby version installed, please either create a symlink to /usr/bin/ruby2.x, E, [2022-11-05T07:52:23... 2022. 11. 5.
SSH 터널링을 통해 다른서버를 프로세스를 활용하기(feat. BullMQ) 현재 사이드 프로젝트를 진행을 하는데 백그라운드 Job 서버가 있다. 해당 서버에 Redis와 개발중인 node 서버가 존재하고, BullMQ를 활용하여 백그라운드 작업들을 관리하고 있다. BullMQ에 어떤 Queue들이 존재하고, 어떤 Job들이 Processing중인지 확인하기위해 내가 사용하고있는 써드파티 모듈이 있는데, 바로 Bull-Board 이다. 논점이 흐려진 것 같은데 아무튼 백그라운드 서버는 SSH를 제외한 모든 포트를 외부에 오픈시킬 계획이 전혀 없다. 이 때 어떻게 내 컴퓨터에서 해당 페이지를 볼 수 있을까. SSH 터널링 내가 현재 사용하는 방법은 SSH 터널링을 통해 확인하는것이다. 단순하게 예를 들자면 SSH연결을 하고, 내 컴퓨터의 3001 포트를 서버의 3000포트로 포워딩.. 2022. 11. 5.
개꿀 Lightsail과 EC2와의 Private ip로 내부 통신하기(VPC peering) Lightsail은 CPU가 Bustable옵션이고, 성능도 떨어지지만 하나의 굉장히 좋은 이점이 있다. 굉장히 저렴한 가격에 엄청난 트래픽을 기본제공한다. $3.5 인스턴스는 1TB의 기본트래픽 $5 인스턴스는 2TB $10 인스턴스는 3TB 등등... 가성비가 엄청좋은 $5 인스턴스는 1GB당 트래픽이 3.4원꼴이다;;; 이런 의문이 들 수 있다. 아이 서버 사양이 안좋은데 이걸 어따쓰라고!! 꽤나 다양한 방법으로 사용이 가능하다. - Nginx 서버 - Proxy 서버 - CDN 서버 등등.. 또한 더 개꿀인건 Lightsail 인스턴스를 여러개 운영중일 경우에, 트래픽이 공유된다. 예를들어 $5 인스턴스를 2개 운영중이라면 4TB의 트래픽을 사용할 수 있다. (1번 인스턴스에서 3.7TB, 2번 .. 2022. 11. 5.
Iwinv 에서 AWS Lightsail 과 EC2로 서버이전하기2 어떻게 서버를 구성할까 기존 Iwinv 에서는 아래와같이 세대의 서버를 구성하였다. 1번: 프론트엔드 API서버 - 2 vCore / 2GB(10,800원) 2번: 백그라운드 서버 - 2 rCore / 4GB(20,400원) 3번: 데이터베이스 서버 - CPU 2000M(?) / 2GB(14,000원) 이번에는 두대의 가상서버를 운영하고자한다. 1번: 프론트엔드 API서버 - Lightsail - 1 vCore / 1GB($5 = 약 7,000원) + 2TB 기본트래픽 - 처음 세달 무료 2번: 백그라운드서버 + 데이터베이스 서버 - EC2 T4g small - 2 vCore / 2GB($15 = 약 21,000원) - 정확하게는 모르겠지만 2022년 12월 31일까지 T4g small플랜이 1달에 75.. 2022. 11. 5.
Iwinv 에서 AWS Lightsail 과 EC2로 서버이전하기1 현재 운영은 아니지만 사이드 프로젝트로 제작하고 있는 프로그램을 Iwinv에서 AWS Lightsail 과 EC2로 이전하고자 한다. 처음에 Iwinv를 택했었던 이유 처음 사이드 프로젝트를 시작할 때 세가지 착오가 있었다. 1. 빠르게 제작할 수 있을 것 같다. 2. 값이 저렴한 서버로도 충분할 것 같다. 3. 빠르게 오픈해서 광고수익으로 서버비용보다 더 수익을 벌 수 있을 것 같다. 위 예상에 따르면 굳이 고환율시기에 AWS EC2나 Lightsail을 쓰지 않아도 될 것이라고 생각했고 Iwinv가 서버적인 측면에서 확실하게 AWS보다 저렴하다. 이제와서 AWS로 이전하려는 이유 위 세가지 착오는 나로하여금 오버엔지니어링을 야기하게 하였다. 사실 오버엔지니어링이라고 할 수도 있고 아니라고 할 수도 있.. 2022. 11. 5.
테스트/공부용 VPS 생성 - 저렴한 해외가상서버호스팅 + 비밀번호 없이 SSH 벌써 여기 회사에서 입사한지 3달하고도 반이 넘었다. 입사를 하고나서 적응하고, 익숙해지며 영어를 계속 익히면서 이사를 두번이나 하였더니 지금껏 정신이 없었다. 그러나 이정도 시간이 흐르고 나니 이제서야 공부를 할 여유가 조금 생겨서 공부용 서버를 하나 마련해보기로 마음먹었다. 일단 가상서버 호스팅을 신청을 해보게 된 계기는 세가지이다. 1. 로컬 맥북에다가 이것저것 설치했다가 지웠다가 하기가 무섭다.(실수로 잘못설치하거나 config실수로 인해서 포멧하고싶지않다..) 2. 도커를 공부해볼것이다. 3. Kafka, Rabbit MQ를 공부해볼것이다. 가장 큰 이유는 로컬에서는 별로 테스트해보고싶지 않았다.. 그래서 테스트해보기에 좋은 가상서버 호스팅을 찾아보았는데, 생각보다 다들 너무 비싸다.. 나는 월.. 2021. 12. 19.
일반함수와 화살표함수(Arrow Function) 의 차이 일반함수와 화살표함수의 차이를 적어보고자 한다. 화살표함수는 항상 익명이다. 따라서 항상 변수명을 선언해주어야 원하는대로 사용이 가능하다. var test = () => { console.log('test') }; test(); 위와 같이 선언이 가능하다. function 선언문과 비교했을때 정말 깔끔하고 예쁘게 생겼다. 다만 앞서 올린 글과같이 함수 자체가 호이스팅 되지는 않기 때문에 함수가 할당 된 이후에만 해당 함수를 사용할 수 있다. 일반함수와 화살표함수의 차이는 깔끔한 것도 있지만, 가장 큰 차이점은 this이다. 일반함수가 실행될 때 this가 새로 정의되지만, 화살표함수는 this를 새로 정의 하지 않는다. function test_func(){ this.test = 'hi'; setTime.. 2021. 8. 9.