첫 글로 오라클 클라우드에 인스턴스를 생성하고 python 개발 환경을 구축하는 방법을 소개하고 자합니다.
먼저 AWS 프리티어를 사용하지 않고, 오라클 클라우드를 사용해서 인스턴스를 만드는 이유는, 오라클 클라우드가 평생 무료이기 때문입니다. ^^
하지만... 어느새 소비자를 농락하며 유료로 바꿀 가능성이 크죠
간단한 프로젝트 시에 추전드립니다.
일단 oracle 클라우드에 회원 가입을 위해 아래 링크에서 회원가입을 진행해주세요.
https://signup.cloud.oracle.com/?sourceType=_ref_coc-asset-opcSignIn&language=en_KR
자신이 원하는 os에 맞는 이미지와 cpu, 메모리 용량을 변경하기고 싶다면 오른쪽 상단에 "편집"을 클릭해주세요.
클릭하면 아래와 같은 화면이 나오는데 "이미지 변경"을 클릭해 os를 변경해주세요
centos, unbuntu과 같은 일반적인 os를 설치하기 위해서는 "이미지 소스"에서 "플랫폼 이미지"를 선택하고, 원하는 이미지를 선택해주세요. 저는 ubuntu 20.04 버전으로 진행하겠습니다. 옵션을 통해 버전과 변경할 수도 있습니다.
이미지선택을 클릭해 설정을 저장해주세요
shape의 기본 사양은 VM.Standard.E2.1.Micro이며 항상 무료라고 태그가 달려있습니다. 변경하시려면 change Shape를 눌러 변경하세요
항상 무료 태그가 달려 있는 옵션은 VM.Standard.E2.1.Micro가 유일해서.... 변경하지 않고 진행하겠습니다.
AWS를 비롯한 대부분의 클라우드 인스턴스 생성시 키를 등록하여 SSH에 접속할 수 있습니다. 해당 부분을 건너 뛰고 진행한다면, 추후 SSH 접속이 어려울 수 있습니다.
디폴트로 설정되어 있는 "자동으로 키 쌍 생성" 방식으로 진행해보도록 하겠습니다.
오라클에서 자동으로 공용키와 개인키(전용키)를 생성해줍니다. "전용키 저장"을 클릭해 반드시 다운받아 주세요. "공용 키 저장"을 클릭해 공용키도 저장합니다.
다운 받은 키를 기억할 수 있는 장소에 보관해주세요!
※ "공용 키 붙여넣기" 방식으로 진행할경우, putty gen과 같은 키 생성 프로그램으로 공용키와 개인키를 만들고 공용키 아래에 넣어주시면 됩니다.
해당 방식으로 하면 비밀번호를 생성할 수 있어 보다 보안이 강화됩니다.
부트 볼륨 크기(용량)을 지정하고 싶은 경우에는 변경하고 해당 옵션을 선택하시고, 원하는 용량을 입력해주세요
"생성"을 클릭해 인스턴스를 생성합니다.
"프로비전 중"이라는 글씨와 노란색 네모가 표시됩니다. 인스턴스 생성 중입니다. 몇 분 이내에 생성이 완료됩니다. 잠시 기다려주세요
"실행 중"이라는 문구가 보이면 생성이 완료되었습니다.
공용 IP 주소 (public ip)가 인스턴스 별로 주어지며, 이 IP로 ssh 접속을 할 수 있습니다.
다른 설정을 통해 IP주소를 변경할 수도 있습니다.
"복사"를 클릭합니다.
ssh의 접속을 도와주는 다양한 tool이 있습니다. 대표적으로 putty, xshell, mobaxterm이 있는데, 저는 mobaxterm을 선호합니다.
putty는 너무 못생겼구요.
xshell은 낫베드~
mobaxterm의 장점은 윈도우의 탐색기처럼 파일들을 볼수 있는 장점이 있습니다.
언급한 3개의 툴 이외에도 다양한 툴이 있으니 본인이 선호하는 프로그램을 선택하시면 됩니다. 저는 mobaxterm을 예로 설명하겠습니다.
"Session"을 클릭합니다
이런 화면이 뜬 다면, 거의 성공입니다! ubuntu이미지로 인스턴스 생성시 기본 ID는 "ubuntu"입니다. ubuntu를 입력해주세요
로그인 오류가 뜨지 않으면 접속 성공입니다.
만약, "공용 키 붙여넣기" 방식으로 putty gen에서 키 생성후, 비밀번호를 추가로 설정했다면, ID 입력후 비밀번호를 입력해주세요
ubuntu에 파이썬이 설치되어 있는지 확인하기 위해 python
명령어를 입력해 주세요
ubuntu@instance-20220207-2145:~$ python
Command 'python' not found, did you mean:
command 'python3' from deb python3
command 'python' from deb python-is-python3
이렇게 명령어가 뜨면 python3
를 입력해 한번더 확인해 주세요
ubuntu@instance-20220207-2145:~$ python3
Python 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit() # 파이썬 종료
위와 같이 버젼과 파이썬 스크립트가 나오면 파이썬이 제대로 설치되어 있습니다. 만약에 파이썬 설치가 되어 있지 않다면, 구글 검색을 통해 파이썬을 설치해주세요
vscode, 파이참, anaconda 등의 IDE에서 파이썬의 라이브러리의 버젼관리 및 의존성 관리를 위해 가상 환경을 구성합니다.
우선 sudo apt update -y
명령어로 우분투 패키지를 업데이트하세요
sudo apt install -y python3-venv
으로 파이썬 가상환경 구성해주는 패키지를 설치해주세요
ubuntu@instance-20220207-2145:~$ sudo apt install -y python3-venv
Reading package lists... Done
Building dependency tree
Reading state information... Done
<생략>
ubuntu@instance-20220207-2145:~$ pwd
/home/ubuntu
ubuntu@instance-20220207-2145:~$ mkdir venv project
ubuntu@instance-20220207-2145:~$ ls
project venv
python3 -m venv myvenv
은 가상환경 생성 명령어입니다.ubuntu@instance-20220207-2145:~$ cd venv/
ubuntu@instance-20220207-2145:~/venv$ pwd
/home/ubuntu/venv
ubuntu@instance-20220207-2145:~/venv$ python3 -m venv myvenv
ubuntu@instance-20220207-2145:~/venv$ ll
total 12
drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 7 14:07 ./
drwxr-xr-x 6 ubuntu ubuntu 4096 Feb 7 14:04 ../
drwxrwxr-x 6 ubuntu ubuntu 4096 Feb 7 14:07 myvenv/
. activate
명령어를 입력해 가상환경을 실행합니다. 가상환경이 실행되면 (myvenv)
가 가장 앞에 표시됩니다.ubuntu@instance-20220207-2145:~/venv$ cd myvenv/
ubuntu@instance-20220207-2145:~/venv/myvenv$ ll
total 28
drwxrwxr-x 6 ubuntu ubuntu 4096 Feb 7 14:07 ./
drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 7 14:07 ../
drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 7 14:07 bin/
drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 7 14:07 include/
drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 7 14:07 lib/
lrwxrwxrwx 1 ubuntu ubuntu 3 Feb 7 14:07 lib64 -> lib/
-rw-rw-r-- 1 ubuntu ubuntu 70 Feb 7 14:07 pyvenv.cfg
drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 7 14:07 share/
ubuntu@instance-20220207-2145:~/venv/myvenv$ cd bin/
ubuntu@instance-20220207-2145:~/venv/myvenv/bin$ ls
Activate.ps1 activate.csh easy_install pip pip3.8 python3
activate activate.fish easy_install-3.8 pip3 python
ubuntu@instance-20220207-2145:~/venv/myvenv/bin$ . activate
(myvenv) ubuntu@instance-20220207-2145:~/venv/myvenv/bin$
(myvenv) ubuntu@instance-20220207-2145:~/venv/myvenv/bin$ pip install wheel
Collecting wheel
Downloading wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Installing collected packages: wheel
Successfully installed wheel-0.37.1
vi main.py
# main.py
import time
while True:
print(time.time())
time.sleep(10)
(myvenv) ubuntu@instance-20220207-2145:~/project$ python3 main.py
1644243496.2141902
1644243506.2243013
2-1. 백그라운드에서 파이썬 파일 실행하는 방법
nohup명령어를 사용하게 되면 백그라운드에서 파이썬을 실행할 수 있으며, 로그도 함께 저장할 수 있다. 로그는 'nohup.out'에 저장된다.
(myvenv) ubuntu@instance-20220207-2145:~/project$ nohup python3 main.py &
[1] 14046
(myvenv) ubuntu@instance-20220207-2145:~/project$ nohup: ignoring input and appending output to 'nohup.out'
2-2. 로그 확인
1644243790.5407374
1644243800.550863
오라클 클라우드에서 인스턴스를 생성하고 파이썬 개발 환경을 구축하는 방법을 알아봤습니다.
이 방법을 응용하여 api, django 등의 서비스를 배포할 수 있습니다.
블로그 첫 글이라 처음에는 정성들여 썼지만...뒤로 갈수록 점점 대충적은 느낌이네요....ㅎㅎ
다음 포스트에서는 더 좋은 내용으로 찾아뵙겠습니다.
감사합니다.
감사합니다. 잘봤습니다. 덕분에 잘 사용하게 되었습니다!