OCI CLI 정보확인 및 설정

OCI CLI 정보확인 및 설정

설치한 OCI ClI에 접속 정보를 설정하는 방법을 소개합니다.

OCI CLI 설정

이번 문서에서는 OCI ClI에 설정에 필요한 정보를 조회하고 OCI CLI 접속 설정 정보를 구성하는 방법을 소개합니다. 이 문서는 다음과 같은 목차로 구성됩니다.

사전 준비 사항

이번 Hands-on Lab을 진행하기 전에 다음 작업이 선행되어야 합니다.

선행 Hands-on Lab 설명
OCI Free Tier 등록 데모에 사용할 Oracle Cloud 계정 등록
OCI 사용자&보안 설정 OCI 사용자 등록, Compartment 할당 및 보안 설정
[OCI CLI 설치] Linux & Mac OS OCI CLI 설치
[OCI CLI 설치] 메뉴얼 설치 OCI CLI 코드 기반 설치

설치된 OCI CLI가 OCI Tenancy에 접속하고 정상적으로 동작하기 위해서는 OCI CLI 사용자 설정을 해야 합니다. OCI CLI 사용자 설정에는 다음과 같은 정보가 필요합니다.

이번 문서에서는 OCI CLI 사용자 설정 정보를 확인하고 OCI CLI에 사용자 정보를 설정하는 과정을 소개합니다. 다음과 같은 목차로 진행됩니다.


OCI CLI 설정 정보 수집

User OCID

User OCID는 OCI Console의 OCI User 상세 페이지에서 확인할 수 있습니다. 현재 로그인 사용자의 OCI User 상세 페이지는 다음 메뉴 패스로 이동할 수 있습니다.

  • 오른쪽 위 OCI User Icon 오른쪽 위 OCI User Icon 사용자 ID
  • (OCI 콘솔 왼쪽 위 햄버그 버튼) Identity Users 사용자 목록에서 로그인 ID 클릭

다음 그림과 같이 위 메뉴 패스를 통해서 OCI User 상세 페이지로 이동할 수 있습니다.

OCI User 상세 페이지에서 다음 그림과 같이 copy 링크를 클릭하여 User OCID를 복사할 수 있습니다.

위에서 복사한 User OCID는 다음과 같은 패턴을 갖습니다.

ocid1.user.oc1..aaaaaaaaqddvfo3p4tprztewinniya3zebqdqgpbnk4cjspyzcluzi2yndna

Tenancy 명과 Tenancy OCID

Tenancy 명과 Tenancy OCID는 OCI Console의 Tenancy 상세 페이지에서 확인할 수 있습니다. Tenancy 상세 페이지는 다음 메뉴 패스로 이동할 수 있습니다.

  • 오른쪽 위 OCI User Icon 오른쪽 위 OCI User Icon 사용자 ID
  • (OCI 콘솔 왼쪽 위 햄버그 버튼) Identity Users 사용자 목록에서 로그인 ID 클릭

다음 그림과 같이 위 메뉴 패스를 통해서 Tenancy 상세 페이지로 이동할 수 있습니다.

Tenancy 상세 페이지에서 Tenancy 이름을 확인할 수 있고 다음 그림과 같이 copy 링크를 클릭하여 Tenancy OCID를 복사할 수 있습니다.

위에서 복사한 Tenancy 이름과 Tenancy OCID는 다음과 같은 패턴을 갖습니다.

Tenancy 명: apackrsct01
ocid1.tenancy.oc1..aaaaaaaa6ma7kq3bsiddduzqidv22cajs3fpesgpqmmsgxihlbcemkklrsqa

Region ID

사용할 Region 명은 다음 그림과 같이 OCI Console의 오른쪽 위 메뉴에서 확인할 수 있습니다.

위 그림에서 현재 계정이 사용하는 리전 이름은 Ashburn입니다. Ashburn의 Region ID는 다음 링크 페이지에서 확인할 수 있습니다.

[taewan.kim/ocidocs] OCI 리전 정보

위 링크에서 Ashburn의 Region ID는 us-ashburn-1인 것을 확인할 수 있습니다.

OCI CLI 기본 설정 및 확인

앞에서 OCI CLI 설정에 필요한 정보를 확인했습니다. 앞에서 확인한 정보는 다음과 같이 설정표로 나타낼 수 있습니다.

