전달 규칙 사용

전달 규칙 및 해당 IP 주소는 Google Cloud 부하 분산기의 프런트엔드 구성을 나타냅니다. 전달 규칙에 대한 일반적인 내용은 전달 규칙 개념을 참조하세요.

시작하기 전에

전달 규칙을 추가하기 전에 전달 규칙의 IP 주소를 예약하세요. 이는 필수는 아니지만 권장사항입니다.

내부 부하 분산기의 경우 고정 내부 IP 주소를 예약합니다.

외부 부하 분산기의 경우 고정 외부 IP 주소를 예약합니다.

권한

이 가이드를 따르려면 필요한 권한이 있어야 합니다.

자세한 내용은 다음 가이드를 참조하세요.

전달 규칙 추가

Console

부하 분산기의 전달 규칙 만들기

  1. Google Cloud Console의 부하 분산 페이지로 이동합니다.
    부하 분산 페이지로 이동
  2. 부하 분산기 만들기를 클릭합니다.
  3. 트래픽 유형, 부하 분산기가 인터넷에 연결되는지, 아니면 내부 전용인지 여부를 포함한 부하 분산기 유형을 선택합니다.
  4. 계속을 클릭합니다.
  5. 프런트엔드 구성을 클릭합니다. 새 프런트엔드 IP 및 포트 섹션에서 다음과 같이 변경합니다.

    1. 이름: FORWARDING_RULE_NAME
    2. 서브네트워크: SUBNET_OF_YOUR_RESERVED_IP_ADDRESS
    3. 내부 IP 또는 IP 주소에서 미리 예약된 IP 주소를 선택합니다.

      필요에 따라 이 UI에서 IP 주소를 예약하거나 임시 IP 주소를 사용할 수 있습니다.

    4. 프로토콜, 포트 번호, IP 버전을 선택합니다.

      일부 부하 분산기 유형만 IPv6을 지원합니다.

    5. 계속하기 전에 프런트엔드 구성 옆에 파란색 체크표시가 있는지 확인합니다. 그렇지 않은 경우 이 단계를 검토합니다.

  6. 검토 및 완료를 클릭합니다. 설정한 내용을 다시 한 번 확인합니다.

  7. 만들기를 클릭합니다.

gcloud

백엔드 서비스에 대한 전달 규칙을 만듭니다. 전달 규칙을 만들 때 서브넷에 예약된 IP 주소를 지정합니다.

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --global | --region=REGION \
    --load-balancing-scheme=SCHEME \
    --network=NETWORK_NAME \
    --subnet=SUBNET_NAME \
    --address=RESERVED_IP_ADDRESS \
    --ip-protocol=PROTOCOL_TYPE \
    --ports=PORT_NUMBER \
    --backend-service=NAME_OF_BACKEND_SERVICE \
    --backend-service-region=REGION_OF_BACKEND_SERVICE

api

forwardingRules.insert 메서드에 POST 요청을 만들어 전달 규칙을 생성합니다.

POST https://compute.googleapis.com/compute/v1/projects/[project ID]/regions/us-west1/forwardingRules
{
  "name": "[forwarding rule name]",
  "IPAddress": "[reserved IP address]",
  "IPProtocol": "[protocol type]",
  "ports": [
    "[port number]"
  ],
  "loadBalancingScheme": "[scheme]",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/[project ID]/regions/[region]/subnetworks/[subnet name]",
  "network": "https://www.googleapis.com/compute/v1/projects/[project ID]/global/networks/[network name]",
  "backendService": "https://www.googleapis.com/compute/v1/projects/[project ID]/regions/[region]/backendServices/[backend service name]",
  "networkTier": "PREMIUM | STANDARD"
}
</code></pre>

전역 부하 분산기의 경우 globalForwardingRules.insert 메서드에 대한 POST 요청을 전송하여 전역 전달 규칙을 만듭니다.

POST https://compute.googleapis.com/compute/v1/projects/[project ID]/global/forwardingRules
{
  "name": "[forwarding rule name]",
  "IPAddress": "[reserved IP address]",
  "IPProtocol": "[protocol type]",
  "ports": [
    "[port number]"
  ],
  "loadBalancingScheme": "[scheme]",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/[project ID]/regions/[region]/subnetworks/[subnet name]
  "network": "https://www.googleapis.com/compute/v1/projects/[project ID]/global/networks/[network name]",
  "backendService": "https://www.googleapis.com/compute/v1/projects/[project ID]/regions/[region]/backendServices/[backend service name]
  "networkTier": "PREMIUM | STANDARD"
}

전달 규칙 삭제

다음 중 한 가지 이유로 전달 규칙을 삭제할 수 있습니다.

  • 새 전달 규칙으로 대체하기 위해
  • 부하 분산기를 완전히 삭제하지 않고 한시적으로 중지하기 위해

다음은 부하 분산기를 삭제하지 않고 중지해야 하는 두 가지 이유입니다.

  • 부하 분산기 청구를 일시적으로 중지하기 위해
  • 백엔드로 들어오는 요청을 일시적으로 일시중지하기 위해

전달 규칙이 예약된 IP 주소를 가리키는 경우(권장) 전달 규칙을 삭제하여 부하 분산기를 중지할 수 있습니다. 그러면 전달 규칙 대상에 대한 트래픽이 중지됩니다.

전역 전달 규칙을 삭제하는 방법은 다음과 같습니다.

gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \
    --global

리전 전달 규칙을 삭제하는 방법은 다음과 같습니다.

gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \
    --region=REGION

부하 분산기를 다시 시작하려면 전달 규칙 추가에 설명된 것처럼 동일한 IP 주소를 유지하면서 전달 규칙을 다시 만듭니다.

다음 단계