개요
로드밸런서 인스턴스 생성
설명
로드밸런서 인스턴스를 생성합니다.
요청 파라미터
| 파라미터 명 | 필수 여부 | 타입 | 제약사항 | 설명 | 
|---|---|---|---|---|
| loadBalancerName | No | String | Min : 3, Max : 30 | - 생성할 로드밸런서 명 Default: Ncloud에서 알아서 배정  | 
| loadBalancerAlgorithmTypeCode | No | String | Min : 1, Max : 5 | - 로드밸런서 알고리즘 구분 코드 입력 가능한 알고리즘: [ROUND ROBIN (RR) | LEAST_CONNECTION (LC)] Default: ROUND ROBIN (RR)  | 
| loadBalancerDescription | No | String | Min : 1, Max : 1000 | 생성시 입력할 로드밸런서 설명 | 
| networkUsageTypeCode | No | String | Min : 1, Max : 5 | - 네트워크 용도 구분 코드 PBLIP(Public), PRVT(Private) Default: PBLIP(Public)  | 
| serverInstanceNoList | No | List | 
중복불가 | - 로드밸런서에 bind 할 서버 인스턴스 번호 리스트 getLoadBalancancerTargetServerInstanceList 액션을 통해서 서버 인스턴스 번호 조회 가능  | 
| loadBalancerRuleList.protocolTypeCode | Yes | String | Min : 1, Max : 5 | - 로드밸런서 RULE의 프로토콜 구분 코드 다음과 같은 코드가 입력될 수 있음: [HTTP | TCP]  | 
| loadBalancerRuleList.loadBalancerPort | Yes | Integer | Min : 1, Max : 65534 | 로드밸런서 RULE의 로드밸런서 포트 | 
| loadBalancerRuleList.serverPort | Yes | Integer | Min : 1, Max : 65534 | 로드밸런서 RULE의 서버 포트 | 
| loadBalancerRuleList.l7HealthCheckPath | Conditional | String | Min : 1, Max : 600 | - 로드밸런서 RULE의 헬스 체크 경로 loadBalancerRuleList.N.protocolTypeCode 값이 HTTP/HTTPS인 경우에는 필수 항목  | 
| loadBalancerRuleList.certificateName | Conditional | String | Min : 1, Max : 300 | - 로드밸런서 SSL 공인인증서 loadBalancerRuleList.protocloTypeCode 값이 SSL/HTTPS인 경우에는 필수 항목  | 
| loadBalancerRuleList.proxyProtocolUseYn | No | String | Min : 1, Max : 1 | 로드밸런서 RULE 리스트. 프록시 프로토콜 사용 여부 | 
| 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 HTTPSDefault : HTTP | 
|
| regionNo | No | String | 입력 가능한 상태는 getRegionList 액션을 통해 획득 가능 | 
응답 데이터 타입
- LoadBalancerInstanceList 타입
 
| LoadBalancerInstanceList extends CommonResponse | 
|---|
| private Integer totalRows; | 
| private List<LoadBalancerInstance> loadBalancerInstanceList = new ArrayList<LoadBalancerInstance>(); | 
| LoadBalancerInstance | 
|---|
| private String loadBalancerInstanceNo; | 
| private String virtualIp; | 
| private String loadBalancerName; | 
| private CommonCode loadBalancerAlgorithmType; | 
| private String loadBalancerDescription; | 
| private Date createDate; | 
| private String domainName; | 
| private String loadBalancerInstanceStatusName; | 
| private CommonCode loadBalancerInstanceStatus; | 
| private CommonCode loadBalancerInstanceOperation; | 
| private CommonCode networkUsageType; | 
| private boolean isHttpKeepAlive; | 
| private Integer connectionTimeout; | 
| private String certificateName; | 
| private List<LoadBalancerRule> loadBalancerRuleList; | 
| private List | 
예시
호출
ncloud loadbalancer createLoadBalancerInstance --loadBalancerName penguin --loadBalancerRuleList "protocolTypeCode=HTTP,loadBalancerPort=80,serverPort=80,l7HealthCheckPath='/l7check.html',proxyProtocolUseYn=N"
응답
{
  "createLoadBalancerInstanceResponse": {
    "requestId": "2e636399-add9-4b7d-8714-91a87740af74",
    "returnCode": 0,
    "returnMessage": "success",
    "totalRows": 1,
    "loadBalancerInstanceList": [
      {
          "loadBalancerInstanceNo": 465900,
          "virtualIp": "49.236.164.52,49.236.164.96",
          "loadBalancerName": "penguin",
          "loadBalancerAlgorithmType": {
            "code": "RR",
            "codeName": "Round Robin"
          },
          "loadBalancerDescription": "",
          "createDate": "0572-12-03T15:19:16+0900",
          "domainName": "slb-465900.ncloudslb.com",
          "loadBalancerInstanceStatusName": "creating",
          "loadBalancerInstanceStatus": {
            "code": "INIT",
            "codeName": "NET INIT state"
          },
          "loadBalancerInstanceOperation": {
            "code": "USE",
            "codeName": "NET USE OP"
          },
          "networkUsageType": {
            "code": "PBLIP",
            "codeName": "Public"
          },
          "isHttpKeepAlive": false,
          "connectionTimeout": 60,
          "certificateName": "",
          "loadBalancerRuleList": [
            {
                "protocolType": {
                  "code": "HTTP",
                  "codeName": "http"
                },
                "loadBalancerPort": 80,
                "serverPort": 80,
                "l7HealthCheckPath": "/l7check.html",
                "certificateName": "",
                "proxyProtocolUseYn": "N",
                "stickySessionUseYn": "N",
                "http2UseYn": "N"
            }
          ],
          "loadBalancedServerInstanceList": [
            ""
          ]
      }
    ]
  }
}
<?xml version="1.0" encoding="UTF-8" ?>
<createLoadBalancerInstanceResponse>
  <requestId>2e636399-add9-4b7d-8714-91a87740af74</requestId>
  <returnCode>0</returnCode>
  <returnMessage>success</returnMessage>
  <totalRows>1</totalRows>
  <loadBalancerInstanceList>
    <loadBalancerInstanceNo>465900</loadBalancerInstanceNo>
    <virtualIp>49.236.164.52,49.236.164.96</virtualIp>
    <loadBalancerName>penguin</loadBalancerName>
    <loadBalancerAlgorithmType>
      <code>RR</code>
      <codeName>Round Robin</codeName>
    </loadBalancerAlgorithmType>
    <loadBalancerDescription></loadBalancerDescription>
    <createDate>0572-12-03T15:19:16+0900</createDate>
    <domainName>slb-465900.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>
      <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>
    </loadBalancerRuleList>
    <loadBalancedServerInstanceList></loadBalancedServerInstanceList>
  </loadBalancerInstanceList>
</createLoadBalancerInstanceResponse>