createLoadBalancerInstance

Prev Next

개요

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

요청

요청 헤더

헤더 명 설명
x-ncp-apigw-timestamp 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 나타냄
API Gateway 서버와 시간차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주
x-ncp-apigw-api-key API Gateway에서 발급받은 키(v2버전에서는 필요 없음)
x-ncp-iam-access-key 네이버 클라우드 플랫폼[공공기관용]에서 발급받은 API Key 또는 IAM에서 발급받은 AccessKey
x-ncp-apigw-signature-v2 Body를 AccessKey와 맵핑되는 SecretKey로 암호화한 서명
HMAC 암호화 알고리즘은 HmacSHA256 사용

요청 파라미터

파라미터 명 필수 여부 타입 제약사항 설명
loadBalancerName No String Min: 3
Max: 30
생성할 로드밸런서명
default: NAVER CLOUD PLATFORM 에서 알아서 배정
loadBalancerAlgorithmTypeCode No String Min: 1
Max: 5
- 로드밸런서 알고리즘구분 코드
입력 가능 알고리즘: RR (ROUND ROBIN), LC (LEAST_CONNECTION), SIPHS (Source IP Hash), default: RR (Round Robin)
loadBalancerDescription No String Min: 1
Max: 1000
로드밸런서 설명
networkUsageTypeCode No String Min: 1
Max: 5
- 네트워크 용도 구분 코드
공인/사설 IP를 가진 로드밸런서로 생성 여부 선택 가능
PBLIP(공인 IP 로드밸런서) PRVT(사설IP 로드밸런서)
default: PBLIP(공인 IP 로드밸런서)
serverInstanceNoList.N No String 중복 불가 - 로드밸런서에 바인드할 서버 인스턴스 번호 리스트
getLoadBalancancerTargetServerInstanceList 액션을 통해 서버 인스턴스 번호 조회 가능
loadBalancerRuleList.N.protocolTypeCode Yes String Min: 1
Max: 5
로드밸런서 RULE에 프로토콜 구분 코드를 입력
프로토콜 구분 코드: HTTP, HTTPS, TCP
loadBalancerRuleList.N.loadBalancerPort Yes Integer Min: 1
Max: 65534
로드밸런서 RULE에 로드밸런서 포트 설정
하나의 로드밸런서에서 로드밸런서 포트 겹침 불가
22, 3389, 64000, 65130, 65131, 18080~18095 포트 이용 불가(로드밸런서 관리용으로 사용됨)
loadBalancerRuleList.N.serverPort Yes Integer Min: 1
Max: 65534
- 로드밸런서 RULE의 서버 포트
하나의 로드밸런서에서 서버 포트 겹침 허용
loadBalancerRuleList.N.l7HealthCheckPath Conditional String Min: 1
Max: 600
- 로드밸런서 RULE의 헬스 체크 경로
loadBalancerRuleList.N.protocolTypeCode 값이 HTTP HTTPS인 경우 필수 항목
loadBalancerRuleList.N.certificateName Conditional String Min: 1
Max: 300
로드밸런서의 SSL 공인인증서 이름 입력
loadBalancerRuleList.N.protocloTypeCode 값이 SSL HTTPS인 경우 필수 항목
loadBalancerRuleList.N.proxyProtocolUseYn No String - 프록시 프로토콜 사용 여부
loadBalancerRuleList.N.protocloTypeCode 값이 TCP SSL 인 경우에만 설정 가능
Options: Y(설정) | N(해제)
loadBalancerRuleList.N.stickySessionUseYn No String - 세션별 접근 사용 여부
loadBalancerRuleList.N.protocloTypeCode 값이 HTTP HTTPS 인 경우에만 설정 가능
Options: Y(설정) | N(해제)
loadBalancerRuleList.N.http2UseYn No String - HTTP/2 프로토콜 사용 여부
loadBalancerRuleList.N.protocloTypeCode 값이 HTTPS 인 경우에만 설정 가능
Options: Y(설정) | N(해제)
loadBalancerRuleList.N.serverProtocolTypeCode No String - 서버 프로토콜 구분 코드
loadBalancerRuleList.N.protocloTypeCode 값이 HTTPS 인 경우에만 설정 가능
Options : HTTP HTTPS
Default : HTTP
regionNo No String 로드밸런서 생성 시 리전 번호를 받아 특정 리전에 로드밸런서 생성
리전 번호는 getRegionList 액션을 통해 획득 가능
리전과 존을 모두 입력하지 않으면 KR 리전에서 임의 존에 배정
zoneNoList No List 로드밸런서 생성 시 존 번호를 받아 특정 존에 로드밸런서 생성
존 번호는 getZoneList 액션을 통해 획득 가능
사설 IP 로드밸런서는 1개의 존만 선택 가능
멀티 존 기능 지원 예정

