1.4 OCI CLI 설치 및 기본 설정
oci cli는 Oracle Cloud Infrastructure에서 주요 인프라 관리 기능을 수행하는 CLI(Command Line Interface) 툴입니다. “oci cli“를 사용하여 OCI 웹 콘솔과 같은 기능을 수행할 수 있습니다. “oci cli“를 스크립트와 함께 사용할 경우 OCI 인프라 관리 기능을 자동화하고 편리하게 운영할 수 있습니다. Oracle Cloud Infrastructure를 더 효율적으로 사용하기 위해서 Command Line Interface(이하 CLI) 사용이 필수입니다.
OCI 인프라스트럭처를 관리하는 언어별 SDK를 오라클 github 레파지토리[↗NW] 에서 오픈소스 형태로 개발하고 있습니다. OCI SDK가 지원하는 언어는 Python, Go, Java와 Ruby입니다. “oci cli“는 oracle/oci-python-sdk[↗NW] 프로젝트를 기반으로 만들어 졌습니다.
- Github에서 개발중인 언어별 OCI SDK
“oci cli“는 Mac, Windows 또는 Linux를 지원하며, Python (버전 2.7.5 또는 3.5 이상)을 기반으로 합니다. 본 문에서는 “oci cli“를 Mac OSX오 윈도우에서 설치하는 방법을 소개합니다. 1
본 문서는 Oracle Cloud Infrastucture의 지원 툴인 oci cli를 설치하는 과정을 소개합니다. 현재 독자는 Oracle Cloud 계정이 있다는 전제로 진행합니다. Oracle Cloud 서비스를 이용 가능한 계정이 없다면, 다음 문서를 참조하여 Oracle Cloud 계정을 생성하시기 바랍니다.
oci cli 설치
“oci cli“은 github에서 개발되고 있으며, Window와 mac/Linux에서 설치를 돕는 스크립트를 제공합니다. 설치 스크립트는 https://github.com/oracle/oci-cli 사이트에서 확인할 수 있습니다.
여러분의 운영체제에 맞는 스크립트를 터미널상에서 실행하면 설치가 되기 때문에 설치 자체는 상당히 쉽습니다. “oci cli“를 사용하기 위해서는 Python (버전 2.7.5 또는 3.5 이상)이 필요합니다. 파이썬이 없는 상태에서 다음 스크립트로 oci cli를 설치하면 설치 과정에서 최신 Python을 설치합니다. 기존에 파이썬이 설치되어 있다면 버전을 2.7.5 이상 혹은 3.5 이상으로 먼저 맞춰야 합니다.
설치 시 주의 사항: oci cli 설치 스크립트에 에러가 발생하는 경우는 크게 두 가지 입니다. 하나는 현재 2.7과 3.5 아래 버전이 설치된 경우입니다. oci cli 설치 스크립트는 현재 파이썬이 설치되어 있지 않다면, 최신 파이썬을 설치하지만, 최소 기준 아래 버전이 설치된 경우에 업그레이드는 하지 않습니다. 두 번째는 22번 포트가 막혀있는 네트워크 문제입니다. oci cli 설치 스크립트는 ssh 통신을 합니다. 따라서 22번 포트를 사용할 수 있어야 합니다.
Linux/Mac OSX에서는 터미널상에서 Bash 혹은 Zsh에서 실행하면 됩니다. 윈도우인 경우 Window 10을 권장하고, 다음 스크립트는 PowerShell에서 수행해야 합니다.
- Linux/Mac OSX용 설치 스크립트
bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
- 전체 명령: bash -c “$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
- Window용 설치 스크립트
powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.ps1'))"
- 전체 명령: powershell -NoProfile -ExecutionPolicy Bypass -Command “iex ((New-Object System.Net.WebClient).DownloadString(‘https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.ps1'))"
oci cli 설치 확인
oci cli가 제대로 설치되었는지는 다음 명령으로 확인할 수 있습니다.
~/temp/demo/taewan > oci -v 2.4.40
oci cli 기본 설정
앞에서 수집한 OCI Identity 정보를 이용하여 OCI CLI 기본 연결 설정을 해보겠습니다. 앞에서 수집한 정보는 다음과 같습니다.
항목 | 관련 수집 정보 |
---|---|
OCI User의 ocid | ocid1.user.oc1..aaaaabbasatvx3hdkcg2nfa6oaaijdvtctriyvuynhc4dabck3pxhreirbnwa |
OCI Tenancy의 oicd | ocid1.tenancy.oc1..aaaaabbaurlvuhzz6e3ycvayt7rg4gt2uwxynjzvyd4zowknkvmtvyb452na |
Region | us-ashburn-1 |
다음 명령을 통해서 oci cli의 기본 접속 설정을 할 수 있습니다.
> oci setup config
위 명령을 입력하면 다음가 같은 정보 입력 및 문의가 진행됩니다.
Enter a location for your config [/Users/taewan/.oci/config]:
- config 파일 위치 지정
- 입력: Enter (기본 위치 사용)
Enter a user OCID:
- 입력: OCI User의 ocid
- ocid1.user.oc1..aaaaabbasatvx3hdkcg2nfa6oaaijdvtctriyvuynhc4dabck3pxhreirbnwa
Enter a tenancy OCID
- 입력: OCI Tenancy의 oicd
- ocid1.tenancy.oc1..aaaaabbaurlvuhzz6e3ycvayt7rg4gt2uwxynjzvyd4zowknkvmtvyb452na
Enter a region (e.g. eu-frankfurt-1, uk-london-1, us-ashburn-1, us-phoenix-1):
- 입력: us-ashburn-1
Do you want to generate a new RSA key pair?
- RSA 보안 키 파일 생성
- 입력: Y
Enter a directory for your keys to be created [/Users/taewan/.oci]:
- RSA 보안 키 파일 위치 지정
- 입력: Enter (기본 위치를 사용할 경우)
Enter a name for your key [oci_api_key]:
- RSA Private key 파일 이름 지정
- 입력: Enter (기본 위치를 사용할 경우)
Enter a passphrase for your private key (empty for no passphrase):
- 입력: Enter (기본값 사용)
기본 위치를 사용할 경우 다음과 같은 결과를 확인할 수 있습니다.
> pwd
/Users/taewan
> ls .oci
config oci_api_key.pem oci_api_key_public.pem
> cat .oci/config
[DEFAULT]
user=ocid1.user.oc1..aaaaaaaa7q6hc56vqrjk67adfgi4np4k7abcq64ebqdfmhjhod3tmyxca
fingerprint=b1:7a:69:14:f1:ae:2c:13:cc:54:c3:d4:43:b1:9c:b2
key_file=/Users/taewan/.oci/oci_api_key.pem
tenancy=ocid1.tenancy.oc1..aaaaaaaarla6ykabvfryuxqcx5y76stinq7z76lql5xqvcbjx3zfujxi33q
region=us-ashburn-1
oci user에 rsa public 파일 등록
OCI CLI의 “oci setup config” 명령으로 만들어진 공개키를 OCI User에 등록해야 합니다. 앞에서 생성된 공개키는 다음과 같이 확인할 수 있습니다.
> cat .oci/oci_api_key_public.pem
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3IPPeI54Nns3HRuaOgLi
Q2iqB1vKb2idWOf52/lUQZXKJ4AKWkdlbHBfvTIf6V8T35NbGL5e0UO3CmiYYzcc
Rrv4iEtLxKlZGok6fMG8ojrKya35lUzTiqOUfzTGGmSZzAZTAJ3uiAmziTgzF4rj
KyEaX+/FdHIQiR+av1w3hm8ooYdCnq3Ja51g+Wmbw9xh4OjmQf8zbnI1Q0qJi4Xv
V0XmAnMlZbLSpovwzYAQCR2C0fqB5zlRd7miF1EnrVN61lFx+f78qziZtTp8BH8o
xUwmDAaD4d5f83RsLy+2+0XpDTMfZpaD+JAxko1xxgUg7mW/s82OmTO+onXjoFjV
4wIDAQAB
-----END PUBLIC KEY-----
이 공개키를 OCI User인 adw_hol_user에 등록하기 위해서, OCI Compute 관리 페이지에서 다음 메뉴로 “OCI User” 관리 페이지로 이동합니다.
- “MENU” -> “Identity” -> “Users“
OCI USER 관리 페이지에서 adw_hol_user 사용자의 상세 페이지로 이동한 후, “Add Public Key”를 클릭하고 공개키 등록 폼을 요청합니다.
- 공개키 등록 요청
공개키 등록 폼에 “.oci/oci_api_key_public.pem” 파일의 공개키를 등록합니다.
- 공개키 등록
“adw_hol_user” 사용자 상세 페이지에 공개키가 등록되면 다음과 같이 공개키 목록이 출력됩니다.
- 공개키 등록 결과
OCI CLI 기본 접속 설정 확인
oci의 tenancy id를 조회하는 oci os ns get
명령을 이용하여 앞에서 수행한 설정 상태를 점검할 수 있습니다. 아래와 같이 Tenancy를 반환한다면, 설정이 제대로 되었다고 판단할 수 있습니다.
> oci os ns get { "data": "twingirls" } >
위와 같이 tenancy 정보가 출력되면 oci cli 설치와 기본 연결 설정이 정상적으로 완료된 것으로 판단할 수 있습니다.
동영상 데모
지금까지 소개할 설치 및 설정 절차는 다음 동영상에서 확인하실 수 있습니다.
Window 10에 oci cli 설치하기
다음 동영상은 Window 10에서 oci cli를 설치하고 설정하는 과정을 확인할 수 있습니다.
- Window 10에 OCI CLI 설치 데모 동영상
Mac OSX에 oci cli 설치하기
Mac OSX와 리눅스에 oci cli를 설치하는 과정은 거의 같습니다. 다음 동영상에서 Mac OSX에 oci cli를 설치하고 설정하는 과정을 확인할 수 있습니다.
- Mac OSX에 OCI CLI 설치 데모 동영상
To the next ….
다음 문서에서는 OCI CLI로 OCI Object Storage에 파일을 업로드 할 수 있도록, Bucket을 만들고 보안 설정하는 과정을 다루겠습니다.
- “oci cli“를 리눅스에서 설치하는 방법은 Mac OSX와 같습니다. [return]