공유 방법 NetLB 테스트 모듈 테스트

내부 TCP LB 테스트

클라이언트 VM 만들기

이 예시에서는 백엔드와 동일한 리전에 클라이언트 VM을 만듭니다. 그런 다음 클라이언트에서 부하 분산기로 트래픽을 전송합니다.

클라이언트 VM은 부하 분산기와 동일한 리전의 모든 영역에 있을 수 있으며 해당 리전의 모든 서브넷을 사용할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 인스턴스 만들기를 클릭합니다.

  3. 이름 필드에 이름을 입력합니다.

  4. 리전에서 부하 분산기와 동일한 리전을 선택합니다.

  5. 영역에서 영역을 선택합니다.

  6. 네트워킹을 클릭합니다.

  7. 다음 필드를 구성하고 완료를 클릭합니다.

    • 네트워크 태그allow-ssh를 입력합니다.
    • 네트워크 인터페이스에서 네트워크와 서브넷을 선택합니다. 백엔드와 동일한 네트워크 및 서브넷을 사용할 수 있습니다.
    • IP 스택 유형IPv6(단일 스택)를 선택합니다.
  8. 만들기를 클릭합니다.

gcloud

gcloud compute instances create CLIENT_VM_NAME \
    --zone=ZONE \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --stack-type=IPV6_ONLY \
    --tags=allow-ssh \
    --subnet=SUBNET

다음을 바꿉니다.

  • CLIENT_VM_NAME: 클라이언트 VM의 이름입니다.
  • ZONE: 클라이언트 VM의 영역입니다. 이 영역은 부하 분산기와 동일한 리전에 있어야 합니다.
  • SUBNET: 클라이언트 VM의 서브넷입니다.

부하 분산기로 IPv6 트래픽 전송

부하 분산기를 구성했으므로 부하 분산기의 IP 주소로 트래픽을 전송하여 배포를 테스트할 수 있습니다. 첫 배포 이후 부하 분산기 구성을 배포하기까지 몇 분이 걸릴 수 있습니다.

  1. 클라이언트 VM 인스턴스에 연결합니다.

    gcloud compute ssh CLIENT_VM_NAME \
        --zone=ZONE
    

    다음을 바꿉니다.

    • CLIENT_VM_NAME: 클라이언트 VM의 이름입니다.
    • ZONE: 클라이언트 VM의 영역입니다.
  2. 부하 분산기의 IP 주소를 가져옵니다.

    IPv6 주소를 가져오려면 다음 명령어를 사용합니다.

    gcloud compute forwarding-rules describe IPV6_FORWARDING_RULE_NAME \
        --region=REGION
    

    IPV6_FORWARDING_RULE_NAME을 IPv6 전달 규칙의 이름으로 바꿉니다.

  3. 트래픽을 부하 분산기로 전송합니다.

    IPv6 연결이 설정된 클라이언트에서 다음 명령어를 실행합니다.

    curl -m 10 -s http://LB_IPV6_ADDRESS:80
    

    LB_IPV6_ADDRESS를 부하 분산기의 IPv6 주소로 바꿉니다.

    예를 들어 할당된 IPv6 주소가 [fd20:1db0:b882:802:0:46:0:0/96]:80이면 명령어는 다음과 같습니다.

    curl -m 10 -s http://[fd20:1db0:b882:802:0:46:0:0]:80
    

부하 분산기로 IPv4 트래픽 전송