항목 항목 값
User OCID ocid1.user.oc1..aaaaaaaaqddvfo3p4tprztewinniya3zebqdqgpbnk4cjspyzcluzi2yndna
Tenancy OCID ocid1.tenancy.oc1..aaaaaaaa6ma7kq3bsiddduzqidv22cajs3fpesgpqmmsgxihlbcemkklrsqa
Region ID us-ashburn-1

기본 설정

OCI CLI는 다음 명령으로 환경 설정을 구성할 수 있습니다.

oci setup config

위 명령을 실행하면 몇 가지 입력이 요청됩니다. 각 입력 항목은 다음과 같습니다. 아래 표의 입력 값에서 엔터는 ‘return’ 키 입력을 의미합니다. 각 질문 항목에 대한 기본 값은 사용하는 OS의 Account에 따라서 달라집니다.

입력항목 입력 값 설명
Enter a location for your config 엔터 파일 위치: $HOME/.oci/config
Enter a user OCID 설정표의 User OCID 앞에서 조사한 값
Enter a tenancy OCID 설정표의 Tenancy OCID 앞에서 조사한 값
Enter a region u위 설정표의 Region ID 앞에서 조사한 값
Do you want to generate a new RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n] 엔터 RSA 키 쌍 파일 생성
Enter a directory for your keys to be created [/Users/taewan/.oci] 엔터 기본 위치 사용 권장
Enter a name for your key [oci_api_key] 엔터 RSA 키 파일 명
Enter a passphrase for your private key (empty for no passphrase) 엔터 입력값 없음

위 입력값으로 실행한 oci setup config의 전체 실행 로그는 다음과 같습니다.

$ oci setup config
    This command provides a walkthrough of creating a valid CLI config file.

    The following links explain where to find the information required by this
    script:

    User OCID and Tenancy OCID:

        https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#Other

    Region:

        https://docs.cloud.oracle.com/Content/General/Concepts/regions.htm

    General config documentation:

        https://docs.cloud.oracle.com/Content/API/Concepts/sdkconfig.htm


Enter a location for your config [/Users/taewan/.oci/config]:
Enter a user OCID: ocid1.user.oc1..aaaaaaaaqddvfo3p4tprztenweniyg3zebqgqgpbnk4cjspyzcluzi2yndna
Enter a tenancy OCID: ocid1.tenancy.oc1..aaaaaaaa6ma7kq3bsif76uzqidv22cajs3fpesgpqmmsgxihlbcemkklrsqa
Enter a region (e.g. ap-melbourne-1, ap-mumbai-1, ap-osaka-1, ap-seoul-1, ap-sydney-1, ap-tokyo-1, ca-toronto-1, eu-amsterdam-1, eu-frankfurt-1, eu-zurich-1, me-jeddah-1, sa-saopaulo-1, uk-gov-london-1, uk-london-1, us-ashburn-1, us-gov-ashburn-1, us-gov-chicago-1, us-gov-phoenix-1, us-langley-1, us-luke-1, us-phoenix-1): us-ashburn-1
Do you want to generate a new RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n]:
Enter a directory for your keys to be created [/Users/taewan/.oci]:
Enter a name for your key [oci_api_key]:
Public key written to: /Users/taewan/.oci/oci_api_key_public.pem
Enter a passphrase for your private key (empty for no passphrase):
Private key written to: /Users/taewan/.oci/oci_api_key.pem
Fingerprint: aa:41:d3:08:3d:f1:61:19:ad:9e:db:bc:2e:de:82:43
Config written to /Users/taewan/.oci/config


    If you haven't already uploaded your public key through the console,
    follow the instructions on the page linked below in the section 'How to
    upload the public key':

        https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#How2

 $

위 명령이 실행되면 $HOME/.ocn/config 파일에 다음과 같은 설정이 만들어집니다.

$ cat $HOME/.oci/config
[DEFAULT]
user=ocid1.user.oc1..aaaaaaaaqddvfo3p4tprztewinniya3zebqdqgpbnk4cjspyzcluzi2yndna
fingerprint=aa:41:d3:08:3d:f1:61:19:ad:9e:db:bc:2e:de:82:43
key_file=/Users/taewan/.oci/oci_api_key.pem
tenancy=ocid1.tenancy.oc1..aaaaaaaa6ma7kq3bsiddduzqidv22cajs3fpesgpqmmsgxihlbcemkklrsqa
region=us-ashburn-1
 $