응답

응답 바디

예시

요청 예시

GET {LOADBALANCER_API_URL}/loadbalancer/v2/createLoadBalancerInstance?loadBalancerRuleList.1.l7HealthCheckPath=/l7check.html&loadBalancerRuleList.1.loadBalancerPort=80&loadBalancerRuleList.1.protocolTypeCode=HTTP&loadBalancerRuleList.1.serverPort=80

응답 예시

<createLoadBalancerInstanceResponse>
  <requestId>db3af87b-4d25-4cdd-b12a-caf220e1fee2</requestId>
  <returnCode>0</returnCode>
  <returnMessage>success</returnMessage>
  <totalRows>1</totalRows>
  <loadBalancerInstanceList>
    <loadBalancerInstance>
      <loadBalancerInstanceNo>1083198</loadBalancerInstanceNo>
      <virtualIp>49.236.150.49,49.236.151.137</virtualIp>
      <loadBalancerName>loadb1674dfbe5f4</loadBalancerName>
      <zoneList>
        <zone>
          <zoneNo>2</zoneNo>
          <zoneName>KR-1</zoneName>
          <zoneCode>KR-1</zoneCode>
          <zoneDescription>가산 zone</zoneDescription>
          <regionNo>1</regionNo>
        </zone>
        <zone>
          <zoneNo>3</zoneNo>
          <zoneName>KR-2</zoneName>
          <zoneCode>KR-2</zoneCode>
          <zoneDescription>평촌 zone</zoneDescription>
          <regionNo>1</regionNo>
        </zone>
      </zoneList>
      <region>
        <regionNo>1</regionNo>
        <regionCode>KR</regionCode>
        <regionName>Korea</regionName>
      </region>
      <loadBalancerAlgorithmType>
        <code>RR</code>
        <codeName>Round Robin</codeName>
      </loadBalancerAlgorithmType>
      <loadBalancerDescription></loadBalancerDescription>
      <createDate>2018-11-26T12:06:53+0900</createDate>
      <domainName>slb-1083198.ncloudslb.com</domainName>
      <loadBalancerInstanceStatusName>creating</loadBalancerInstanceStatusName>
      <loadBalancerInstanceStatus>
        <code>INIT</code>
        <codeName>NET INIT state</codeName>
      </loadBalancerInstanceStatus>
      <loadBalancerInstanceOperation>
        <code>USE</code>
        <codeName>NET USE OP</codeName>
      </loadBalancerInstanceOperation>
      <networkUsageType>
        <code>PBLIP</code>
        <codeName>Public</codeName>
      </networkUsageType>
      <isHttpKeepAlive>false</isHttpKeepAlive>
      <connectionTimeout>60</connectionTimeout>
      <certificateName></certificateName>
      <loadBalancerRuleList>
        <loadBalancerRule>
          <protocolType>
            <code>HTTP</code>
            <codeName>http</codeName>
          </protocolType>
          <loadBalancerPort>80</loadBalancerPort>
          <serverPort>80</serverPort>
          <l7HealthCheckPath>/l7check.html</l7HealthCheckPath>
          <certificateName></certificateName>
          <proxyProtocolUseYn>N</proxyProtocolUseYn>
          <stickySessionUseYn>N</stickySessionUseYn>
          <http2UseYn>N</http2UseYn>
        </loadBalancerRule>
      </loadBalancerRuleList>
      <loadBalancedServerInstanceList/>
    </loadBalancerInstance>
  </loadBalancerInstanceList>
</createLoadBalancerInstanceResponse>

에러 코드

아래 에러 코드는 이 액션(Action)에서 특징적으로 발생하는 에러입니다. 공통적으로 발생하는 에러에 대한 상세한 설명은 NAVER Cloud Platform API를 참고해 주십시오.

