이 가이드에서는 TCP, UDP, ESP, GRE, ICMP, ICMPv6 트래픽의 부하를 분산하는 백엔드 서비스 기반 외부 패스 스루 네트워크 부하 분산기를 만드는 방법을 설명합니다. TCP 또는 UDP가 아닌 IP 프로토콜을 사용하는 트래픽을 부하 분산하려면 이러한 구성을 사용하면 됩니다. 대상 풀 기반 외부 패스 스루 네트워크 부하 분산기는 이 기능을 지원하지 않습니다.
TCP 또는 UDP가 아닌 IP 프로토콜에 외부 패스 스루 네트워크 부하 분산기를 구성하려면 프로토콜이 L3_DEFAULT
로 설정된 전달 규칙을 만듭니다. 이 전달 규칙은 프로토콜이 UNSPECIFIED
로 설정된 백엔드 서비스를 가리킵니다.
이 예시에서는 외부 패스 스루 네트워크 부하 분산기 두 개를 사용하여 us-central1
리전의 영역별 관리형 인스턴스 그룹 두 개에 있는 백엔드 VM 간에 트래픽을 분산합니다.
두 부하 분산기 모두 동일한 외부 IP 주소로 트래픽을 수신합니다.
한 부하 분산기에는 프로토콜 TCP
와 포트 80이 포함된 전달 규칙이 있고 다른 부하 분산기에는 프로토콜 L3_DEFAULT
가 있는 전달 규칙이 있습니다. 포트 80의 IP 주소에 도착하는 TCP 트래픽은 TCP
전달 규칙에 의해 처리됩니다. TCP별 전달 규칙과 일치하지 않는 다른 모든 트래픽은 L3_DEFAULT
전달 규칙에 의해 처리됩니다.
이 시나리오에서는 정상 인스턴스에 트래픽을 분산합니다. 이를 지원하기 위해 트래픽이 정상 인스턴스에만 전송되도록 TCP 상태 점검을 만듭니다.
외부 패스 스루 네트워크 부하 분산기는 리전별 부하 분산기입니다. 모든 부하 분산기 구성요소가 동일한 리전에 있어야 합니다.
시작하기 전에
Google Cloud CLI 설치 이 도구에 대한 전체 개요는 gcloud CLI 개요를 참조하세요. 부하 분산과 관련된 명령어는 API 및 gcloud 참조에서 확인할 수 있습니다.
이전에 gcloud CLI를 실행한 적이 없으면 먼저 gcloud init
명령어를 실행하여 인증합니다.
이 가이드는 bash에 익숙한 개발자를 대상으로 합니다.
네트워크 및 서브넷 설정
이 페이지의 예시에서는 lb-network
라는 커스텀 모드 VPC 네트워크를 사용합니다. IPv4 트래픽만 처리하려면 자동 모드 VPC 네트워크를 사용하면 됩니다.
하지만 IPv6 트래픽에는 커스텀 모드 서브넷이 필요합니다.
IPv6 트래픽에는 이중 스택 서브넷(stack-type
이 IPv4_IPv6
로 설정됨)도 필요합니다. 커스텀 모드 VPC 네트워크에서 이중 스택 서브넷을 만들 때 서브넷에 IPv6 액세스 유형을 선택합니다. 이 예시에서는 서브넷의 ipv6-access-type
매개변수를 EXTERNAL
로 설정합니다. 즉, 이 서브넷의 새 VM에 외부 IPv4 주소와 외부 IPv6 주소를 모두 할당할 수 있습니다. 전달 규칙을 외부 IPv4 주소 및 외부 IPv6 주소에 할당할 수도 있습니다.
이 예시에서 사용되는 백엔드 및 부하 분산기 구성요소는 다음 리전 및 서브넷에 있습니다.
- 리전:
us-central1
- 서브넷:
lb-subnet
, 기본 IPv4 주소 범위10.1.2.0/24
. 서브넷에 구성할 IPv4 주소 범위를 선택하더라도 IPv6 주소 범위가 자동으로 할당됩니다. Google은 고정된 크기(/64)의 IPv6 CIDR 블록을 제공합니다.
예시 네트워크 및 서브넷을 만들려면 다음 단계를 따르세요.
콘솔
IPv4 및 IPv6 트래픽을 모두 지원하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.
VPC 네트워크 만들기를 클릭합니다.
lb-network
의 이름을 입력합니다.서브넷 섹션에서 다음을 수행합니다.
- 서브넷 생성 모드를 커스텀으로 설정합니다.
- 새 서브넷 섹션에서 다음 필드를 구성하고 완료를 클릭합니다.
- 이름:
lb-subnet
- 리전:
us-central1
- IP 스택 유형: IPv4 및 IPv6(이중 스택)
- IPv4 범위:
10.1.2.0/24
서브넷의 IPv4 주소 범위를 구성할 수 있지만 서브넷의 IPv6 주소 범위를 선택할 수는 없습니다. Google은 고정된 크기(/64)의 IPv6 CIDR 블록을 제공합니다. - IPv6 액세스 유형: 외부
- 이름:
만들기를 클릭합니다.
IPv4 트래픽만 지원하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.
VPC 네트워크 만들기를 클릭합니다.
lb-network
의 이름을 입력합니다.서브넷 섹션에서 다음을 수행합니다.
- 서브넷 생성 모드를 커스텀으로 설정합니다.
- 새 서브넷 섹션에서 다음 필드를 구성하고 완료를 클릭합니다.
- 이름:
lb-subnet
- 리전:
us-central1
- IP 스택 유형: IPv4(단일 스택)
- IPv4 범위:
10.1.2.0/24
- 이름:
만들기를 클릭합니다.
gcloud
커스텀 모드 VPC 네트워크를 만듭니다.
gcloud compute networks create lb-network \ --subnet-mode=custom
lb-network
네트워크 내에서us-central1
리전의 백엔드에 대한 서브넷을 만듭니다.IPv4 및 IPv6 트래픽 모두의 경우 다음 명령어를 사용하여 이중 스택 서브넷을 만듭니다.
gcloud compute networks subnets create lb-subnet \ --stack-type=IPV4_IPv6 \ --ipv6-access-type=EXTERNAL \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1
IPv4 트래픽 전용의 경우 다음 명령어를 사용합니다.
gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1
영역별 관리형 인스턴스 그룹 만들기
이 부하 분산 시나리오에서는 Compute Engine 영역별 관리형 인스턴스 그룹 2개를 만들고 각 인스턴스에 Apache 웹 서버를 설치합니다.
IPv4 및 IPv6 트래픽을 모두 처리하려면 백엔드 VM을 이중 스택으로 구성합니다. VM의 stack-type
을 IPv4_IPv6
로 설정합니다. VM은 서브넷에서 ipv6-access-type
설정(이 예시에서는 EXTERNAL
)도 상속합니다. IPv6 요구사항에 대한 자세한 내용은 외부 패스 스루 네트워크 부하 분산기 개요: 전달 규칙을 참조하세요.
기존 VM을 백엔드로 사용하려면 gcloud compute instances network-interfaces update
명령어를 사용하여 VM을 이중 스택으로 업데이트합니다.
외부 패스 스루 네트워크 부하 분산기에 백엔드 VM으로 참여하는 인스턴스는 적절한 Linux 게스트 환경, Windows 게스트 환경 또는 기타 동일한 기능을 제공하는 프로세스를 실행해야 합니다.
포트 80에서 TCP 트래픽에 대한 인스턴스 그룹 만들기
콘솔
인스턴스 템플릿을 만듭니다. Google Cloud 콘솔에서 인스턴스 템플릿 페이지로 이동합니다.
- 인스턴스 템플릿 만들기를 클릭합니다.
- 이름에
ig-us-template-tcp-80
를 입력합니다. - 부팅 디스크가 Debian GNU/Linux 12(bookworm)와 같은 Debian 이미지로 설정되었는지 확인합니다. 이 안내에서는
apt-get
처럼 Debian에서만 사용할 수 있는 명령어를 사용합니다. - 고급 옵션 섹션을 펼칩니다.
관리 섹션을 펼친 후 시작 스크립트 필드에 다음 스크립트를 복사합니다.
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2
네트워킹 섹션을 펼친 후 다음을 지정합니다.
- 네트워크 태그에
network-lb-tcp-80
를 추가합니다. - 네트워크 인터페이스에서 기본 인터페이스를 클릭하고 다음 필드를 구성합니다.
- 네트워크:
lb-network
- 서브네트워크:
lb-subnet
- 네트워크:
- 네트워크 태그에
만들기를 클릭합니다.
관리형 인스턴스 그룹을 만듭니다. Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.
- 인스턴스 그룹 만들기를 클릭합니다.
- 새 관리형 인스턴스 그룹(스테이트리스(Stateless))을 선택합니다. 자세한 내용은 스테이트리스(Stateless) 또는 스테이트풀(Stateful) MIG를 참조하세요.
- 이름에
ig-us-tcp-80
를 입력합니다. - 위치에서 단일 영역을 선택합니다.
- 리전으로
us-central1
을 선택합니다. - 영역으로
us-central1-a
를 선택합니다. - 인스턴스 템플릿에서
ig-us-template-tcp-80
을 선택합니다. 그룹에 만들 인스턴스의 수를 지정합니다.
이 예시에서는 자동 확장에서 다음 옵션을 지정합니다.
- 자동 확장 모드에서
Off:do not autoscale
을 선택합니다. - 최대 인스턴스 수에
2
를 입력합니다.
- 자동 확장 모드에서
만들기를 클릭합니다.
gcloud
이 가이드의 gcloud
안내에서는 Cloud Shell 또는 bash가 설치된 다른 환경을 사용한다고 가정합니다.
gcloud compute instance-templates create
명령어로 HTTP 서버가 포함된 VM 인스턴스 템플릿을 만듭니다.IPv4 및 IPv6 트래픽을 모두 처리하려면 다음 명령어를 사용하세요.
gcloud compute instance-templates create ig-us-template-tcp-80 \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPv4_IPv6 \ --tags=network-lb-tcp-80 \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
또는 IPv4 트래픽 전용 트래픽을 처리하려면 다음 명령어를 사용합니다.
gcloud compute instance-templates create ig-us-template-tcp-80 \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --tags=network-lb-tcp-80 \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
gcloud compute instance-groups managed create
명령어로 영역에 관리형 인스턴스 그룹을 만듭니다.gcloud compute instance-groups managed create ig-us-tcp-80 \ --zone us-central1-a \ --size 2 \ --template ig-us-template-tcp-80
포트 8080, UDP, ESP, ICMP 트래픽에 TCP용 인스턴스 그룹 만들기
콘솔
인스턴스 템플릿을 만듭니다. Google Cloud 콘솔에서 인스턴스 템플릿 페이지로 이동합니다.
- 인스턴스 템플릿 만들기를 클릭합니다.
- 이름에
ig-us-template-l3-default
를 입력합니다. - 부팅 디스크가 Debian GNU/Linux 12(bookworm)와 같은 Debian 이미지로 설정되었는지 확인합니다. 이 안내에서는
apt-get
처럼 Debian에서만 사용할 수 있는 명령어를 사용합니다. - 고급 옵션 섹션을 펼칩니다.
관리 섹션을 펼친 후 시작 스크립트 필드에 다음 스크립트를 복사합니다. 또한 시작 스크립트가 포트
80
대신 포트8080
에서 리슨하도록 Apache 서버를 구성합니다.#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html sed -ire 's/^Listen 80$/Listen 8080/g' /etc/apache2/ports.conf systemctl restart apache2
네트워킹 섹션을 펼친 후 다음을 지정합니다.
- 네트워크 태그에
network-lb-l3-default
를 추가합니다. - 네트워크 인터페이스에서 기본 인터페이스를 클릭하고 다음 필드를 구성합니다.
- 네트워크:
lb-network
- 서브네트워크:
lb-subnet
- 네트워크:
- 네트워크 태그에
만들기를 클릭합니다.
관리형 인스턴스 그룹을 만듭니다. Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.
- 인스턴스 그룹 만들기를 클릭합니다.
- 새 관리형 인스턴스 그룹(스테이트리스(Stateless))을 선택합니다. 자세한 내용은 스테이트리스(Stateless) 또는 스테이트풀(Stateful) MIG를 참조하세요.
- 이름에
ig-us-l3-default
를 입력합니다. - 위치에서 단일 영역을 선택합니다.
- 리전으로
us-central1
을 선택합니다. - 영역으로
us-central1-c
를 선택합니다. - 인스턴스 템플릿에서
ig-us-template-l3-default
을 선택합니다. 그룹에 만들 인스턴스의 수를 지정합니다.
이 예시에서는 자동 확장에서 다음 옵션을 지정합니다.
- 자동 확장 모드에서
Off:do not autoscale
을 선택합니다. - 최대 인스턴스 수에
2
를 입력합니다.
- 자동 확장 모드에서
만들기를 클릭합니다.
gcloud
이 가이드의 gcloud
안내에서는 Cloud Shell 또는 bash가 설치된 다른 환경을 사용한다고 가정합니다.
gcloud compute instance-templates create
명령어로 HTTP 서버가 포함된 VM 인스턴스 템플릿을 만듭니다.또한 시작 스크립트가 포트
80
대신 포트8080
에서 리슨하도록 Apache 서버를 구성합니다.IPv4 및 IPv6 트래픽을 모두 처리하려면 다음 명령어를 사용하세요.
gcloud compute instance-templates create ig-us-template-l3-default \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPv4_IPv6 \ --tags=network-lb-l3-default \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf systemctl restart apache2'
또는 IPv4 트래픽만 처리하려면 다음 명령어를 사용합니다.
gcloud compute instance-templates create ig-us-template-l3-default \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --tags=network-lb-l3-default \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf systemctl restart apache2'
gcloud compute instance-groups managed create
명령어로 영역에 관리형 인스턴스 그룹을 만듭니다.gcloud compute instance-groups managed create ig-us-l3-default \ --zone us-central1-c \ --size 2 \ --template ig-us-template-l3-default
방화벽 규칙 구성
다음과 같이 방화벽 규칙을 만듭니다.
- 외부 TCP 트래픽이 포트 80의
ig-us-tcp-80
인스턴스 그룹에 있는 백엔드 인스턴스에 도달하도록 허용하는 방화벽 규칙(대상 태그network-lb-tcp-80
사용)입니다. IPv4 및 IPv6 트래픽을 허용하도록 별도의 방화벽 규칙을 만듭니다. - 다른 외부 트래픽(포트 8080, UDP, ESP, ICMP의 TCP)이
ig-us-l3-default
인스턴스 그룹의 백엔드 인스턴스에 도달하도록 허용하는 방화벽 규칙(대상 태그network-lb-l3-default
사용)입니다. IPv4 및 IPv6 트래픽을 허용하도록 별도의 방화벽 규칙을 만듭니다.
이 예시에서는 모든 소스 범위의 트래픽이 구성된 포트의 백엔드 인스턴스에 도달하도록 허용하는 방화벽 규칙을 만듭니다. 특히 상태 점검 프로브에 대해 별도의 방화벽 규칙을 만들려면 상태 점검 개요: 프로브 IP 범위 및 방화벽 규칙에 설명된 소스 IP 주소 범위를 사용합니다.
콘솔
- Google Cloud 콘솔에서 방화벽 정책 페이지로 이동합니다.
방화벽 정책으로 이동 - IPv4 TCP 트래픽이
ig-us-tcp-80
인스턴스 그룹의 백엔드에 도달하도록 허용하려면 다음 방화벽 규칙을 만듭니다.- 방화벽 규칙 만들기를 클릭합니다.
allow-network-lb-tcp-80-ipv4
의 이름을 입력합니다.- 방화벽 규칙이 적용되는 네트워크를 선택합니다(기본값).
- 대상에서 지정된 대상 태그를 선택합니다.
- 대상 태그 필드에
network-lb-tcp-80
를 입력합니다. - 소스 필터를 IPv4 범위로 설정합니다.
- 소스 IPv4 범위를
0.0.0.0/0
으로 설정하여 모든 소스의 트래픽을 허용합니다. 이렇게 하면 외부 트래픽 및 상태 점검 프로브가 백엔드 인스턴스에 도달할 수 있습니다. - 프로토콜 및 포트에서 지정된 프로토콜 및 포트를 선택합니다. TCP 체크박스를 선택하고
80
을 입력합니다. - 만들기를 클릭합니다. 콘솔에 새 방화벽 규칙이 표시되는 데 시간이 걸릴 수 있습니다. 또는 새로고침을 클릭해야 규칙을 볼 수 있는 경우도 있습니다.
- IPv4 UDP, ESP, ICMP 트래픽이
ig-us-l3-default
인스턴스 그룹의 백엔드에 도달하도록 허용하려면 다음 방화벽 규칙을 만듭니다.- 방화벽 규칙 만들기를 클릭합니다.
allow-network-lb-l3-default-ipv4
의 이름을 입력합니다.- 방화벽 규칙이 적용되는 네트워크를 선택합니다(기본값).
- 대상에서 지정된 대상 태그를 선택합니다.
- 대상 태그 필드에
network-lb-l3-default
를 입력합니다. - 소스 필터를 IPv4 범위로 설정합니다.
- 소스 IPv4 범위를
0.0.0.0/0
으로 설정하여 모든 소스의 트래픽을 허용합니다. 이렇게 하면 외부 트래픽 및 상태 점검 프로브가 백엔드 인스턴스에 도달할 수 있습니다. - 프로토콜 및 포트에서 지정된 프로토콜 및 포트를 선택합니다.
- TCP 체크박스를 선택하고
8080
을 입력합니다. - UDP 체크박스를 선택합니다.
- 기타 체크박스를 선택하고
esp, icmp
를 입력합니다.
- TCP 체크박스를 선택하고
- 만들기를 클릭합니다. 콘솔에 새 방화벽 규칙이 표시되는 데 시간이 걸릴 수 있습니다. 또는 새로고침을 클릭해야 규칙을 볼 수 있는 경우도 있습니다.
- IPv6 TCP 트래픽이
ig-us-tcp-80
인스턴스 그룹의 백엔드에 도달하도록 허용하려면 다음 방화벽 규칙을 만듭니다.- 방화벽 규칙 만들기를 클릭합니다.
allow-network-lb-tcp-80-ipv6
의 이름을 입력합니다.- 방화벽 규칙이 적용되는 네트워크를 선택합니다(기본값).
- 대상에서 지정된 대상 태그를 선택합니다.
- 대상 태그 필드에
network-lb-tcp-80
를 입력합니다. - 소스 필터를 IPv6 범위로 설정합니다.
- 소스 IPv6 범위를
::/0
으로 설정하여 모든 소스의 트래픽을 허용합니다. 이렇게 하면 외부 트래픽 및 상태 점검 프로브가 백엔드 인스턴스에 도달할 수 있습니다. - 프로토콜 및 포트에서 지정된 프로토콜 및 포트를 선택합니다. TCP 옆의 체크박스를 클릭하고
80
을 입력합니다. - 만들기를 클릭합니다. 콘솔에 새 방화벽 규칙이 표시되는 데 시간이 걸릴 수 있습니다. 또는 새로고침을 클릭해야 규칙을 볼 수 있는 경우도 있습니다.
- IPv6 UDP, ESP, ICMPv6 트래픽이
ig-us-l3-default
인스턴스 그룹의 백엔드에 도달하도록 허용하려면 다음 방화벽 규칙을 만듭니다. 이 방화벽 규칙에서는 TCP 상태 점검 프로브가 포트 8080의 인스턴스에 도달할 수도 있습니다.- 방화벽 규칙 만들기를 클릭합니다.
allow-network-lb-l3-default-ipv6
의 이름을 입력합니다.- 방화벽 규칙이 적용되는 네트워크를 선택합니다(기본값).
- 대상에서 지정된 대상 태그를 선택합니다.
- 대상 태그 필드에
network-lb-l3-default
를 입력합니다. - 소스 필터를 IPv6 범위로 설정합니다.
- 소스 IPv6 범위를
::/0
으로 설정하여 모든 소스의 트래픽을 허용합니다. 이렇게 하면 외부 트래픽 및 상태 점검 프로브가 백엔드 인스턴스에 도달할 수 있습니다. - 프로토콜 및 포트에서 지정된 프로토콜 및 포트를 선택합니다.
- TCP 옆의 체크박스를 클릭하고
8080
을 입력합니다. - UDP 옆의 체크박스를 클릭합니다.
- 기타 옆의 체크박스를 클릭하고
esp, 58
를 입력합니다.
- TCP 옆의 체크박스를 클릭하고
- 만들기를 클릭합니다. 콘솔에 새 방화벽 규칙이 표시되는 데 시간이 걸릴 수 있습니다. 또는 새로고침을 클릭해야 규칙을 볼 수 있는 경우도 있습니다.
gcloud
IPv4 TCP 트래픽이
ig-us-tcp-80
인스턴스 그룹의 백엔드에 도달하도록 허용하려면 다음 방화벽 규칙을 만듭니다.gcloud compute firewall-rules create allow-network-lb-tcp-80-ipv4 \ --network=lb-network \ --target-tags network-lb-tcp-80 \ --allow tcp:80 \ --source-ranges=0.0.0.0/0
IPv4 UDP, ESP, ICMP 트래픽이
ig-us-l3-default
인스턴스 그룹의 백엔드에 도달하도록 허용하려면 다음 방화벽 규칙을 만듭니다. 이 방화벽 규칙에서는 TCP 상태 점검 프로브가 포트 8080의 인스턴스에 도달할 수도 있습니다.gcloud compute firewall-rules create allow-network-lb-l3-default-ipv4 \ --network=lb-network \ --target-tags network-lb-l3-default \ --allow tcp:8080,udp,esp,icmp \ --source-ranges=0.0.0.0/0
IPv6 TCP 트래픽이
ig-us-tcp-80
인스턴스 그룹의 백엔드에 도달하도록 허용하려면 다음 방화벽 규칙을 만듭니다.gcloud compute firewall-rules create allow-network-lb-tcp-80-ipv6 \ --network=lb-network \ --target-tags network-lb-tcp-80 \ --allow tcp:80 \ --source-ranges=::/0
IPv6 UDP, ESP, ICMPv6 트래픽이
ig-us-l3-default
인스턴스 그룹의 백엔드에 도달하도록 허용하려면 다음 방화벽 규칙을 만듭니다. 이 방화벽 규칙에서는 TCP 상태 점검 프로브가 포트 8080의 인스턴스에 도달할 수도 있습니다.gcloud compute firewall-rules create allow-network-lb-l3-default-ipv6 \ --network=lb-network \ --target-tags network-lb-l3-default \ --allow tcp:8080,udp,esp,58 \ --source-ranges=::/0
부하 분산기 구성
다음으로 부하 분산기 2개를 설정합니다. 부하 분산기 하나는 포트 80에서 TCP 트래픽을 처리하고 다른 부하 분산기는 포트 8080에서 TCP, UDP, ESP, ICMP 트래픽을 처리하는 전달 규칙에 같은 외부 IP 주소를 사용하도록 두 부하 분산기를 구성합니다.
부하 분산기를 구성하면 백엔드 VM 인스턴스에서 구성된 고정 외부 IP 주소를 대상으로 하는 패킷을 수신합니다. Compute Engine에서 제공하는 이미지를 사용하는 경우 IP 주소를 처리하도록 인스턴스가 자동으로 구성됩니다. 다른 이미지를 사용하는 경우 이 주소를 eth0
의 별칭 또는 각 인스턴스의 루프백으로 구성해야 합니다.
부하 분산기 2개를 설정하려면 다음 안내를 따르세요.
콘솔
구성 시작
Google Cloud 콘솔에서 부하 분산 페이지로 이동합니다.
- 부하 분산기 만들기를 클릭합니다.
- 부하 분산기 유형에 네트워크 부하 분산기(TCP/UDP/SSL)를 선택하고 다음을 클릭합니다.
- 프록시 또는 패스 스루에 패스 스루 부하 분산기를 선택하고 다음을 클릭합니다.
- 공개 또는 내부에 공개(외부)를 선택하고 다음을 클릭합니다.
- 구성을 클릭합니다.
기본 구성
- 이름 필드에 새 부하 분산기의
backend-service-tcp-80
이름을 입력합니다. - 리전 목록에서
us-central1
을 선택합니다.
백엔드 구성
- 백엔드 구성을 클릭합니다.
- 백엔드 구성 페이지에서 다음과 같이 변경하세요.
- 새 백엔드 섹션에서 IP 스택 유형을 선택합니다. IPv4 및 IPv6 트래픽 모두 처리되도록 이중 스택 백엔드를 만든 경우 IPv4 및 IPv6(이중 스택)을 선택합니다. IPv4 트래픽만 처리하려면 IPv4(단일 스택)를 선택합니다.
- 인스턴스 그룹 목록에서
ig-us-tcp-80
을 선택한 후 완료를 클릭합니다. - 상태 점검 목록에서 상태 점검 만들기를 클릭한 후 다음 정보를 입력합니다.
- 이름:
tcp-health-check-80
- 프로토콜:
TCP
- 포트:
80
- 이름:
- 저장을 클릭합니다.
- 계속하기 전에 백엔드 구성 옆에 파란색 체크표시가 있는지 확인합니다.
프런트엔드 구성
- 프런트엔드 구성을 클릭합니다.
- 이름 필드에
forwarding-rule-tcp-80
를 입력합니다. - IPv4 트래픽을 처리하려면 다음 단계를 따르세요.
- IP 버전에서 IPv4를 선택합니다.
- 내부 IP 용도 섹션의 IP 주소 목록에서 IP 주소 만들기를 선택합니다.
- 이름 필드에
network-lb-ipv4
를 입력합니다. - 예약을 클릭합니다.
- 이름 필드에
- 포트에 대해 단일을 선택합니다. 포트 번호 필드에
80
을 입력합니다. - 완료를 클릭합니다.
IPv6 트래픽을 처리하려면 다음 단계를 따르세요.
- IP 버전에서 IPv6을 선택합니다.
- 서브네트워크에 lb-subnet을 선택합니다.
- IPv6 범위 목록에서 IP 주소 만들기를 선택합니다.
- 이름 필드에
network-lb-ipv6
를 입력합니다. - 예약을 클릭합니다.
- 이름 필드에
- 포트에 대해 단일을 선택합니다. 포트 번호 필드에
80
을 입력합니다. - 완료를 클릭합니다.
프런트엔드 구성 왼쪽의 체크 표시가 있는 파란색 원은 설정이 완료되었음을 나타냅니다.
구성 검토
- 검토 및 완료를 클릭합니다.
- 부하 분산기 구성 설정을 검토합니다.
- 선택사항: 부하 분산기를 만드는 데 사용되는 REST API 요청을 보려면 상응하는 코드를 클릭합니다.
만들기를 클릭합니다.
부하 분산 페이지의 새 부하 분산기에 대한 백엔드 열에 새 부하 분산기가 정상임을 나타내는 녹색 확인 표시가 나타납니다.
두 번째 부하 분산기 만들기
구성 시작
Google Cloud 콘솔에서 부하 분산 페이지로 이동합니다.
- 부하 분산기 만들기를 클릭합니다.
- 부하 분산기 유형에 네트워크 부하 분산기(TCP/UDP/SSL)를 선택하고 다음을 클릭합니다.
- 프록시 또는 패스 스루에 패스 스루 부하 분산기를 선택하고 다음을 클릭합니다.
- 공개 또는 내부에 공개(외부)를 선택하고 다음을 클릭합니다.
- 구성을 클릭합니다.
기본 구성
- 이름 필드에 새 부하 분산기의
backend-service-l3-default
이름을 입력합니다. - 리전 목록에서
us-central1
을 선택합니다.
백엔드 구성
- 백엔드 구성을 클릭합니다.
- 백엔드 구성 페이지에서 다음과 같이 변경하세요.
- 새 백엔드 섹션에서 IP 스택 유형을 선택합니다. IPv4 및 IPv6 트래픽 모두 처리되도록 이중 스택 백엔드를 만든 경우 IPv4 및 IPv6(이중 스택)을 선택합니다. IPv4 트래픽만 처리하려면 IPv4(단일 스택)를 선택합니다.
- 인스턴스 그룹 목록에서
ig-us-l3-default
을 선택한 후 완료를 클릭합니다. - 프로토콜 목록에서 L3(여러 프로토콜)를 선택합니다.
- 상태 점검 목록에서 상태 점검 만들기를 클릭한 후 다음 정보를 입력합니다.
- 이름:
tcp-health-check-8080
- 프로토콜:
TCP
- 포트:
8080
- 이름:
- 저장을 클릭합니다.
- 계속하기 전에 백엔드 구성 옆에 파란색 체크표시가 있는지 확인합니다.
프런트엔드 구성
- 프런트엔드 구성을 클릭합니다.
- 이름 필드에
forwarding-rule-l3-default
를 입력합니다. - IPv4 트래픽을 처리하려면 다음 단계를 따르세요.
- IP 버전에서 IPv4를 선택합니다.
- 내부 IP 용도 섹션의 IP 주소 목록에서 IP 주소 만들기를 선택합니다.
- 이름 필드에
network-lb-ipv4
를 입력합니다. - 예약을 클릭합니다.
- 이름 필드에
- 프로토콜 목록에서 L3(여러 프로토콜)를 선택합니다.
- 포트에 모두를 선택합니다.
- 완료를 클릭합니다.
IPv6 트래픽을 처리하려면 다음 단계를 따르세요.
- IP 버전에서 IPv6을 선택합니다.
- 서브네트워크에 lb-subnet을 선택합니다.
- IPv6 범위 목록에서 IP 주소 만들기를 선택합니다.
- 이름 필드에
network-lb-ipv6
를 입력합니다. - 예약을 클릭합니다.
- 이름 필드에
- 프로토콜 필드에서 L3(여러 프로토콜)를 선택합니다.
- 포트에 모두를 선택합니다.
- 완료를 클릭합니다.
프런트엔드 구성 왼쪽의 체크 표시가 있는 파란색 원은 설정이 완료되었음을 나타냅니다.
구성 검토
- 검토 및 완료를 클릭합니다.
- 부하 분산기 구성 설정을 검토합니다.
- 선택사항: 부하 분산기를 만드는 데 사용되는 REST API 요청을 보려면 상응하는 코드를 클릭합니다.
만들기를 클릭합니다.
부하 분산 페이지의 새 부하 분산기에 대한 백엔드 열에 새 부하 분산기가 정상임을 나타내는 녹색 확인 표시가 나타납니다.
gcloud
정적 외부 IP 주소를 예약합니다.
IPv4 트래픽: 부하 분산기의 고정 외부 IP 주소를 만듭니다.
gcloud compute addresses create network-lb-ipv4 \ --region us-central1
IPv6 트래픽: 부하 분산기의 고정 외부 IPv6 주소 범위를 만듭니다. 사용되는 서브넷은 외부 IPv6 서브넷 범위를 갖는 이중 스택 서브넷이어야 합니다.
gcloud compute addresses create network-lb-ipv6 \ --region us-central1 \ --subnet lb-subnet \ --ip-version IPV6 \ --endpoint-type NETLB
포트
80
에 대한 TCP 상태 점검을 만듭니다. 이 상태 점검은ig-us-tcp-80
인스턴스 그룹의 백엔드 상태를 확인하는 데 사용됩니다.gcloud compute health-checks create tcp tcp-health-check-80 \ --region us-central1 \ --port 80
포트
8080
에 대한 TCP 상태 점검을 만듭니다. 이 상태 점검은ig-us-l3-default
인스턴스 그룹의 백엔드 상태를 확인하는 데 사용됩니다.gcloud compute health-checks create tcp tcp-health-check-8080 \ --region us-central1 \ --port 8080
포트
80
의 TCP 트래픽에 대한 첫 번째 부하 분산기를 만듭니다.TCP
로 설정된 프로토콜을 사용하여 백엔드 서비스를 만듭니다.gcloud compute backend-services create backend-service-tcp-80 \ --protocol TCP \ --health-checks tcp-health-check-80 \ --health-checks-region us-central1 \ --region us-central1
백엔드 인스턴스 그룹을 백엔드 서비스에 추가합니다.
gcloud compute backend-services add-backend backend-service-tcp-80 \ --instance-group ig-us-tcp-80 \ --instance-group-zone us-central1-a \ --region us-central1
IPv4 트래픽: 포트
80
에서 들어오는 TCP 트래픽을 백엔드 서비스로 라우팅하는 전달 규칙을 만듭니다.TCP
는 기본 전달 규칙 프로토콜이며 명시적으로 설정할 필요가 없습니다.1단계에서 예약된 IP 주소를 부하 분산기의 고정 외부 IP 주소로 사용합니다.
gcloud compute forwarding-rules create forwarding-rule-tcp-80 \ --load-balancing-scheme external \ --region us-central1 \ --ports 80 \ --address network-lb-ipv4 \ --backend-service backend-service-tcp-80
IPv6 트래픽: 포트
80
에서 들어오는 TCP 트래픽을 백엔드 서비스로 라우팅하는 전달 규칙을 만듭니다.TCP
는 기본 전달 규칙 프로토콜이며 명시적으로 설정할 필요가 없습니다.1단계에서 예약된 IPv6 주소 범위를 부하 분산기의 고정 외부 IP 주소로 사용합니다. 사용되는 서브넷은 외부 IPv6 서브넷 범위를 갖는 이중 스택 서브넷이어야 합니다.
gcloud compute forwarding-rules create forwarding-rule-tcp-80 \ --load-balancing-scheme external \ --region us-central1 \ --network-tier PREMIUM \ --ip-version IPV6 \ --subnet lb-subnet \ --address network-lb-ipv6 \ --ports 80 \ --backend-service backend-service-tcp-80
TCP(포트
8080
), UDP, ESP, ICMP 트래픽용 두 번째 부하 분산기를 만듭니다.UNSPECIFIED
로 설정된 프로토콜을 사용하여 백엔드 서비스를 만듭니다.gcloud compute backend-services create backend-service-l3-default \ --protocol UNSPECIFIED \ --health-checks tcp-health-check-8080 \ --health-checks-region us-central1 \ --region us-central1
백엔드 인스턴스 그룹을 백엔드 서비스에 추가합니다.
gcloud compute backend-services add-backend backend-service-l3-default \ --instance-group ig-us-l3-default \ --instance-group-zone us-central1-c \ --region us-central1
IPv4 트래픽: 프로토콜이
L3_DEFAULT
로 설정된 전달 규칙을 만들어 지원되는 남은 모든 IP 프로토콜 트래픽(포트8080
의 TCP, UDP, ESP, ICMP)을 처리합니다. 모든 포트를L3_DEFAULT
전달 규칙으로 구성해야 합니다.이전 부하 분산기에 사용한 것과 동일한 외부 IPv4 주소를 사용합니다.
gcloud compute forwarding-rules create forwarding-rule-l3-default \ --load-balancing-scheme external \ --region us-central1 \ --ports all \ --ip-protocol L3_DEFAULT \ --address network-lb-ipv4 \ --backend-service backend-service-l3-default
IPv6 트래픽: 프로토콜이
L3_DEFAULT
로 설정된 전달 규칙을 만들어 지원되는 남은 모든 IP 프로토콜 트래픽(포트8080
의 TCP, UDP, ESP, ICMP)을 처리합니다. 모든 포트를L3_DEFAULT
전달 규칙으로 구성해야 합니다.1단계에서 예약된 IPv6 주소 범위를 부하 분산기의 고정 외부 IP 주소로 사용합니다. 사용되는 서브넷은 외부 IPv6 서브넷 범위를 갖는 이중 스택 서브넷이어야 합니다.
gcloud compute forwarding-rules create forwarding-rule-l3-default \ --load-balancing-scheme external \ --region us-central1 \ --network-tier PREMIUM \ --ip-version IPV6 \ --subnet lb-subnet \ --address network-lb-ipv6 \ --ports all \ --ip-protocol L3_DEFAULT \ --backend-service backend-service-l3-default
부하 분산기 테스트
부하 분산 서비스를 구성했으므로 이제 부하 분산기의 외부 IP 주소로 트래픽을 전송할 수 있으며 트래픽이 백엔드 인스턴스로 분산되는 것을 볼 수 있습니다.
부하 분산기의 외부 IP 주소 조회
콘솔
- 고급 부하 분산 페이지에서 전달 규칙 탭으로 이동합니다.
전달 규칙 탭으로 이동 - 부하 분산기에서 사용하는 전달 규칙을 찾습니다.
- IP 주소 열에서 각 IPv4 및 IPv6 전달 규칙에 나열된 외부 IP 주소를 기록해 둡니다.
gcloud: IPv4
부하 분산기에서 사용하는 전달 규칙의 외부 IP 주소를 확인하려면 다음 명령어를 입력합니다.
gcloud compute forwarding-rules describe forwarding-rule-tcp-80 \ --region us-central1
이 예시에서는 두 IPv4 전달 규칙 모두에 동일한 IP 주소를 사용하므로 forwarding-rule-l3-default
를 사용해도 적합합니다.
gcloud: IPv6
부하 분산기에서 사용하는 forwarding-rule-tcp-80
전달 규칙의 외부 IPv6 주소를 확인하려면 다음 명령어를 입력합니다.
gcloud compute forwarding-rules describe forwarding-rule-tcp-80 \ --region us-central1
이 예시에서는 두 IPv6 전달 규칙 모두에 동일한 IP 주소를 사용하므로 forwarding-rule-l3-default
를 사용해도 적합합니다.
부하 분산기로 트래픽 전송
이 절차는 외부 트래픽을 부하 분산기로 전송합니다. 다음 테스트를 실행하여 포트 80의 TCP 트래픽이 ig-us-tcp-80
인스턴스 그룹에 의해 부하 분산되고 다른 모든 트래픽(포트 8080의 TCP, UDP, ESP, ICMP)이 ig-us-l3-default
인스턴스 그룹에 의해 처리되고 있는지 확인합니다.
포트 80에서 TCP 요청을 사용하여 동작 확인
포트 80에서 TCP를 통해
curl
을 사용하여 부하 분산기에 대한 웹 요청을 만들어 IP 주소에 연결합니다.IPv4 연결이 설정된 클라이언트에서 다음 명령어를 실행합니다.
$ while true; do curl -m1 IP_ADDRESS; done
IPv6 연결이 설정된 클라이언트에서 다음 명령어를 실행합니다.
$ while true; do curl -m1 http://IPV6_ADDRESS; done
예를 들어 할당된 IPv6 주소가
[2001:db8:1:1:1:1:1:1/96]
이면 명령어는 다음과 같습니다.$ while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]; done
curl
명령어에서 반환된 텍스트를 확인합니다. 응답을 생성하는 백엔드 VM의 이름은 해당 텍스트에 표시됩니다(예:Page served from: VM_NAME
).ig-us-tcp-80
인스턴스 그룹의 인스턴스에서만 응답이 발생해야 합니다.처음에 응답이 성공하지 못하면 구성이 완전히 로드되고 인스턴스가 정상으로 표시될 때까지 30초 정도 기다린 다음 다시 시도합니다.
포트 8080에서 TCP 요청을 사용하여 동작 확인
포트 8080
에서 TCP를 통해 curl
을 사용하여 부하 분산기에 대한 웹 요청을 만들어 IP 주소에 연결합니다.
IPv4 연결이 설정된 클라이언트에서 다음 명령어를 실행합니다.
$ while true; do curl -m1 IPV4_ADDRESS:8080; done
IPv6 연결이 설정된 클라이언트에서 다음 명령어를 실행합니다.
$ while true; do curl -m1 http://IPV6_ADDRESS; done
예를 들어 할당된 IPv6 주소가
[2001:db8:1:1:1:1:1:1/96]
이면 명령어는 다음과 같습니다.$ while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:8080; done
curl
명령어에서 반환된 텍스트를 확인합니다. ig-us-l3-default
인스턴스 그룹의 인스턴스에서만 응답이 발생해야 합니다.
포트 8080
에서 부하 분산기의 IP 주소로 전송된 모든 트래픽이 ig-us-l3-default
인스턴스 그룹의 백엔드에서만 처리됨을 보여줍니다.
ICMP 요청을 사용하여 동작 확인
ICMP 트래픽의 동작을 확인하려면 tcpdump
명령어의 출력을 캡처하여 ig-us-l3-default
인스턴스 그룹의 백엔드 VM만 부하 분산기로 전송되는 ICMP 요청을 처리하는지 확인합니다.
SSH를 통해 백엔드 VM에 연결합니다.
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
VM 인스턴스 페이지로 이동가상 머신 인스턴스 목록에서 연결할 인스턴스 행의 SSH를 클릭합니다.
tcpdump
를 사용하여 ICMP 트래픽 리슨을 시작하려면 다음 명령어를 실행합니다.sudo tcpdump icmp -w ~/icmpcapture.pcap -s0 -c 10000 tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
SSH 창을 열어 둡니다.
4개의 백엔드 VM 모두에 1단계와 2단계를 반복합니다.
부하 분산기에 ICMP 요청을 수행합니다.
IPv4 응답을 테스트하려면
ping
을 사용하여 부하 분산기의 IPv4 주소에 연결합니다.ping IPV4_ADDRESS
IPv6 응답을 테스트하려면
ping6
을 사용하여 부하 분산기의 IPv6 주소에 연결합니다.ping6 IPV6_ADDRESS
예를 들어 할당된 IPv6 주소가
[2001:db8:1:1:1:1:1:1/96]
이면 명령어는 다음과 같습니다.ping6 2001:db8:1:1:1:1:1:1
VM마다 열린 SSH 창으로 돌아가서
tcpdump
캡처 명령어를 중지합니다. Ctrl+C를 사용하면 됩니다.각 VM에 대해
tcpdump
명령어의 출력을icmpcapture.pcap
파일에서 확인합니다.sudo tcpdump -r ~/icmpcapture.pcap -n
ig-us-l3-default
인스턴스 그룹의 백엔드 VM에서는 다음과 같은 파일 항목이 표시됩니다.reading from file /home/[user-directory]/icmpcapture.pcap, link-type EN10MB (Ethernet) 22:13:07.814486 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 1, length 64 22:13:07.814513 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 1, length 64 22:13:08.816150 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 2, length 64 22:13:08.816175 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 2, length 64 22:13:09.817536 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 3, length 64 22:13:09.817560 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 3, length 64 ...
ig-us-tcp-80
인스턴스 그룹의 백엔드 VM에서는 수신된 패킷이 없고 파일이 비어 있어야 합니다.reading from file /home/[user-directory]/icmpcapture.pcap, link-type EN10MB (Ethernet)
추가 구성 옵션
BYOIP로 IPv6 전달 규칙 만들기
이전 단계에서 만든 부하 분산기는 IP version
이 IPv4
또는 IPv6
인 전달 규칙으로 구성되었습니다. 이 섹션에서는 자체 IP 주소 사용(BYOIP)으로 IPv6 전달 규칙을 만드는 방법을 설명합니다.
자체 IP 주소 사용을 통해 Google Cloud 리소스에 자체 공개 IPv6 주소를 프로비저닝하고 사용할 수 있습니다. 자세한 내용은 자체 IP 주소 사용을 참조하세요.
BYOIP 주소로 IPv6 전달 규칙을 구성하려면 먼저 다음 단계를 완료해야 합니다.
새 전달 규칙을 만들려면 다음 단계를 수행합니다.
Console
Google Cloud 콘솔에서 부하 분산 페이지로 이동합니다.
- 수정할 부하 분산기의 이름을 클릭합니다.
- 수정을 클릭합니다.
- 프런트엔드 구성을 클릭합니다.
- 프런트엔드 IP 및 포트 추가를 클릭합니다.
- 새 프런트엔드 IP 및 포트 섹션에서 다음을 지정합니다.
- 프로토콜은 TCP입니다.
- IP 버전 필드에서 IPv6를 선택합니다.
- IPv6 범위의 소스 필드에서 BYOIP를 선택합니다.
- IP 집합 목록에서 전달 규칙 옵션을 사용 설정하여 이전 단계에서 만든 하위 프리픽스를 선택합니다.
- IPv6 범위 필드에 IPv6 주소 범위를 입력합니다. IPv6 주소 범위는 IPv6 하위 프리픽스 사양을 준수해야 합니다.
- 포트 필드에 포트 번호를 입력합니다.
- 완료를 클릭합니다.
- 프런트엔드 IP 및 포트 추가를 클릭합니다.
- 새 프런트엔드 IP 및 포트 섹션에서 다음을 지정합니다.
- 프로토콜은 L3(여러 프로토콜)입니다.
- IP 버전 필드에서 IPv6를 선택합니다.
- IPv6 범위의 소스 필드에서 BYOIP를 선택합니다.
- IP 집합 목록에서 전달 규칙 옵션을 사용 설정하여 이전 단계에서 만든 하위 프리픽스를 선택합니다.
- IPv6 범위 필드에 IPv6 주소 범위를 입력합니다. IPv6 주소 범위는 IPv6 하위 프리픽스 사양을 준수해야 합니다.
- 포트 필드에 모두를 선택합니다.
- 완료를 클릭합니다.
- 업데이트를 클릭합니다.
Google Cloud CLI
gcloud compute forwarding-rules create
명령어를 사용하여 전달 규칙을 만듭니다.
gcloud compute forwarding-rules create FWD_RULE_NAME \ --load-balancing-scheme EXTERNAL \ --ip-protocol L3_DEFAULT \ --ports ALL \ --ip-version IPV6 \ --region REGION_A \ --address IPV6_CIDR_RANGE \ --backend-service BACKEND_SERVICE \ --ip-collection PDP_NAME
gcloud compute forwarding-rules create
명령어를 사용하여 전달 규칙을 만듭니다.
gcloud compute forwarding-rules create FWD_RULE_NAME \ --load-balancing-scheme EXTERNAL \ --ip-protocol PROTOCOL \ --ports ALL \ --ip-version IPV6 \ --region REGION_A \ --address IPV6_CIDR_RANGE \ --backend-service BACKEND_SERVICE \ --ip-collection PDP_NAME
다음을 바꿉니다.
FWD_RULE_NAME
: 전달 규칙 이름REGION_A
: 전달 규칙의 리전IPV6_CIDR_RANGE
: 전달 규칙에서 제공하는 IPv6 주소 범위. IPv6 주소 범위는 IPv6 하위 프리픽스 사양을 준수해야 합니다.BACKEND_SERVICE
: 백엔드 서비스 이름PDP_NAME
: 공개 위임 프리픽스 이름. PDP는 EXTERNAL_IPV6_FORWARDING_RULE_CREATION 모드의 하위 프리픽스여야 합니다.
다음 단계
- VM 인스턴스의
nic0
외의 네트워크 인터페이스로 패킷을 전달할 수 있는 영역별 NEG 백엔드가 있는 외부 패스 스루 네트워크 부하 분산기를 구성하려면 영역별 NEG로 외부 패스 스루 네트워크 부하 분산기 설정을 참조하세요. - 외부 패스 스루 네트워크 부하 분산기가 백엔드 서비스에서 작동하는 방법은 백엔드 서비스 기반 외부 패스 스루 네트워크 부하 분산기 개요를 참조하세요.
- 외부 패스 스루 네트워크 부하 분산기를 대상 풀 백엔드에서 리전별 백엔드 서비스로 전환하는 방법은 외부 패스 스루 네트워크 부하 분산기를 대상 풀에서 백엔드 서비스로 마이그레이션을 참조하세요.
- Google Cloud Armor를 사용하여 외부 패스 스루 네트워크 부하 분산기에 고급 네트워크 DDoS 보호를 구성하려면 고급 네트워크 DDoS 보호 구성을 참조하세요.
- 리소스를 삭제하려면 부하 분산기 설정 삭제를 참조하세요.