createServerInstances

Prev Next

개요

서버 인스턴스(VM)를 생성합니다.

요청

요청 파라미터

파라미터명 필수 여부 타입 제약 사항 설명
regionCode No String - 리전 코드
서버 인스턴가 생성될 리전(Region) 결정 가능
regionCode는 getRegionList 액션을 통해 획득 가능
Default: getRegionList 조회 결과의 첫 번째 리전을 선택
memberServerImageInstanceNo Conditional String - 회원 서버 이미지 인스턴스 번호
직접 생성한 서버 이미지로부터 서버를 생성시 입력함
회원 서버 이미지 인스턴스 번호(memberServerImageInstanceNo)와 서버 이미지 상품 코드(serverImageProductCode) 중 반드시 한 개를 필수로 입력함
memberServerImageInstanceNo는 getMemberServerImageInstanceList 액션을 통해 획득 가능
serverImageProductCode Conditional String - 서버 이미지 상품 코드
새로운 서버 이미지를 이용하여 서버를 생성시 입력함
회원 서버 이미지 인스턴스 번호(memberServerImageInstanceNo)와 서버 이미지 상품 코드(serverImageProductCode) 중 반드시 한개를 필수로 입력
serverImageProductCode는 getServerImageProductList 액션을 통해 획득 가능
serverImageNo Conditional String - 서버 이미지 번호
새로운 서버 이미지를 이용하여 서버를 생성시 입력
회원 서버 이미지 인스턴스 번호(memberServerImageInstanceNo), 서버 이미지 상품 코드(serverImageProductCode)와 동시 사용 불가능
serverImageNo getServerImageList 액션을 통해 획득 가능
vpcNo Yes String - VPC 번호
서버 인스턴스가 생성될 VPC를 결정함
vpcNo는 getVpcList 액션을 통해 획득 가능
subnetNo Yes String - Subnet 번호
생성할 서버 인스턴스에서 기본 네트워크 인터페이스의 Subnet을 결정함
subnetNo는 getSubnetList 액션을 통해 획득 가능
serverProductCode No String - 서버 상품 코드
생성할 서버의 스펙 결정 가능
serverProductCode는 getServerProductList 액션을 통해 획득 가능
Default : 최소 사양으로 선택됨
최소 사양의 기준은
1. 메모리 2. CPU 3. 기본 블록 스토리지 사이즈 4. 디스크 유형(NET) 순서로 결정됨
serverSpecCode Conditional String - 서버 상품 코드
생성할 서버의 스펙 결정 가능
serverProductCode는 getServerProductList 액션을 통해 획득 가능
serverProductCode 와 serverSpecCode 는 동시 사용 불가능.
Default : 최소 사양으로 선택. 최소 사양의 기준은
1. 메모리 2. CPU 3. 기본 블록 스토리지 사이즈 4. 디스크 유형(NET) 순서로 결정
isEncryptedBaseBlockStorageVolume No Boolean - 기본 블록 스토리지 볼륨 암호화 여부
RHV 서버 이미지 상품인 경우에 기본 블록 스토리지 암호화 여부 결정 가능
Options: true | false
Default: false
feeSystemTypeCode No String - 요금제 유형 코드
생성할 서버의 요금제 결정 가능
Options : MTRAT (시간 요금제 / 종량제) | FXSUM (월 요금제 / 정액제)
Default : MTRAT
serverCreateCount No Integer Min: 1, Max: 10 개 - 서버 생성 개수
생성할 서버의 개수 결정 가능
Default: 1 개
serverCreateStartNo No Integer Min: 0, Max: 999
서버 생성 개수와 서버 생성 시작 번호의 합이 1,000을 넘어갈 수 없음
- 서버 생성 시작 번호
서버 생성 개수가 1보다 큰 경우 서버 이름에 일련 번호가 붙음
이 경우 일련 번호의 시작 번호 결정 가능
Default: 1
serverName No String Min : 3, Max : 30
소문자, 숫자, 붙임표( - )의 특수문자만 허용하며 알파벳 문자로 시작해야 함
영어 또는 숫자로 끝나야 함
- 서버 이름
Default : NAVER CLOUD PLATFORM가 자동으로 부여함
networkInterfaceList.N.networkInterfaceOrder Yes Integer Min: 0, Max: 2 - 네트워크 인터페이스 순서
생성할 서버에 할당될 네트워크 인터페이스 순서를 결정함
해당 순서로 장치명(eth0, eth1 등)이 결정됨
기본 네트워크 인터페이스가 반드시 한 개 존재해야 함
기본 네트워크 인터페이스로 설정하려면 0을 입력
네트워크 인터페이스는 최대 3개까지 할당 가능
networkInterfaceList.N.networkInterfaceNo Conditional String - 네트워크 인터페이스 번호
사용자가 직접 생성한 네트워크 인터페이스를 추가하려고 하는 경우 해당 네트워크 인터페이스 번호를 입력함
networkInterfaceNo는 getNetworkInterfaceList 액션을 통해 획득 가능
networkInterfaceList.N.subnetNo Conditional String - 네트워크 인터페이스의 Subnet 번호
새로 생성할 네트워크 인터페이스의 서브넷 또는 추가하려고 하는 기존 네트워크 인터페이스의 서브넷을 결정함
기본 네트워크 인터페이스인 경우에는 자동으로 할당됨
subnetNo는 getSubnetList 액션을 통해 획득 가능
networkInterfaceList.N.ip No String - 네트워크 인터페이스의 IP 주소
새로 네트워크 인터페이스를 생성하는 경우 네트워크 인터페이스에 할당할 IP 주소를 직접 입력 가능
네트워크 인터페이스가 생성되는 Subnet의 IP 주소 범위에 포함되어야 함
Subnet의 0~5번째, 마지막 IP 주소는 사용할 수 없으며 Subnet 범위에서 중복된 IP 주소 사용 가능
Default: 조건을 만족하는 IP 주소가 순차적으로 할당됨
networkInterfaceList.N.accessControlGroupNoList.N Conditional List<String> - 네트워크 인터페이스에 적용할 ACG 번호 리스트
네트워크 인터페이스를 새로 생성하는 경우 반드시 적용할 ACG를 결정함
최대 3개의 ACG 적용 가능
accessControlGroupNo는 getAccessControlGroupList 액션을 통해 획득 가능
placementGroupNo No String - 물리 배치 그룹 번호
서버 인스턴스의 소속 물리 배치 그룹 결정 가능
placementGroupNo는 getPlacementGroupList 액션을 통해 획득 가능
isProtectServerTermination No Boolean - 반납 보호 여부
서버 생성시 반납 보호 여부를 설정하여 실수로 반납하는 사고 방지 가능
Options : true | false
Default: false
serverDescription No String Min : 0, Max : 1,000 Bytes 생성할 서버에 대한 설명
initScriptNo No String - 초기화 스크립트 번호
서버가 최초 부팅시 사용자가 설정한 초기화 스크립트 실행 가능
initScriptNo는 getInitScriptList 액션을 통해 획득 가능
loginKeyName No String - 로그인 키 이름
서버 인스턴스에 접속 시 비밀번호를 암호화하고 복호화하는 키 결정 가능
loginKeyName은 getLoginKeyList 액션을 통해 획득 가능
Default: 가장 최근에 생성된 로그인 키 이름을 사용
associateWithPublicIp No Boolean - 서버 생성시 공인 IP 할당 여부
서버 생성시 새로운 공인 IP를 생성하고 서버에 할당 가능
서브넷 유형이 Public Subnet 인 경우에만 할당 가능하며, 서버 생성 개수가 1개일때만 유효함
서버 생성 후 '운영 중' 상태일 때 정상적으로 할당이 완료됨
신청된 공인 IP는 보유하신 동안 요금이 과금되므로 사용하지 않을 때는 반납 권장
Options: true | false
Default: false
raidTypeName Conditional String - RAID유형이름
BareMetal 서버를 생성하기 위해서는 raidTypeName 필수
raidTypeName은 getRaidList 액션을 통해 획득 가능
blockDevicePartitionList.N.mountPoint No String "/" (root) 경로로 시작하는 마운트 포인트 입력
첫 번째 마운트 포인트는 반드시 "/" (root) 파티션
"/" (root) 하위 명칭은 소문자와 숫자만 허용되며, 소문자로 시작
OS 종류에 따라서 /root, /bin, /dev 등의 특정 키워드는 사용 불가능
- 마운트 포인트
Bare Metal 서버를 생성하는 경우에는 파티션 지정.
서버 스펙에 따라서 파티션 기능이 지원되지 않을 수 있음
blockDevicePartitionList.N.partitionSize No String Min : 50 GiB - 파티션 사이즈
마운트 포인트의 파티션 사이즈를 결정
파티션 사이즈의 합은 서버 스펙의 전체 용량을 초과할 수 없음
마지막 파티션의 사이즈는 나머지 용량으로 자동 할당됨
blockStorageMappingList.N.order No Integer Min : 20 GiB - 생성 스토리지 순서
생성 스토리지의 순서 결정.
KVM 만 사용 가능.
blockStorageMappingList.N.snapshotInstanceNo No String - 생성 스토리지 스냅샷 번호
스냅샷으로 부터 생성하는 경우.
KVM 만 사용 가능.
blockStorageMappingList.N.blockStorageSize No String - 생성 스토리지 사이즈
생성 스토리지 사이즈 결정.
KVM 만 사용 가능.
blockStorageMappingList.N.blockStorageName No String - 생성 스토리지 이름
생성 스토리지 이름 결정.
KVM 만 사용 가능.
blockStorageMappingList.N.blockStorageVolumeTypeCode No String - 생성 스토리지 볼륨 타입 코드
생성 스토리지 볼륨 타입 결정.
KVM 만 사용 가능.
blockStorageMappingList.N.encrypted No String - 생성 스토리지 암호화 여부
생성 스토리지 암호화 여부 결정.
KVM 만 사용 가능.