부하 분산기를 구성했으므로 부하 분산기의 IP 주소로 트래픽을 전송하여 배포를 테스트할 수 있습니다. 첫 배포 이후 부하 분산기 구성을 배포하기까지 몇 분이 걸릴 수 있습니다.

  1. 클라이언트 VM 인스턴스에 연결합니다.

    gcloud compute ssh CLIENT_VM_NAME \
        --zone=ZONE
    

    다음을 바꿉니다.

    • CLIENT_VM_NAME: 클라이언트 VM의 이름입니다.
    • ZONE: 클라이언트 VM의 영역입니다.
  2. 부하 분산기의 IP 주소를 가져옵니다.

    IPv4 주소를 가져오려면 다음 명령어를 사용합니다.

    gcloud compute forwarding-rules describe IPV4_FORWARDING_RULE_NAME \
        --region=REGION
    

    IPV4_FORWARDING_RULE_NAME을 IPv4 전달 규칙의 이름으로 바꿉니다.

  3. 트래픽을 부하 분산기로 전송합니다.

    IPv4 연결이 설정된 클라이언트에서 다음 명령어를 실행합니다.

    curl -m 10 -s http://LB_IPV4_ADDRESS:80
    

    LB_IPV4_ADDRESS를 부하 분산기의 IPv4 주소로 바꿉니다.

외부 TCP LB 테스트

부하 분산기로 IPv6 트래픽 전송

부하 분산기를 구성했으므로 부하 분산기의 IP 주소로 트래픽을 전송하여 배포를 테스트할 수 있습니다. 첫 배포 이후 부하 분산기 구성을 배포하기까지 몇 분이 걸릴 수 있습니다.

  1. 부하 분산기의 IP 주소를 가져옵니다.

    IPv6 주소를 가져오려면 다음 명령어를 사용합니다.

    gcloud compute forwarding-rules describe IPV6_FORWARDING_RULE_NAME \
        --region=REGION
    

    IPV6_FORWARDING_RULE_NAME을 IPv6 전달 규칙의 이름으로 바꿉니다.

  2. curl을 사용해 IP 주소에 연결하여 부하 분산기로 트래픽을 전송합니다.

    IPv6 연결이 설정된 클라이언트에서 다음 명령어를 실행합니다.

    while true; do curl -m1 http://LB_IPV6_ADDRESS; done
    

    LB_IPV6_ADDRESS를 부하 분산기의 IPv6 주소로 바꿉니다.

    예를 들어 할당된 IPv6 주소가 [2001:db8:1:1:1:1:1:1/96]:80이면 명령어는 다음과 같습니다.

    while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:80; done
    

    curl 명령어에서 반환된 텍스트를 확인합니다. 응답을 생성하는 백엔드 VM의 이름은 해당 텍스트에 표시됩니다(예: Page served from: VM_NAME).

    curl 명령어는 백엔드 인스턴스에서 무작위로 응답합니다. 처음에 응답이 성공하지 못하면 구성이 완전히 로드되고 인스턴스가 정상으로 표시될 때까지 30초 정도 기다린 다음 다시 시도합니다.

부하 분산기로 IPv4 트래픽 전송

부하 분산기를 구성했으므로 부하 분산기의 IP 주소로 트래픽을 전송하여 배포를 테스트할 수 있습니다. 첫 배포 이후 부하 분산기 구성을 배포하기까지 몇 분이 걸릴 수 있습니다.

  1. 부하 분산기의 IP 주소를 가져옵니다.

    IPv4 주소를 가져오려면 다음 명령어를 사용합니다.

    gcloud compute forwarding-rules describe IPV4_FORWARDING_RULE_NAME \
        --region=REGION
    

    IPV4_FORWARDING_RULE_NAME을 IPv4 전달 규칙의 이름으로 바꿉니다.

  2. curl을 사용해 IP 주소에 연결하여 부하 분산기로 트래픽을 전송합니다.

    IPv4 연결이 설정된 클라이언트에서 다음 명령어를 실행합니다.

    while true; do curl -m1 LB_IPV4_ADDRESS; done
    

    LB_IPV4_ADDRESS를 부하 분산기의 IPv4 주소로 바꿉니다.

    curl 명령어에서 반환된 텍스트를 확인합니다. 응답을 생성하는 백엔드 VM의 이름은 해당 텍스트에 표시됩니다(예: Page served from: VM_NAME).

    curl 명령어는 백엔드 인스턴스에서 무작위로 응답합니다. 처음에 응답이 성공하지 못하면 구성이 완전히 로드되고 인스턴스가 정상으로 표시될 때까지 30초 정도 기다린 다음 다시 시도합니다.