createLoadBalancerInstance

개요

로드밸런서 인스턴스를 생성합니다.

요청

요청 파라미터

파라미터명 필수 여부 타입 제약 사항 설명
regionCode No String - 리전 코드
로드밸런서 인스턴스가 생성될 리전(Region) 결정 가능
regionCode는 getRegionList 액션을 통해 획득 가능
Default : getRegionList 조회 결과의 첫 번째 리전을 선택
loadBalancerTypeCode Yes String - 로드밸런서 유형 코드
로드밸런서 유형을 결정함
Options : APPLICATION | NETWORK | NETWORK_PROXY
loadBalancerName No String Min : 3, Max : 30
영어, 숫자, "-"의 특수문자만 허용하며 영어로 시작해야 함
영어 또는 숫자로 끝나야 함
- 로드밸런서 이름
Default : NAVER Cloud Platform가 자동으로 부여함
loadBalancerNetworkTypeCode No String - 로드밸런서 네트워크 유형 코드
Options : PUBLIC | PRIVATE
Default : PUBLIC
throughputTypeCode No String - 부하 처리 성능 유형 코드
Options : SMALL | MEDIUM | LARGE | XLARGE
Default : SMALL
로드 밸런서의 유형에 따라서 선택할 수 있는 값이 제한됨

애플리케이션, 네트워크 프록시 로드 밸런서: SMALL(기본값) | MEDIUM | LARGE | XLARGE
네트워크 로드 밸런서: DYNAMIC (기본값)
idleTimeout No Integer Min : 1, Max : 3600 초 - 연결 유지 시간
로드밸런서 유형이 NETWORK 가 아닌 경우에만 유효함
Default : 60 (초)
vpcNo Yes String - VPC 번호
로드밸런서 인스턴스가 생성될 VPC를 결정함
vpcNo는 getVpcList 액션을 통해 획득 가능
loadBalancerDescription No String 생성할 로드밸런서 인스턴스에 대한 설명
subnetNoList.N Conditional List<String> - Subnet 번호 리스트
subnetNoList 와 loadBalancerSubnetList 둘 중 한가지 필수 입력
subnetNoList 와 loadBalancerSubnetList 모두 전달시 loadBalancerSubnetList 적용
선택한 VPC 에 위치하는 Subnet 선택
ZONE 별로 한개의 로드밸런서 전용 Subnet 선택 가능
subnetNo는 getSubnetList 액션을 통해 획득 가능
ex) subnetNoList.1=1234&subnetNoList.2=2345
loadBalancerSubnetList.N.subnetNo Conditional String - Subnet 번호
subnetNoList 와 loadBalancerSubnetList 둘 중 한가지 필수 입력
subnetNoList 와 loadBalancerSubnetList 모두 전달시 loadBalancerSubnetList 적용
loadBalancerSubnetList 적용시 loadBalancerSubnetList.N.subnetNo 필수
선택한 VPC 에 위치하는 Subnet 선택
ZONE 별로 한개의 로드밸런서 전용 Subnet 선택 가능
subnetNo는 getSubnetList 액션을 통해 획득 가능
loadBalancerSubnetList.N.publicIpInstanceNo No String - 공인IP인스턴스번호
loadBalancerNetworkTypeCode 가 PUBLIC 인 경우에만 유효
SGN(싱가포르) 리전에서만 이용 가능
Default : 새로운 공인IP를 생성하여 할당
loadBalancerListenerList.N.protocolTypeCode No String - 로드밸런서 리스너 프로토콜 유형 코드
로드밸런서 유형에 따라서 사용 가능한 리스너 프로토콜 유형과 기본값이 결정됨
APPLICATION : HTTP (Default) / HTTPS
NETWORK : TCP (Default) / UDP
NETWORK_PROXY : TCP (Default) / TLS
UDP 프로토콜은 SGN(싱가포르) 리전에서만 이용 가능
loadBalancerListenerList.N.port No Integer Min : 1, Max : 65534 - 로드밸런서 리스너 포트
리스너 프로토콜 유형에 따라서 포트 기본값이 결정됨
Default :
HTTP / TCP / UDP : 80
HTTPS / TLS : 443
포트 번호는 중복될 수 없음
loadBalancerListenerList.N.targetGroupNo Yes String - 타겟 그룹 번호
선택한 타겟 그룹은 각 리스너의 DEFAULT 규칙에 적용됨
다른 로드밸런서에서 이미 사용중인 타겟 그룹은 이용할 수 없음
로드밸런서 유형과 타겟 그룹 프로토콜 유형에 따라서 사용 가능한 타겟 그룹이 제한됨
NETWORK : TCP / UDP
NETWORK_PROXY : PROXY_TCP
APPLICATION : HTTP / HTTPS
targetGroupNo는 getTargetGroupList 액션을 통해 획득 가능
loadBalancerListenerList.N.useHttp2 No Boolean - HTTP/2 프로토콜 사용 여부
Options : true | false
Default : false
리스너 프로토콜 유형이 HTTPS 인 경우에만 유효함
loadBalancerListenerList.N.sslCertificateNo Conditional String - SSL 인증서 번호
리스너 프로토콜 유형이 HTTPS 또는 TLS 인 경우 SSL 인증서를 반드시 설정해야 함
sslCertificateNo는 GET https://certificatemanager.apigw.ntruss.com/api/v1/certificates 액션을 통해 획득 가능
loadBalancerListenerList.N.tlsMinVersionTypeCode No String - TLS 최소 지원 버전 유형 코드
리스너 프로토콜 유형이 HTTPS 또는 TLS 인 경우에만 유효함
Options :
TLSV10 (TLSv1.0)
TLSV11 (TLSv1.1)
TLSV12 (TLSv1.2)
Default : TLSV10
loadBalancerListenerList.N.cipherSuiteList.N No List<String> - 암호화 스위트 리스트
로드밸런서가 Client와 암호화 협상에서 제공할 암호화 기능들을 선택
리스너 프로토콜 유형이 HTTPS / TLS 인 경우에만 지정 가능
Options :
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
Default : Select All
responseFormatType No String - 응답 결과의 포맷 타입
Options : xml | json
Default : xml