응답

응답 데이터 타입

  • ServerInstanceList 타입
ServerInstanceList extends CommonResponse
private Integer totalRows;
private List<ServerInstance> serverInstanceList = new ArrayList<>();
ServerInstance
private String serverInstanceNo;
private String serverName;
private String serverDescription;
private Integer cpuCount;
private Long memorySize;
private CommonCode platformType;
private String loginKeyName;
private String publicIpInstanceNo;
private String publicIp;
private CommonCode serverInstanceStatus;
private CommonCode serverInstanceOperation;
private String serverInstanceStatusName;
private Date createDate;
private Date uptime;
private String serverImageProductCode;
private String serverProductCode;
private Boolean isProtectServerTermination;
private String zoneCode;
private String regionCode;
private String vpcNo;
private String subnetNo;
private NetworkInterfaceNoList networkInterfaceNoList;
private String initScriptNo;
private CommonCode serverInstanceType;
private CommonCode baseBlockStorageDiskType;
private CommonCode baseBlockStorageDiskDetailType;
private String placementGroupNo;
private String placementGroupName;
private String memberServerImageInstanceNo;
private List<BlockDevicePartition> blockDevicePartitionList;
BlockDevicePartition
private String mountPoint;
private String partitionSize;

예시

요청 예시

ncloud vserver createServerInstances --regionCode FKR --serverImageProductCode SW.VSVR.OS.LNX64.CNTOS.0703.B050 --vpcNo ***04 --subnetNo ***43 --serverProductCode SVR.VSVR.STAND.C002.M004.NET.SSD.B050.G001 --feeSystemTypeCode MTRAT --serverCreateCount 1 --serverName test-*** --networkInterfaceList "networkInterfaceOrder='0', accessControlGroupNoList=['***63', '***64']" "networkInterfaceOrder='1', subnetNo='***43', accessControlGroupNoList=['***63', '***64']" --placementGroupNo ***61 --isProtectServerTermination false --initScriptNo ***44 --loginKeyName test-***

