-
Flask, Gunicorn, Nginx, EC2 Ubuntu Server 1]인스턴스 생성 및 연결Development Note/H891: YouTube Playlist Application 2023. 12. 29. 17:34
먼저, YouTube API를 호출하는 Flask Server를 세팅하는 방법이다.
YouTube API Server에 해당한다 이 프로젝트에서 가장 Back에서 동작하는 서버로, YouTube의 Playlist를 생성하고, 비디오들을 넣어달라고 요청한 후, 해당 Playlist의 URL을 Control Server에 전달하는 역할을 하는 서버이다. Python으로 코딩되어 있고, 서버는 Flask를 이용해서 호출할 수 있도록 구성해두었다. 이 코드를 Github에 Private Repository로 올려두었는데, 이 코드를 안전하게 서버에 clone해서 서버를 돌릴 수 있도록 설정해줄 예정이다.
Create Instance
먼저, 인스턴스를 생성해준다. 우선은 Free Tier를 사용했다.
인스턴스의 이름을 지정해준다 어떤 머신으로 사용해도 가능하지만, 익숙한 ubuntu를 선택했다. AMI는 Free tier로 사용 가능한 것으로 선택했다 Instance type은 micro 사이즈로 선택했다. 이 인스턴스를 이용할 때 사용할 Key pair를 생성해준다. 이 컴퓨터에 접속하기 위한 열쇠라고 생각하면 된다. Key pair name과 암호화 방식, 그리고 확장자를 선택하고 Create key pari를 해주면 생성이 된다. 생성을 하게 되면, 자동으로 해당 키가 로컬 컴퓨터에 다운로드가 시작된다. 이 키를 실수로 지우게 되면 인스턴스에 접속이 불가하다. 안전한 장소에 잘 보관해야 한다.
맥에서는 Downloads 안에 저장이 된다. 네트워크 세팅으로 시큐리티 그룹을 생성해주었다. 우선은 모든 SSH traffic을 열어주었다.
해당 시큐리티 그룹은 launch-wizard-5 라는 이름으로 저장된다고 한다 세팅을 확인한 후, 인스턴스를 생성하게 되면, 바로 생성이 된다. 몇초만 기다리면 된다.
Connect Instance
이제 생성된 인스턴스에 접속 해보자. 인스턴스 페이지에 가면, 우리가 생성한 인스턴스가 보인다.
Instance state가 Running 이다. 아직 Status가 Initializing이다. 인스턴스가 완료 되면, Status도 아래처럼 Check 되었다고 표기된다. 이제 인스턴스에 연결이 가능하다.
2/2 checks passed라고 변경되었다. Connect 할 수 있는 방법이 여러가지 있다. 인스턴스 메인 페이지에서 Connect를 눌러보자.
Instance Summary 개인 터미널을 쓰지 않고, 버튼 클릭 한번으로 서버에 접속할 수 있는 기능이 최근 추가되었다.
Instance 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 연결 성공 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