EC2
-
[ AWS ] EC2 인스턴스 t2, t3살펴보기Topic/AWS | JENKINS 2023. 6. 17. 11:11
EC2를 사용할 때 가장 흔하게 t2.micro 프리티어를 사용한다. cpu 성능을 제공하는 방식이 조금 특별하다. 일반적으로 CPU 성능이 정해져있어서 24시간 같은 성능을 제공할 것이라 생각하지만, T계열 인스턴스들은 기본 성능을 제공하다가, 유저들이 몰리거나 하는 등 기준 이상의 성능이 필요할 경우 버스트 기능이 동작하게 된다. 물론, 공짜는 아니고 인스턴스 사양마다 제공되는 크레딧이 다르고 그 크레딧이 남아있는 동안 버스트 기능을 사용할 수 있다. 기준 이하 성능 사용을 지속할 경우 크레딧이 쌓이고(한계치 있음), 그 이상의 성능을 사용할 경우 크레딧을 소모시킨다. 크레딧이 다 소모되면, 기준 이상의 성능을 발휘하지 못하고 성능은 급격히 떨어지게 된다. 이러한 특성은 평소에는 CPU사용률 저조하다..
-
[ AWS ] EC2 시작할 때, pm2를 이용해 스크립트로 서버 배포하기Topic/AWS | JENKINS 2023. 5. 20. 20:11
ec2에 cloud-init 설치 ec2~ubuntu에서 sudo apt-cache search cloud-init 설치되지 않았다면 sudo apt-get install cloud-init EC2 인스턴스 중지 (종료 X) 중지 후 “중지됨”으로 상태가 변할 때까지 대기한다. 중지되었다면 [작업 - 인스턴스 설정 - 사용자 데이터 편집]으로 들어간다. 스크립트 하단 #!/bin/bash 아래부터 작성해나간다. *sudo, root폴더 기준임에 유의하여 작성한다. * Content-Type: multipart/mixed; boundary="//" MIME-Version: 1.0 --// Content-Type: text/cloud-config; charset="us-ascii" MIME-Version: ..
-
[ MongoDB ] aws ec2(ubuntu 22.04) MongoDB에 MongoDB compass 연결하기Topic/Database 2023. 5. 5. 21:33
ec2에서 mongodb를 설치하고 mongosh을 눌렀을 때 정상적으로 접속이 가능한 상태가 전제이고 MongoDB compass를 연결해보는 작업이다. 우선 사용하고자 하는 DB로 바꿔준다. show dbs use test db.getUsers() db.createUser({ user: ‘testUser1`, pwd: ‘’password77, roles: [{role: 'readWrite', db: 'test'}]}) db에 접근할 user를 만들어주었다. 다시 한번 db.getUsers()를 통해 잘 만들어졌는지 체크한다. db.getUsers() // -> 결과 { users: [ { _id: 'test.testUser1, userId: new UUID("bdsdwfad-adad-9999-fje0..
-
[ AWS ] EC2 vs Lightsale 비교 (무엇이 더 효율적일까?)Topic/AWS | JENKINS 2023. 4. 1. 11:17
사내에서 관리하는 프로젝트에서 AWS에서 청구서를 보다보니 EC2와 Lightsale로 프로젝트들이 섞여 있어서 각각의 특징과 약간의 비교를 해보려한다. EC2 & Lightsale 비교 lightsale은 ec2와 다르게 인스턴스 타입을 변경하거나 상세한 보안그룹 설정이 불가능하고 IAM role이나 기타 로드밸런서 옵션이 부족하다. 하지만 lightslae은 웹호스팅에 중점을 둔 기능이기 때문에 관리자 입장에서는 몇 번의 클릭으로 빠르게 프로젝트를 만들어서 운용할 때는 EC2보다 관리 측면에서 장점이 있다. 비용적인 측면에서는 lightsale은 가격에 따라 정해진 CPU, 메모리, 디스크 용량에 따라 선택한 가격만큼 과금되는 형식이고, EC2는 사람들이 도메인의 접속하고 웹이나 DB 등에 통신이 이..
-
AWS | EC2와 로드밸런서 연결하는 방법Topic/AWS | JENKINS 2022. 8. 30. 09:36
서로 다른 EC2 인스턴스를 생성 후 ELB를 적용 1. EC2 인스턴스 생성 ELB에 연결할 2개의 EC2 인스턴스를 생성한다. 두 인스턴스의 서브넷(가용영역) 위치를 다르게 설정하기 ap-northeast-2a 서브넷으로 지정된 첫번째 인스턴스 ap-northeast-2c 서브넷으로 지정된 두번째 인스턴스 2. Load Balancer 적용 EC2 서비스페이지에서 좌측 메뉴 하단에 로드 밸런싱->로드밸러서를 클릭해서 접속한다. classic Load Balancer를 선택한다. 로드밸런서 이름 -> next 보안 그룹 할당 기존에 생성되어있는 보안 그룹을 할당시켜줬다. 80 HTTP만 설정되어있으면 된다. 상태검사 구성 로드밸런서에 연결할 인스턴스의 헬스체크와 관련된 설정이다. 기본값으로 두고 넘어간..
-
EC2 만들고 웹스톰에서 SSH 연결해서 레포 clone받는 방법Topic/AWS | JENKINS 2022. 8. 25. 23:47
EC2 생성하고(t3.micro) 30Gb 설정 (pem파일 잘 저장해놓기) 웹스톰 Tools - Start SSH session 클릭해서 edit Host -> EC2 퍼블릭 IPv4주소 Username -> 쓰고 싶은 이름 Authentication type: Key pair Tools - Deployment - Connection 클릭 Type -> SFTP SSH configuration -> SSH session 네임 클릭 Test Connection 해보고 Root path는 /home/ubuntu 로 진행하면 된다. 우분투 접속 후 터미널에 차례대로 입력 sudo apt-get update curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0...
-
AWS EC2: 터미널이 종료되어도 서버 실행되게 만드는 방법 (feat. PM2)Topic/AWS | JENKINS 2022. 3. 31. 11:11
우리가 SSH를 통해 EC2에 접속하고, 서버 운영중인데 터미널이 강제 종료되었다고 생각해봅시다. 로컬에 띄워져 있던 ssh 프로세스가 강제 종료되고, EC2 상의 프로세스도 같이 종료되면서 서버가 종료되버리는 일이 발생한다. 우리는 웹 서버가 구동 중인 node 프로세스가 종료되지 않게 해야하는데 이 때 우리는 프로세스 매니지먼트 도구 PM2를 사용해볼 수 있다. PM2는 node.js로 실행되는 프로그램(프로세스)를 관리해주며, 백그라운드에서 실행되게 만들어준다. PM2 설치 방법 (서버에 접속한 상태에서) $ npm install pm2 -g PM2 전역에 설치 후 node.js 앱을 백그라운드로 실행하기 $ pm2 start app.js pm2에 관리자 권한을 부여하기 위해서 'authbind' ..