RSA 공개키 등록

$HOME/.oci/config 파일에 default 프로파일이 만들어진 것을 확인할 수 있습니다. 이 default 프로파일에 등록된 RSA 키 파일의 공개키를 OCI User 페이지에 등록합니다. $HOME/.oci/oci_api_key_public.pem 공개키 파일의 내용을 OCI User에 등록합니다.

 $ cat $HOME/.oci/oci_api_key_public.pem
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp7gmJQu1g0wd1UNHht1g
2NcAwE03Gi10DFHm/VXHOpZe+WH4igKCoCReg5sfX8winihySEgKeJTUrASRMvY8
Z+WkpgAjmP0RVdM7i89jzBy1HDYTWSQouU+R/sWaTmbSpg18RgJF2Fg0znxJOkTD
PqPIPxSf2f62m/SLZGz4teuvuUYQ3bXlDjTqio2x0vWXKwWVJqnY3tojNuRHYnbZ
JGy55VTQGog4B1jaeE20xghDhx3TXHC1DeOS3lrIvxdQ0NnYhqwdcxv6lhwkACCc
XcOjbdjqBARmkS+n/P+eh4wG1MqnGp7QnqymSp6rZaIU0dmdap2oym7yWMmtouPY
mQIDAQAB
-----END PUBLIC KEY-----
$

OCI Console에서 오른쪽 위 사용자 프로파일 패스로 OCI User 사용자 상세 페이지에 이동합니다.

OCI User 사용자 상세 페이지에서 위 공개키 값을 다음과 같이 등록합니다.

OCI CLI 설정 테스트

모든 설정이 정상적으로 설정되었다면, 다음 명령은 Tenancy 이름을 출력합니다.

 $ oci os ns get
{
  "data": "apackrsct01"
}
 $

OCI CLI 추가 프로파일 등록

Default 프로파일을 등록한 후 추가 프로파일을 등록하는 방법을 소개합니다. OCI CLI의 설정 파일인 $HOME/.oci/config에 seoul 프로파일을 등록하는 절차를 소개합니다.

oci setup config

위 명령을 실행하면 몇 가지 입력이 요청됩니다. 각 입력 항목은 다음과 같습니다. 아래 표의 입력 값에서 엔터는 ‘return’ 키 입력을 의미합니다. 각 질문 항목에 대한 기본 값은 사용하는 OS의 Account에 따라서 달라집니다.

입력항목 입력 값 설명
Enter a location for your config [/Users/taewan/.oci/config] 엔터 파일 위치: $HOME/.oci/config
config file: /Users/taewan/.oci/config already exists. Do you want add a profile here? (If no, you will be prompted to overwrite the file) [Y/n] 설정표의 User OCID 앞에서 조사한 값
Enter the name of the profile you would like to create seoul 프로파일 이름
Enter a tenancy OCID 설정표의 Tenancy OCID 앞에서 조사한 값
Enter a region 설정표의 Region ID 앞에서 조사한 값
Do you want to generate a new RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n] n RSA 키 쌍 생성하지 않음
Enter the location of your private key file $HOME/.oci/oci_api_key.pem 기본 비밀키 파일 위치/이름

위 설정값을 입력한 전체 실행 로그는 다음과 같습니다.

 $ oci setup config
    This command provides a walkthrough of creating a valid CLI config file.

    The following links explain where to find the information required by this
    script:

    User OCID and Tenancy OCID:

        https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#Other

    Region:

        https://docs.cloud.oracle.com/Content/General/Concepts/regions.htm

    General config documentation:

        https://docs.cloud.oracle.com/Content/API/Concepts/sdkconfig.htm


