본문 바로가기
728x90
SMALL

Come on IT41

AWS를 이용한 EC2 무중단 서비스 만들어보기(feat. ALB) 1. 글을 쓰게 된 계기 처음 로드밸런싱 alb를 이용하면서 무중단 서비스를 배포하는 경험을 하게되어 정리하고자 한다. 2. 무중단 서비스가 뭐야? 무중단서비스는 한개의 서버가 종료되거나 문제가 생겼을 때 다른 서버가 이를 대신 처리하여 중단되지 않는 서비스를 의미한다. 3. 어떻게 만들어? 1. 2개의 무중단 서비스에 필요한 EC2를 생성한다. 2. 로드 밸런싱 - 로드밸런서에 들어가서 로드 밸런서를 생성한다. 3. 대상그룹에서 대상등록을 통해 EC2를 연결해준다. 로드밸런서를 이용해서 대상 그룹으로 여러개의 서버를 연결해주는 방법이 있다. 4. 로드 밸런싱을 사용하는 이유가 뭐야? 로드밸런싱을 이용하게 되면 여러가지 장점이 있겠지만 첫번째로는 ip가 변경되어도 해당 alb로 접속하여 연결할 수 있도록.. 2023. 9. 5.
AWS docker기반 FastAPI 404 Error 해결(feat.로드밸런싱) 1. 글을 쓰게 된 계기 docker 기반의 FastAPI를 AWS에 ec2로 업로드 하고 로드밸런서로 연결했다. 그랬더니 docker의 로그를 확인해보니 계속해서 404 Not Found 에러가 발생하고 있었다. 이를 해결하기 위한 방법이다. 2. 에러가 나는 이유 - 해결에 앞서 이렇게 에러가 나는 이유가 뭘까? 그 이유는 로드밸런싱의 상태 검사를 생각해보면 좋다. 상태 검사는 30초 간격으로 해당 ec2를 호출해서 정상적인 상태인지 확인하게 되는데 이때 요청한 결과가 정상적이지 않아 나타나게 되는 오류이다. 3. 해결방법 1. 아래 코드를 추가해준다. @app.get("/") async def read_root(): return {"message": "Hello, World"} 추가 해주는 이유는 .. 2023. 9. 5.
Load Key "~~.pem": bad permissions 해결방법 1. 글을 작성하게 된 계기 ssh를 자주 이용하다 보면 보안 이슈로 비밀번호만 설정하는 것이 아니라 pem 파일을 통해서 서버에 접속하는 경우들이 많다. 이때 pem 파일을 잘못 복사하게 되면 permission error로 권한 문제가 생기게 된다. 이에 대한 해결방법이다. 2. 해결 방법 . pem 파일 이름은 : test.pem 파일이라고 가정한다. 터미널에서 ls -al 을 치면. pem 파일에 대해서 아래 사진과 같은 형태로 나오게 된다. ls -al - 아래와 같이 명령어를 입력하면 아래와 같이 권한이 변경된 것을 확인할 수 있다. chmod 600 test.pem 이제 그럼 해당 파일을 통해서 아래 명령어로 서버에 접속할 수 있다. ssh -i test.pem username@host 2023. 8. 27.
AWS EC2 Ubuntu22.04 환경에 Docker 설치 (feat. Docker-compose 설치) 1. 글을 작성하게 된 계기 서비스를 배포하면서 docker를 ubuntu22.04 환경에 설치하는 경우가 많아졌다. 물론 나중에는 aws 이미지로 떠서 해야하겠지만, 추후에도 계속 필요할 것 같아 글을 작성해둔다. 2. Docker 설치하는 방법 1. 프로그램 설치 전 우분투 시스템 패키지 업데이트 sudo apt-get update 2. 필요한 패키지 설치 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common 3. Docker의 공식 GPG키 추가 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key a.. 2023. 8. 25.
동기와 비동기 그리고 병렬과 순차 1. 글을 쓰게 된 계기 동기, 비동기 그리고 병렬과 순차에 대해서 프로그래밍하는 사람이라면 많이 들어봤을 것이다. 이번에 초기 스타트업을 진행하면서 기존과 다르게(연구, 프로젝트 성 업무) 우리는 서비스를 만들게 되었다. 서비스를 만들때 고려해야 할 것이 굉장히 많다는 것을 배우고 있다. 여기서 "속도"는 굉장히 큰 이슈이다. client가 우리 service를 사용하는데 "속도"에 문제가 있어 "불편함"이 있으면 안된다. 그래서 해당 개념에 대해서 다시 한번 정리하고자 글을 작성하게 되었다. 2. 동기와 비동기 동기 (Synchronous) 동기 방식은 작업들이 순차적으로 진행되는 방식이다. 한 작업이 시작하면 그 작업이 완료될 때까지 다른 작업들은 기다려야 한다. 호출한 함수나 작업이 반환될 때까지.. 2023. 8. 23.
(Mac) port 확인 방법 및 5000 port 삭제 방법 1. 글을 작성하게 된 계기 docker-compose를 사용하는 도중 5000 port가 이미 사용 중이라는 아래 사진과 같은 오류를 보내고 있다. 5000 port에서 어떤게 돌아가고 있고 삭제하는 방법에 대해서 작성하려고 한다. 2. 해결방법 - 현재 열려있는 포트 확인 및 닫기 1. 현재 열린 포트 확인 sudo lsof -PiTCP -sTCP:LISTEN 2. 특정 포트를 찾는다. (5000 포트 확인) sudo lsof -i :5000 3. 위에서 나온 PID를 아래와 같이 넣으면 포트가 닫힌다. sudo kill -9 PID - Mac에서 5000 port 사용 방법 1. 아래와 같이 5000 port를 확인하고 kill해도 계속 살아나는 것을 볼 수 있다. 2. commplex-main은 .. 2023. 5. 16.
728x90
LIST