HTTP Response Code 리턴 코드 리턴 메시지
400 10300 Instance name is already in use. please use other name.
400 10105 Unable to create load balancer anymore since contract limitation setting has been exceeded. Number of contract limitation: {0} Number of current contracts : {1}
400 23011 We are sorry that {0} cannot be used for load balancer ports since the ports are in use for load balancer management.
400 23017 This version of the load balancer can not create with private IP.
400 23018 Can not create the load balancer.
400 23019 There is no resource for the load balancer.
400 24063 The number of load balancer settings has been exceeded.
400 24064 The range of usable {0} port is from 1 to 66534.
400 24065 {0} Duplicated port number. Port number : {1}
400 24066 When setting load balancer, Health Check route must be configured to HTTP protocol.
400 24091 No IP address is assigned to the server instance (no. {0}).
400 24099 When setting load balancer, Health Check route must be configured to HTTP or HTTPS protocol.
400 24109 The input parameter instance number is invalid
400 24111 The input parameter zone number is invalid.
400 24120 The input parameter server instance number is invalid.
400 24130 The input parameter load balancing algorithm is invalid.
400 24131 The field {0} in the load balancer rule parameter is invalid.
400 24132 The field healthCheckPath in the load balancer rule parameter is invalid. If the protocol is HTTP, it is required. it must start with slash('/') and contain no blank.
400 24133 The field healthCheckPath in the load balancer rule parameter is invalid. If the protocol is NOT HTTP, it must not be specified.
400 24134 The number of input parameter load balancer rules is the minimum of 1, maximum of 5.
400 24173 Only one zone can be selected for private IP load balancer.
400 24300 The length constraints of the parameter description (memo) were violated. The minimum length is 0 byte, the maximum, 1,000 bytes.
400 25050 (Other)Unable to operate load balancer since use is manipulating the applying server.
400 25051 Server is already being applied to load balancer.
400 25052 Server {0} is unable to apply to load balancer since it is either in operation or not being suspended.
400 26034 An error occurred during certificate verification.
400 26035 Not found memberNo OR certificateName. Please check your input parameter.
400 26036 Not found memberNo OR certificateName OR privateKey OR publicKeyCertificate. Please check your input parameter.
400 26037 Certificate is being used in another loadBalancer.
400 26002 The issuer certificate of a looked up certificate could not be found. This normally means the list of trusted certificates is not complete.
400 26003 The CRL of a certificate could not be found.
400 26004 The certificate signature could not be decrypted. This means that the actual signature value could not be determined rather than it not matching the expected value, this is only meaningful for RSA keys.
400 26005 The CRL signature could not be decrypted: this means that the actual signature value could not be determined rather than it not matching the expected value. Unused.
400 26006 The public key in the certificate SubjectPublicKeyInfo could not be read.
400 26007 The signature of the certificate is invalid.
400 26008 The signature of the certificate is invalid.
400 26009 The certificate is not yet valid: the notBefore date is after the current time.
400 26010 The certificate has expired: that is the notAfter date is before the current time.
400 26011 The CRL is not yet valid.
400 26012 The CRL has expired.
400 26013 The certificate notBefore field contains an invalid time.
400 26014 The certificate notAfter field contains an invalid time.
400 26015 The CRL lastUpdate field contains an invalid time.
400 26016 The CRL nextUpdate field contains an invalid time.
400 26017 An error occurred trying to allocate memory. This should never happen.
400 26018 The passed certificate is self signed and the same certificate cannot be found in the list of trusted certificates.
400 26019 The certificate chain could be built up using the untrusted certificates but the root could not be found locally.
400 26020 The issuer certificate could not be found: this occurs if the issuer certificate of an untrusted certificate cannot be found.
400 26021 No signatures could be verified because the chain contains only one certificate and it is not self signed.
400 26022 The certificate chain length is greater than the supplied maximum depth. Unused.
400 26023 The certificate has been revoked.
400 26024 A CA certificate is invalid. Either it is not a CA or its extensions are not consistent with the supplied purpose.
400 26025 The basicConstraints pathlength parameter has been exceeded.
400 26026 The supplied certificate cannot be used for the specified purpose.
400 26027 The root CA is not marked as trusted for the specified purpose.
400 26028 The root CA is marked to reject the specified purpose.
400 26029 The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate. Only displayed when the -issuer_checks option is set.
400 26030 The current candidate issuer certificate was rejected because its subject key identifier was present and did not match the authority key identifier current certificate. Only displayed when the -issuer_checks option is set.
400 26031 The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate. Only displayed when the -issuer_checks option is set.
400 26032 The current candidate issuer certificate was rejected because its keyUsage extension does not permit certificate signing.
400 26033 An application specific error. Unused.
400 26034 An error occurred during certificate verification.
400 26035 Not found memberNo OR certificateName. Please check your input parameter.
400 26036 Not found memberNo OR certificateName OR privateKey OR publicKeyCertificate. Please check your input parameter.
400 26037 Certificate is being used in another loadBalancer.
400 26038 The certificate name required for SSL/HTTPS. Please check your input parameter.
400 26042 Proxy protocol can be set only with TCP, SSL protocols.