Distributed Cloud Connected 문제 해결

Google은 Google Distributed Cloud connected 하드웨어를 원격으로 모니터링하고 유지보수합니다. 이를 위해 Google 엔지니어는 Distributed Cloud 연결 하드웨어에 대한 보안 셸 (SSH) 액세스 권한을 보유합니다. Google에서 문제를 감지하면 Google 엔지니어가 연락하여 문제를 해결합니다. 문제를 직접 확인한 경우 즉시 Google 지원팀에 문의하여 진단하고 해결하세요.

VPN 연결에서 사용하는 Cloud Router 리소스의 BGP 세션이 손상됨

분산 Cloud VPN 연결은 해당 Cloud Router 리소스에서 설정하고 관리하는 BGP 세션을 사용하여 분산 클라우드 연결 클러스터와 Google Cloud간의 경로를 공지합니다. 분산 클라우드 VPN 연결과 연결된 Cloud Router 리소스의 구성을 수정하면 해당 연결이 작동하지 않을 수 있습니다.

영향을 받는 Cloud Router에서 손상된 BGP 세션 구성을 복구하려면 다음 단계를 완료하세요.

  1. Google Cloud 콘솔에서 손상된 BGP 세션의 이름을 가져옵니다. 예를 들면 다음과 같습니다.

    INTERFACE=anthos-mcc-34987234
    
  2. 손상된 BGP 세션의 피어 BGP 및 Cloud Router BGP IP 주소와 영향을 받는 Distributed Cloud VPN 연결에서 사용되는 피어 ASN을 가져옵니다. 예를 들면 다음과 같습니다.

    GDCE_BGP_IP=168.254.208.74
    CLOUD_ROUTER_BGP_IP=168.254.208.73
    PEER_ASN=65506
    

    BGP 세션을 삭제한 경우 Distributed Cloud 연결 클러스터에서 다음 정보를 가져오세요.

    1. 클러스터 사용자 인증 정보를 가져옵니다.

      gcloud edge-cloud container clusters get-credentials CLUSTER_ID \
        --location REGION \
        --project PROJECT_ID
      

      다음을 바꿉니다.

      • CLUSTER_ID: 대상 클러스터의 이름입니다.
      • REGION: 대상 클러스터가 생성된 Google Cloud 리전입니다.
      • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
    2. MultiClusterConnectivityConfig 리소스의 구성을 가져옵니다.

      kubectl get multiclusterconnectivityconfig -A
      

      이 명령어는 다음과 유사한 출력을 반환합니다.

       NAMESPACE     NAME                   LOCAL ASN              PEER ASN
       kube-system   MultiClusterConfig1    65505                   65506
       ```
      
    3. 피어 BGP IP 주소, Cloud Router IP 주소, BGP 세션 ASN을 가져옵니다.

      kubectl describe multiclusterconnectivityconfig -n kube-system MCC_CONFIG_NAME   
      

      MCC_CONFIG_NAME을 이전 단계에서 가져온 MultiClusterConfigResource의 이름으로 바꿉니다.

      이 명령어는 다음과 유사한 출력을 반환합니다.

       ​​Spec:
       Asns:
         Peer:  65505
         Self:  65506 # GDCE ASN
       Tunnels:
         Ike Key:
           Name:       MCC_CONFIG_NAME-0
           Namespace:  kube-system
         Peer:
           Bgp IP:      169.254.208.73 # Cloud Router BGP IP
           Private IP:  34.157.98.148
           Public IP:   34.157.98.148
         Self:
           Bgp IP:      169.254.208.74 # GDCE BGP IP
           Private IP:  10.100.29.49
           Public IP:   208.117.254.68
       ```
      
  3. Google Cloud 콘솔에서 손상된 VPN 터널의 이름, 리전,Google Cloud 프로젝트 이름을 가져옵니다. 예를 들면 다음과 같습니다.

    VPN_TUNNEL=VPNTunnel1
    REGION=US-East1
    VPC_PROJECT_ID=VPC-Project-1
    
  4. Cloud Router 구성에서 손상된 BGP 세션을 삭제합니다.

  5. 새 Cloud Router 인터페이스를 만듭니다.

    gcloud compute routers add-interface --interface-name=INTERFACE_NAME \
       --vpn-tunnel=TUNNEL_NAME \ 
       --ip-address=ROUTER_BGP_IP \
       --project=VPC_PROJECT_ID \
       --region=REGION \      
       --mask-length=30
    

    다음을 바꿉니다.

    • INTERFACE_NAME: 이 인터페이스를 고유하게 식별하는 설명 이름입니다.
    • TUNNEL_NAME: 이전 단계에서 가져온 VPN 터널의 이름입니다.
    • ROUTER_BGP_IP: 이 절차의 앞부분에서 획득한 Cloud Router의 BGP IP 주소입니다.
    • VPC_PROJECT_ID: 타겟 VPCGoogle Cloud 프로젝트의 ID입니다.
    • REGION: 대상 VPC Google Cloud 프로젝트가 생성된 Google Cloud 리전입니다.
  6. BGP 피어를 만듭니다.

    gcloud compute routers add-bgp-peer --interface=INTERFACE_NAME \
       --peer-name=TUNNEL_NAME \
       --region REGION \
       --project=VPC_PROJECT_ID \
       --peer-ip-address=GDCE_BGP_IP \
       --peer-asn=GDCE_BGP_ASN \
       --advertised-route-priority=100 \
       --advertisement-mode=DEFAULT
    

    다음을 바꿉니다.

    • INTERFACE_NAME: 이전 단계에서 만든 인터페이스의 이름입니다.
    • TUNNEL_NAME: 이전 단계에서 인터페이스를 만드는 데 사용한 VPN 터널의 이름입니다.
    • REGION: 대상 VPC Google Cloud 프로젝트가 생성된 Google Cloud 리전입니다.
    • VPC_PROJECT_ID: 타겟 VPCGoogle Cloud 프로젝트의 ID입니다.
    • GDCE_BGP_IP: 이 절차의 앞부분에서 가져온 Distributed Cloud 피어 BGP IP 주소입니다.
    • GDCE_BGP_ASN: 이 절차의 앞부분에서 획득한 분산 클라우드 피어 BGP ASN입니다.

이 시점에서 BGP 세션이 다시 작동됩니다.