Private Service Connect con Dataproc Metastore

En esta página, se explica qué es Private Service Connect y cómo usarlo para las herramientas de redes como alternativa al intercambio de tráfico de VPC.

Servicio de Dataproc Metastore sin intercambio de tráfico de VPC

Dataproc Metastore protege el acceso a los metadatos mediante la exposición de solo extremos de IP privados. También restringe la conectividad a las VM en la red de VPC del cliente proporcionado a través del intercambio de tráfico de VPC.

Dataproc Metastore requiere lo siguiente por región para cada red de VPC:

Configurar el intercambio de tráfico entre redes de VPC y la reserva de direcciones IP representa un desafío para las redes de VPC abarrotadas. Del mismo modo, es posible que una red de VPC no tenga suficiente cuota de intercambio de tráfico para admitir solicitudes de intercambio de tráfico adicionales. Ambas limitaciones evitan las nuevas creaciones de servicios de Dataproc Metastore.

Puedes crear un servicio de Dataproc Metastore sin intercambio de tráfico de VPC y reserva de bloques de direcciones mediante Private Service Connect para exponer el extremo de Dataproc Metastore. Private Service Connect permite una conexión privada a los metadatos de Dataproc Metastore en las redes de VPC.

Con Private Service Connect, Dataproc Metastore requiere una reserva de dirección única en la subred y una regla de reenvío orientada al adjunto de servicio que expone el extremo de Dataproc Metastore. La regla de reenvío y reserva de direcciones se crean como parte de la llamada de creación del servicio de Dataproc Metastore.

Cree un servicio de Dataproc Metastore con Private Service Connect

En las siguientes instrucciones, se muestra cómo configurar Private Service Connect durante la creación del servicio.

gcloud

  1. Ejecuta el siguiente comando de gcloud beta metastore services create para crear un servicio con Private Service Connect:

    gcloud beta metastore services create SERVICE \
       --location=LOCATION \
       --consumer-subnetworks="projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET1, projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET2"
    
  2. Verifica que la creación se haya realizado correctamente.

curl

Crea un servicio mediante el método create:

     curl -X POST -s -i 
-H "Authorization: Bearer $(gcloud auth print-access-token)"
-d '{"network_config":{"consumers": [{"subnetwork": "projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET1"}]}}'
-H "Content-Type:application/json"
https://metastore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/services?service_id=SERVICE_ID

Dataproc Metastore reserva direcciones y crea reglas de reenvío en cada una de las subredes especificadas. Cada subred tiene un URI de extremo de Thrift que puedes usar para acceder al extremo de metadatos de Dataproc Metastore.

Adjunta un clúster de Dataproc

Puedes conectar un clúster de Dataproc que use el servicio de Dataproc Metastore con Private Service Connect como su almacén de metadatos de Hive.

Existen dos maneras de conectar un clúster de Dataproc:

  • Opción 1: Proporciona la siguiente configuración de propiedad de Hive mientras creas el clúster de Dataproc.

    1. Ejecuta el siguiente comando gcloud dataproc clusters create:

       gcloud dataproc clusters create CLUSTER_NAME 
      --properties="hive:hive.metastore.uris=$ENDPOINT_URI,hive:hive.metastore.warehouse.dir=$WAREHOUSE_DIR/hive-warehouse"

  • Opción 2: Actualiza hive-site.xml en el clúster de Dataproc con el URI del extremo que aparece en NetworkConfig.

    1. Establece una conexión SSH a la instancia principal del clúster de Dataproc y realiza lo siguiente:

      1. Modifica /etc/hive/conf/hive-site.xml en el clúster de Dataproc:

        <property>
          <name>hive.metastore.uris</name>
          <!-- Update this value. -->
          <value>ENDPOINT_URI</value>
        </property>
        <!-- Add this property entry. -->
        <property>
          <name>hive.metastore.warehouse.dir</name>
          <value>WAREHOUSE_DIR</value>
        </property>
        
      2. Reinicia HiveServer2:

        sudo systemctl restart hive-server2.service
        

Advertencias de Private Service Connect para Dataproc Metastore

  • Los extremos del servicio de Dataproc Metastore que usan Private Service Connect solo admiten el acceso desde subredes en la misma región que el servicio.
  • No es posible realizar conexiones inversas. Esto significa que no se admite la configuración de Kerberos con la configuración de Private Service Connect.
  • No puedes agregar o quitar subredes de forma dinámica desde un servicio de Dataproc Metastore. Debes volver a crear un servicio si deseas agregar o quitar subredes.
  • No puedes actualizar un servicio de Dataproc Metastore desde la configuración de Private Service Connect a la configuración de intercambio de tráfico, ni viceversa.

¿Qué sigue?