응답

응답 데이터 타입

  • LoadBalancerInstanceList 타입
LoadBalancerInstanceList extends CommonResponse
private Integer totalRows;
private List loadBalancerInstanceList = new ArrayList<>();
LoadBalancerInstance
private String loadBalancerInstanceNo;
private CommonCode loadBalancerInstanceStatus;
private CommonCode loadBalancerInstanceOperation;
private String loadBalancerInstanceStatusName;
private String loadBalancerDescription;
private Date createDate;
private String loadBalancerName;
private String loadBalancerDomain;
private LoadBalancerIpList loadBalancerIpList;
private CommonCode loadBalancerType;
private CommonCode loadBalancerNetworkType;
private CommonCode throughputType;
private Integer idleTimeout;
private String vpcNo;
private String regionCode;
private SubnetNoList subnetNoList;
private List<LoadBalancerSubnet> loadBalancerSubnetList;
private LoadBalancerListenerNoList loadBalancerListenerNoList;
LoadBalancerIpList
private List loadBalancerIpList = new ArrayList<>();
SubnetNoList
private List subnetNoList = new ArrayList<>();
LoadBalancerSubnet
private String zoneCode;
private String subnetNo;
private String publicIpInstanceNo;
LoadBalancerListenerNoList
private List loadBalancerListenerNoList = new ArrayList<>();

예시

요청 예시

ncloud vloadbalancer createLoadBalancerInstance --regionCode FKR --loadBalancerTypeCode APPLICATION --loadBalancerName test-*** --loadBalancerNetworkTypeCode PRIVATE --throughputTypeCode SMALL --idleTimeout 60 --vpcNo ***04 --subnetNoList ***43 --loadBalancerListenerList "protocolTypeCode='HTTP', port='80', targetGroupNo='***095'"

응답 예시

<createLoadBalancerInstanceResponse>
  <requestId>959a2fe5-fd1b-459a-9af3-df0e51b68e1d</requestId>
  <returnCode>0</returnCode>
  <returnMessage>success</returnMessage>
  <totalRows>1</totalRows>
  <loadBalancerInstanceList>
    <loadBalancerInstance>
      <loadBalancerInstanceNo>***887</loadBalancerInstanceNo>
      <loadBalancerInstanceStatus>
        <code>INIT</code>
        <codeName>LB INIT state</codeName>
      </loadBalancerInstanceStatus>
      <loadBalancerInstanceOperation>
        <code>CREAT</code>
        <codeName>LB CREATE OP</codeName>
      </loadBalancerInstanceOperation>
      <loadBalancerInstanceStatusName>Creating</loadBalancerInstanceStatusName>
      <loadBalancerDescription></loadBalancerDescription>
      <createDate>2020-12-20T19:21:02+0900</createDate>
      <loadBalancerName>test-***</loadBalancerName>
      <loadBalancerDomain>test-***-***887-***.com</loadBalancerDomain>
      <loadBalancerIpList>
        <loadBalancerIp>***.***.5.6</loadBalancerIp>
      </loadBalancerIpList>
      <loadBalancerType>
        <code>APPLICATION</code>
        <codeName>Application Load Balancer</codeName>
      </loadBalancerType>
      <loadBalancerNetworkType>
        <code>PRIVATE</code>
        <codeName>Private</codeName>
      </loadBalancerNetworkType>
      <throughputType>
        <code>SMALL</code>
        <codeName>Small</codeName>
      </throughputType>
      <idleTimeout>60</idleTimeout>
      <vpcNo>***04</vpcNo>
      <regionCode>FKR</regionCode>
      <subnetNoList>
        <subnetNo>***43</subnetNo>
      </subnetNoList>
      <loadBalancerSubnetList>
        <loadBalancerSubnet>
          <zoneCode>FKR-1</zoneCode>
          <subnetNo>***43</subnetNo>
          <publicIpInstanceNo/>
        </loadBalancerSubnet>
      </loadBalancerSubnetList>
      <loadBalancerListenerNoList>
        <loadBalancerListenerNo>***961</loadBalancerListenerNo>
      </loadBalancerListenerNoList>
    </loadBalancerInstance>
  </loadBalancerInstanceList>
</createLoadBalancerInstanceResponse>