개요

이 페이지에서는 CLI 초기 설정법부터 간단한 이용방법에 대해서 설명합니다. CLI에 관련된 각 상세 명령어 및 예제를 보고 싶다면 CLI help 명령어를 실행하세요.

CLI 구조

CLI는 Windows 환경용 파일과 Linux 환경용 파일이 있습니다. 두 파일의 구조는 모두 같으며 환경에 따라 실행 방법이 조금 다릅니다.

  • Jre7: Ncloud CLI는 Java를 이용해서 개발되어 JRE(Java Runtime Enviroment)가 필요합니다. CLI 폴더에는 jre7 파일이 포함되어 있으므로 CLI를 운영하는 환경에서 이미 JRE나 JDK가 설치되어 있을 경우 이를 참고하시기 바랍니다(Java 1.7 이상에서 구동).
  • lib: CLI 관련 .jar 파일이 있는 폴더
  • ncloud.*: CLI jar 파일을 실행하기 위한 스크립트 파일(Windows, Linux 환경에 따라 파일 확장자가 다름)

CLI 시작

각 환경(Windows/Linux)에 따라 다운로드한 폴더 경로(cli_window/cli_linux)에서 ncloud 명령어를 실행합니다. 만약 다음과 같은 메시지가 출력된다면 정상적으로 실행된 것입니다.

  • Windows

  • Linux

1.7 이상 버전의 JRE 혹은 JDK가 로컬 환경에 설치되어 있다면 해당 파일을 사용해도 무관합니다.

기존 JRE, JDK 연결(로컬 환경에 JRE, JDK가 이미 설치되어 있는 경우)

포함된 JRE 파일이 아니라 로컬 환경의 JRE, JDK를 이용할 경우 ncloud 스크립트 파일에서 다음과 같이 ./jre7/bin/javajava로 변경합니다. 이는 기존 로컬 환경에 설치된 JRE, JDK를 사용하려는 경우에만 해당합니다.

  • 수정 전

  • 수정 후

CLI API 인증키값 설정

CLI의 기능을 사용하기 위해서 먼저 API 인증키값을 설정해야 합니다.

API 인증키는 마이페이지 > 계정 관리 > 인증키 관리에서 확인 가능합니다.

$ncloud configure 명령어를 입력하면 Access Key, Secret Key를 입력받을 수 있습니다.

각 API 인증키는 사용자 환경 홈 디렉터리의 .ncloud 폴더에 configure 파일 형태로 저장됩니다. API 인증키가 제대로 입력되었다면 정상적으로 명령어가 수행됩니다.

만약 입력한 API 인증키가 유효하지 않다면 다음과 같은 메시지가 출력됩니다.

인증키값이 정상적인 경우 zone 리스트 출력을 실행하면 다음과 같이 결과가 출력됩니다.

CLI 도움말 보기

Ncloud CLI를 사용할 때 도움말을 보려면 명령어 끝에 help를 추가하여 실행합니다.

다음 명령어는 일반 Ncloud CLI에 대한 옵션 및 도움말과 사용 가능한 최상위 명령을 나열합니다.

$ncloud help

다음 명령어는 Ncloud의 상위 명령어에서 사용 가능한 하위 명령어를 나열합니다.

$ncloud server help
$ncloud loadbalancer help

도움말 구성

getZoneList 명령어를 예시로 도움말 구성을 설명하겠습니다.

  • API명: 명령어 이름입니다.
존(Zone)리스트조회
  • 설명: API에 대한 상세 설명입니다.
네이버 클라우드 플랫폼에서 제공하는 존(Zone)은 DS(Distribution Switch) 기준으로 나누어 집니다. 서버인스턴스(VM)를 생성할 때, 특정한 존(Zone)에 생성할 수 있습니다. 따라서 네이버 클라우드 플랫폼에서 제공하는 존(Zone) 정보를 조회 할 수 있어야 합니다.
  • 요청 파라미터: API 호출 시 사용 가능한 옵션을 설명합니다.
파라미터명 간략 설명 타입 제약 필수여부
regionNo 리전번호 String No
  • 응답 데이터 타입: API 호출 시 응답받는 데이터의 객체 타입입니다.
ZoneList extends CommonResponse
private List zoneList = new ArrayList();
Zone
private String zoneNo;
private String zoneName;
private String zoneDescription;
  • 예시: 실제 API 호출 시 받는 데이터 응답의 예시입니다.
