-
Flask, Gunicorn, Nginx, EC2 Ubuntu Server 1]인스턴스 생성 및 연결Development Note/H891: YouTube Playlist Application 2023. 12. 29. 17:34
먼저, YouTube API를 호출하는 Flask Server를 세팅하는 방법이다.
이 프로젝트에서 가장 Back에서 동작하는 서버로, YouTube의 Playlist를 생성하고, 비디오들을 넣어달라고 요청한 후, 해당 Playlist의 URL을 Control Server에 전달하는 역할을 하는 서버이다. Python으로 코딩되어 있고, 서버는 Flask를 이용해서 호출할 수 있도록 구성해두었다. 이 코드를 Github에 Private Repository로 올려두었는데, 이 코드를 안전하게 서버에 clone해서 서버를 돌릴 수 있도록 설정해줄 예정이다.
Create Instance
먼저, 인스턴스를 생성해준다. 우선은 Free Tier를 사용했다.
생성을 하게 되면, 자동으로 해당 키가 로컬 컴퓨터에 다운로드가 시작된다. 이 키를 실수로 지우게 되면 인스턴스에 접속이 불가하다. 안전한 장소에 잘 보관해야 한다.
네트워크 세팅으로 시큐리티 그룹을 생성해주었다. 우선은 모든 SSH traffic을 열어주었다.
세팅을 확인한 후, 인스턴스를 생성하게 되면, 바로 생성이 된다. 몇초만 기다리면 된다.
Connect Instance
이제 생성된 인스턴스에 접속 해보자. 인스턴스 페이지에 가면, 우리가 생성한 인스턴스가 보인다.
인스턴스가 완료 되면, Status도 아래처럼 Check 되었다고 표기된다. 이제 인스턴스에 연결이 가능하다.
Connect 할 수 있는 방법이 여러가지 있다. 인스턴스 메인 페이지에서 Connect를 눌러보자.
개인 터미널을 쓰지 않고, 버튼 클릭 한번으로 서버에 접속할 수 있는 기능이 최근 추가되었다.
위 옵션으로 Connect를 누르면 아래와 같이 바로 서버에 접속되어진다.
아주 편리하다. 만약, 개인 터미널로 접속하기 위해서는? 또 많이 쓰는 방법은 ssh를 사용하는 방법이다.
SSH client 탭을 선택하면, 해당 방법에 대해 자세하게 나와있다. 터미널에서 실행해보자. pem key가 Download 폴더 안에 다운받아졌으므로 아래와 같이 터미널에 작성할 수 있다.
$ ssh -i ~/Downloads/sshKeyYouTube.pem ubuntu@ec2-54-180-92-29.ap-northeast-2.compute.amazonaws.com
맨처음 연결하게 되면, 정말 연결하기 원하는지 묻는 문구가 나오고, yes로 답하면 된다.
The authenticity of host 'ec2-54-180-92-29.ap-northeast-2.compute.amazonaws.com (54.180.92.29)' can't be established.
ED25519 key fingerprint is SHA256:kf+3jbLI1BzPyRHpOArGDL4RDTruTfyyJfsGxnGu+HI.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes그런데, pem key가 너무 open 되어있다는 에러 메세지와 함께, pem 키가 무시되어서 연결이 안된다는 에러가 난다. pem키의 권한을 조금 낮게 바꿔줘야한다. AWS 연결 창에서도 언급되어있다. chmod를 이용하면 된다.
$ chmod 400 ~/Downloads/sshKeyYouTube.pem
Download속에 있는 pem 키의 권한을 재설정했다. 다시 접속해본다.
Ubuntu에 연결을 성공했다.
'Development Note > H891: YouTube Playlist Application' 카테고리의 다른 글
Flask, Gunicorn, Nginx, EC2 Ubuntu Server 5] Gunicorn & Nginx (0) 2023.12.30 Flask, Gunicorn, Nginx, EC2 Ubuntu Server 4] Security Group 세팅 (0) 2023.12.30 Flask, Gunicorn, Nginx, EC2 Ubuntu Server 3] Python 라이브러리 세팅 (1) 2023.12.29 Flask, Gunicorn, Nginx, EC2 Ubuntu Server 2] Git과SSH 세팅 (1) 2023.12.29 Project H891 (1) 2023.12.28