AWS
AWS - Serverless 프레임워크 설치하기
1. Serverless(서버리스)란? 개발자가 서버를 관리할 필요 없이 애플리케이션을 빌드하고 실행할 수 있도록 하는 클라우드 네이티브 개발 모델 2. Serverless Framework AWS, Azure, GCP 등의 서버리스 서비스를 쉽게 사용할 수 있도록 도와주는 오픈소스 프레임 워크 3. Serverless 프레임워크 사용을 위한 Node.js 설치 Node.js 다운로드 링크 https://nodejs.org/en/download/ Download | Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org LTS 버전으로 다운로드 쭉 next를 눌러서 기본값으로 설치 4. Serve..
AWS - IAM 사용자 권한 설정하기
1. IAM (Identity and Access Management) AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹서비스 AWS 계정을 처음 생성 할 때는 해당 계정의 모든 AWS 서비스 및 리소스에 대한 완전한 액세스 권한을 지님 완전한 액세스 권한을 통합 인증(SSO) 자격 증명이라고 하며, 루트 사용자라고도 함 IAM을 사용하여 리소스를 사용하도록 인증(로그인) 및 권한 부여 된 대상을 제어 일상적인 작업, 관리 작업의 경우에도 루트 사용자는 가능한한 사용하지 않는 것이 좋음 2. IAM 사용자 권한 부여하기 현재 나의 목적은 Lambda를 사용해서, Flask로 개발한 REST API서버를 Serverless(서버리스) 배포 하는 것이다. 따라서 그에 맞게 권한 설정하는 법을 알아본..
AWS EC2 - GitHub를 거치지 않고 서버와 로컬 간의 파일 전송(FTP)
깃허브엔 업로드 용량 제한이 있기 때문에 서버에 용량이 큰 동영상 파일 등을 업로드하고 싶을 때는 FTP(File Transfer Protocol) 방식으로 로컬과 서버 간 직접 전송할 수 있다. 파일질라 다운로드 https://filezilla-project.org/download.php?type=client 파일질라는 많이 사용되는 FTP 클라이언트다. 설치 후 실행화면에서 파일 > 사이트 관리자를 누른다. 새 사이트를 눌러 이름을 짓고 설정을 해준다. 프로토콜: SFTP 호스트: 내 EC2 서버의 주소를 입력 로그온 유형: 키 파일 사용자: EC2에 접속하던 사용자명 (ec2-user) 키 파일: 내 PPK 키 파일을 등록 완료 후 연결을 누른다. 내 로컬사이트와 리모트사이트(서버) 가 연결 되었다..
AWS EC2 에서 배포한 앱을 수정하는 방법
배포해서 백그라운드에서 실행중인 앱을 수정할 때 어떤 일련의 과정을 거치는지 정리해본다. 0. 수정 전 앱 화면 1. 로컬에서 코드를 수정 2. 수정한 코드를 테스트해보고 문제가 없으면 commit 3. push 하면 github에 수정본이 저장된다. 4. 앱이 구동중인 서버에 pull 5. 수정 완료
AWS EC2 - 여러 개의 포트 지정, 실행하기
하나의 EC2 서버에서 여러 개의 streamlit app을 실행하려 한다. streamlit은 기본적으로 8501 포트로 실행되고 8501에 실행중인 프로세스가 있으면 8502, 또 있으면 8503 이런식으로 증가한다. 내가 직접 포트를 지정해 줄 수도 있다. --server.port 포트번호 실행문 뒤에 이걸 붙여준다. 두 개의 streamlit app을 각각 8501, 8503 포트에서 백그라운드 실행해보겠다. 내 AWS EC2의 퍼블릭 주소뒤에 :포트번호를 붙여서 주소창에 입력하면 접속이 가능하다. 접속이 안된다면 인바운드 규칙을 추가해줘야 한다. 관련 포스트를 참고하자. https://donghyeok90.tistory.com/122 AWS EC2 서버에 접속할 수 있도록 포트 허용하기 stre..
AWS EC2 - 터미널 접속을 끊어도 백그라운드에서 돌아가게 하는 방법
이전 포스팅에서 실행한 앱은 터미널을 닫으면, 실행명령도 사라지기 때문에 더 이상 돌아가지 않는다. 터미널 접속을 해제해도 365일 24시간 서버가 돌아갈 수 있도록 백그라운드 실행하는 법을 알아보자. 백그라운드로 실행하는 법 # $ nuhup 명령어 & nohup streamlit run app.py & 아무 일이 일어나지 않은 것 처럼 보이지만, 터미널 창을 끄고 AWS EC2의 퍼블릭주소로 접속하면 여전이 app은 돌아가고 있다. 현재 실행중인 프로세스를 확인하는 법 # $ ps -ef | grep 프로세스명 ps -ef|grep streamlit 백그라운드에서 실행 중인 프로세스를 종료하는 법 # $ kill 프로세스id kill 4535 실행중인 프로세스를 확인할 때와 실행할 때 터미널 창을 확..
AWS EC2 서버에 접속할 수 있도록 포트 허용하기
streamlit을 사용해 개발한 app을 EC2 서버에서 돌리려고 한다. 박스 친 External URL이 접속 주소인데, 접속하려 하면 연결이 안 된다. 그 이유는 EC2의 방화벽에 막혔기 때문이다. 서버에 접속하려면 내가 사용하는 포트(현재는 8501)를 허용해줘야 한다. aws에서 인스턴스 > 보안 > 보안그룹에 들어가 인바운드 규칙을 추가해주자. 포트범위를 8501, 소스유형을 Anywhere-IPv4로 설정해준다. 이제 정상적으로 접속이 될 것이다.
AWS EC2 리눅스에 git 설치하고 클론 생성
서비스를 돌릴 서버인 AWS EC2에도 Github의 클론이 있어야 된다. 1. 리눅스에 git 설치하기 $ sudo yum install git 2. github의 클론 가져오기 $ git clone 복사한url주소 $ ll 로 확인한 결과 github에 있던 repository를 가져온 것을 확인했다. AWS EC2 코드 수정 프로세스 1. local 수정 2. test 3. commit 4. github에 push 5. EC2로 pull