Enter a location for your config [/Users/taewan/.oci/config]:
Config file: /Users/taewan/.oci/config already exists. Do you want add a profile here? (If no, you will be prompted to overwrite the file) [Y/n]:
Enter the name of the profile you would like to create:  seoul
Enter a user OCID: ocid1.user.oc1..aaaaaaaaqddvfo3p4tprztenweniyg3zebqgqgpbnk4cjspyzcluzi2yndna
Enter a tenancy OCID: ocid1.tenancy.oc1..aaaaaaaa6ma7kq3bsif76uzqidv22cajs3fpesgpqmmsgxihlbcemkklrsqa
Enter a region (e.g. ap-melbourne-1, ap-mumbai-1, ap-osaka-1, ap-seoul-1, ap-sydney-1, ap-tokyo-1, ca-toronto-1, eu-amsterdam-1, eu-frankfurt-1, eu-zurich-1, me-jeddah-1, sa-saopaulo-1, uk-gov-london-1, uk-london-1, us-ashburn-1, us-gov-ashburn-1, us-gov-chicago-1, us-gov-phoenix-1, us-langley-1, us-luke-1, us-phoenix-1): ap-seoul-1
Do you want to generate a new RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n]: n
Enter the location of your private key file: /Users/taewan/.oci/oci_api_key.pem
Fingerprint: aa:41:d3:08:3d:f1:61:19:ad:9e:db:bc:2e:de:82:43
Config written to /Users/taewan/.oci/config


    If you haven't already uploaded your public key through the console,
    follow the instructions on the page linked below in the section 'How to
    upload the public key':

        https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#How2

 $

위 명령을 실행하면 $HOME/.oci/config에 SEOUL 프로파일이 추가된 것을 확인할 수 있습니다.

 $ cat /Users/taewan/.oci/config
[DEFAULT]
user=ocid1.user.oc1..aaaaaaaaqddvfo3p4tprztenwiniyg3aaaqgqgpbnk4cjspyzcluzi2yndna
fingerprint=aa:41:d3:08:3d:f1:61:19:ad:9e:db:bc:2e:de:82:43
key_file=/Users/taewan/.oci/oci_api_key.pem
tenancy=ocid1.tenancy.oc1..aaaaaaaa6ma7kq3bsif76uzqidv22cajsasbcsgpqmmsgxihlbcemkklrsqa
region=us-ashburn-1


[SEOUL]
user=ocid1.user.oc1..aaaaaaaaqddvfo3p4tprztenwiniyg3aaaqgqgpbnk4cjspyzcluzi2yndna
fingerprint=aa:41:d3:08:3d:f1:61:19:ad:9e:db:bc:2e:de:82:43
key_file=/Users/taewan/.oci/oci_api_key.pem
tenancy=ocid1.tenancy.oc1..aaaaaaaa6ma7kq3bsif76uzqidv22cajsasbcsgpqmmsgxihlbcemkklrsqa
region=ap-seoul-1

 $

RSA 공개키 등록

OCI User는 글로벌 객체입니다. 앞에서 디폴트 프로파일을 설정할 때 RSA 공개 키를 OCI User 상세 페이지에 등록했습니다. 새로 등록한 Seoul 프로파일이 디폴트 프로파일에서 사용한 RAS 키를 사용한다면 추가로 RSA 공개키를 등록할 필요가 업습니다.

새로 등록한 프로파일이 기존에 등록한 RAS 키가 아닌 새로운 RAS 키를 사용한다면 앞에서 등록한 절차에 따라 RAS 공개키를 OCI User 상세 페이지에 등록해야 합니다.

OCI CLI 프로파일 설정 테스트

OCI 명령을 실행할 때 –profile 옵션에 프로파일 이름을 지정할 수 있습니다. 프로파일 이름을 지정하지 않으면 DEFAULT 프로파일이 적용됩니다.

 $ oci os ns get --profile SEOUL
{
  "data": "apackrsct01"
}
 $ oci os ns get --profile DEFAULT
{
  "data": "apackrsct01"
}
 $ oci os ns get 
{
  "data": "apackrsct01"
}
 $
  • 문서 생성: 2020-03-03 08:20 / 최종 문서 수정: 2020-03-03 08:20
  • 김태완 avatar
  • 작성자: 김태완
  • 사랑하는 민수와 데이터 관리, 데이터 분석 & 클라우드에 집중하고 있습니다.
  • E-mail: taewan.me@gmail.com
  • Disclaimer
    이 저작물은 Oracle과 관계없이 개인으로서 개인의 시간을 할애하여 작성된 글 입니다. 본 글의 내용, 입장, 예측은 Oracle을 공식적으로 절대 대변하지 않습니다.