응답 예시

<createServerInstancesResponse>
  <requestId>63a6fdb1-5430-417f-98a8-d20cacc83581</requestId>
  <returnCode>0</returnCode>
  <returnMessage>success</returnMessage>
  <totalRows>1</totalRows>
  <serverInstanceList>
    <serverInstance>
      <serverInstanceNo>***4299</serverInstanceNo>
      <serverName>test-***</serverName>
      <serverDescription></serverDescription>
      <cpuCount>2</cpuCount>
      <memorySize>4294967296</memorySize>
      <platformType>
        <code>LNX64</code>
        <codeName>Linux 64 Bit</codeName>
      </platformType>
      <loginKeyName>test-***</loginKeyName>
      <publicIpInstanceNo></publicIpInstanceNo>
      <publicIp></publicIp>
      <serverInstanceStatus>
        <code>INIT</code>
        <codeName>Server init state</codeName>
      </serverInstanceStatus>
      <serverInstanceOperation>
        <code>NULL</code>
        <codeName>Server NULL OP</codeName>
      </serverInstanceOperation>
      <serverInstanceStatusName>init</serverInstanceStatusName>
      <createDate>2020-08-24T09:41:23+0900</createDate>
      <uptime>2020-08-24T09:41:23+0900</uptime>
      <serverImageProductCode>SW.VSVR.OS.LNX64.CNTOS.0703.B050</serverImageProductCode>
      <serverProductCode>SVR.VSVR.STAND.C002.M004.NET.SSD.B050.G001</serverProductCode>
      <isProtectServerTermination>false</isProtectServerTermination>
      <zoneCode>FKR-1</zoneCode>
      <regionCode>FKR</regionCode>
      <vpcNo>***04</vpcNo>
      <subnetNo>***43</subnetNo>
      <networkInterfaceNoList>
        <networkInterfaceNo>***87</networkInterfaceNo>
      </networkInterfaceNoList>
      <initScriptNo>***44</initScriptNo>
      <serverInstanceType>
        <code>STAND</code>
        <codeName>Standard</codeName>
      </serverInstanceType>
      <baseBlockStorageDiskType>
        <code>NET</code>
        <codeName>Network Storage</codeName>
      </baseBlockStorageDiskType>
      <baseBlockStorageDiskDetailType>
        <code>SSD</code>
        <codeName>SSD</codeName>
      </baseBlockStorageDiskDetailType>
      <placementGroupNo>***61</placementGroupNo>
      <placementGroupName>test-***</placementGroupName>
    </serverInstance>
  </serverInstanceList>
</createServerInstancesResponse>