"getZoneListResponse": {
      "requestId": "9524c84b-f5f2-46db-9e8c-bb70906c4ea1",
      "returnCode": 0,
      "returnMessage": "success",
       "zoneList": [
…]}

CLI 명령어 구조

Ncloud CLI는 명령줄에서 멀티파트 구조를 사용합니다. 이 구조는 ncloud에 대한 기본 호출로 시작되며 각 명령어마다 수행할 작업에 대한 하위 명령이 있습니다. CLI에서 옵션을 추가할 때 특정 파라미터를 어떤 순서로 지정하든 상관없습니다.

$ncloud <command> <subcommand> [options and parameters]

CLI 파라미터 및 옵션 지정

대부분의 파라미터값은 간단한 문자열 또는 숫자입니다. 그 외에도 Map, List 형태의 파라미터를 사용할 수도 있습니다. List는 아래와 같은 명령어로 사용합니다. List 파라미터는 공백( ) 또는 콤마(,), 추가 파라미터 선언 등을 이용해서 사용할 수 있습니다.

$ncloud server getPublicIpInstanceList --publicIpInstanceNoList 573361,571968
$ncloud server getPublicIpInstanceList --publicIpInstanceNoList 573361,571968
$ncloud server getPublicIpInstanceList --publicIpInstanceNoList 573361 --publicIpInstanceNoList 571968

공백 문자가 없는 문자열은 따옴표로 묶거나 묶지 않을 수 있습니다. 그러나 Map 형식의 문자열은 따옴표로 묶어야 합니다. 아래 예에 표시된 것처럼 Linux, macOS, Unix 및 Windows PowerShell에서는 작은따옴표(') 또는 큰따옴표('')가 사용 가능하고, Windows 명령 프롬프트에서는 큰따옴표('')를 사용합니다.

  • Windows PowerShell, Linux, macOS, Unix

    $ncloud loadbalancer createLoadBalancerInstance --loadBalancerName penguin --loadBalancerRuleList 'protocolTypeCode=HTTP,loadBalancerPort=80,serverPort=80,l7HealthCheckPath=/l7check.html,proxyProtocolUseYn=N'
    
  • Windows 명령 프롬프트

    $ncloud loadbalancer createLoadBalancerInstance --loadBalancerName penguin --loadBalancerRuleList "protocolTypeCode=HTTP,loadBalancerPort=80,serverPort=80,l7HealthCheckPath=/l7check.html,proxyProtocolUseYn=N"
    

명령 출력 제어

Ncloud CLI는 두 가지 출력 형식을 지원합니다. --output 옵션이 없으면 기본 JSON 포맷으로 출력됩니다.

  • JSON(json): 기본
  • XML(xml)

XML로 출력하고 싶다면 다음과 같이 실행합니다.

$ ncloud server getZoneList --output xml

CLI 실행 시나리오

CLI를 이용해서 다음과 같은 간단한 테스트 시나리오를 작성해 보겠습니다.

  1. 서버 이미지 조회
  2. 서버 생성(init 스크립트를 설정하여 아파치를 설치, 구동하고 touch 명령어를 이용해서 l7Check.html 파일 생성)
  3. 공인 IP 주소 생성 및 할당
  4. 서버 생성 확인

  5. 서버 이미지 CentOS 6.6(64bit) 상품 코드(productCode) SPSW0LINUX000044

    $ ./ncloud server getServerImageProductList  | grep CentOS 6.6(64bit)' -C 8
    

  6. 서버 이미지 CentOS 6.6(64bit)로 최소 사양의 서버 인스턴스 생성(서버 인스턴스번호 573385)

    $ ./ncloud server createServerInstances --serverImageProductCode 'SPSW0LINUX000044'
    --userData 'file:///mnt/c/Users/NAVER/Desktop/cli_linux/userData.sh'
    

    서버 생성 시 실행할 사용자 파일(userData.sh)

    #!/bin/sh
    yum install -y httpd
    echo 'Hello World' > /var/www/html/index.html
    chkconfig --level 2345 httpd on
    

  7. 서버에 공인 IP 주소 생성 및 할당(49.236.145.185)

    $./ncloud server createPublicIpInstance --serverInstanceNo '573385'
    

  8. Ncloud Console에서 49.236.145.185 공인 IP 주소에 대한 80번 포트 ACG 허용 설정(Server > ACG)

  9. 브라우저에서 결과 확인

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...