현재 플랫폼 서비스를 제공하기 위해 고객사에 WAS Server, DB Server를 납품하여 APP과 DB를 관리 및 운영하고있습니다. 이런 방식은 온프레미스 인프라가 증가함에 따라 관리 포인트도 증가하게 됩니다.

계속해서, 서비스 환경의 패러다임이 Cloud로 변화되면서 IT산업은 클라우드 기술이 필수 불가결하게 됐다고 생각합니다.

따라서, 최근 회사에서도 클라우드 기술에 관심을 갖고 있으며, 이번에 클라우드 기반 docker 컨테이너로 FastAPI기반 REST-API 서버를 구축하게 되었습니다.

이번 POST에서는 전반적인 흐름으로 cloud + docker 컨테이너 환경에서 python app을 배포 및 운영하는 방법에 대해 다뤄보도록 하겠습니다.


1. Naver Cloud 포트포워딩 설정


  • server 서비스를 구입을 하면 왼편 Bookmarks 탭에서 Server가 생긴 것을 확인할 수 있습니다.

    image


  • Server 탭을 누르고 들어가면 아래와 같은 화면이 뜨는데, +서버생성 버튼을 눌러 간편하게 원하는 서버를 생성할 수 있습니다. 저는 이미 생성되있는 서버에 배포할 예정입니다. (서버 생성시 인증키 설정을 하게 되는데 인증키는 서버에 접속할 계정생성에 사용됩니다.)

    image


  • 생성된 Server row을 클릭하면 빨간색 표시처럼 포트 포워딩 설정 버튼을 클릭할 수 있도록 변경됩니다.

    image


  • 클릭하게 되면 팝업창이 뜨는데 여기서 외부 포트, 내부 포트를 설정할 수 있습니다.
    외부포트는 외부에서 해당 클라우드로 접속하기 위한 포트 설정입니다. 저는 putty나 filezila로 ssh로 접속할 때 사용합니다. 이렇게 외부포트로 들어온 접속자를 설정한 내부포트로 연결됩니다.

    image


  • 마지막으로 cloud 서버에 접속하기 위해 서버생성 때 설정한 인증키 인증을 통해서 관리자 비밀번호를 확인한다. (naver cloud 설명서에 자세히 있으니 참고.)

    image


  • 자! 여기까지하면 클라우드 서버를 이용할 수 있습니다. 클라우드를 어렵게 생각할 필요가 없습니다. 기존 PC나 서버실과 같은 물리적인 하드웨어가 아닌 가상환경에서 원하는 스펙의 서버를 사용료를 지불하고 이용한다고 생각하면 될 것 같습니다. 가장 중요한건! 클라우드 서비스를 어떻게 활용하는가?에 중점을 두어야 합니다.



2. putty와 fileZila로 cloud 서버 접속 및 파일 전송하는 방법


  • 윈도우 pc를 사용하는 저는 다른 리눅스 서버에 접속하기 위한 putty와 FTP방식으로 파일을 주고 받을 수 있는 filezilla를 자주 사용합니다. 서버, ssh, 원격, FTP, SFTP 등의 개념들을 모른다면..이창을 끄고 공부하고 오길 바랍니다. 기회가 되면 해당 post에 대해 자세히 다뤄보도록 하겠습니다.


putty로 cloud 서버 접속

  1. 서버 접속용 공인 IP 입력
  2. 포트포워딩 설정에서 외부포트로 설정한 port를 입력
  3. SSH 선택
  4. Open
  5. 창이 열리면 위 cloud 서버 생성시 생성했던 계정과 비밀번호를 입력 후 접속

image

자! 접속했습니다. 엄청 간단하죠? putty는 ssh로 클라우드 리눅스 서버로 접속하는 프로그램입니다. 윈도우 -> 윈도우 로 연결할 때는 원격데스크탑을 이용하는 것과 같습니다.


filezilla로 cloud 서버 접속

putty와 같은 ssh 프로토콜로 접속하는 것이기 때문에

  1. 서버 접속용 공인 IP 입력
  2. 포트포워딩 설정에서 외부포트로 설정한 port를 입력
  3. SFTP - SSH File Transfer Protocol 선택
  4. cloud 서버 생성시 생성했던 계정과 비밀번호를 입력
  5. 연결

이제 cloud서버에 접속해서 app을 배포할 준비가 완료되었습니다! 다음 포스트는 cloud 서버에 docker container 환경을 구축하여 python app을 배포하는 내용으로 찾아뵙겠습니다.