Aprovisionar una organización de evaluación sin emparejamiento de VPC

Esta página se aplica a Apigee, pero no a Apigee Hybrid.

Consulta la documentación de Apigee Edge.

En este documento se explica cómo instalar y configurar una organización de evaluación de Apigee desde la línea de comandos sin peerings de VPC. Las organizaciones de evaluación caducan al cabo de 60 días y pueden tener otras limitaciones. Consulta también Comparar organizaciones de evaluación y de pago.

Limitaciones

La opción de instalación de peering no VPC que se describe en este documento tiene algunas limitaciones:

Para ver una lista completa de las funciones y los enfoques de redes que se admiten y no se admiten en el emparejamiento que no es de VPC, consulta Cómo elegir una opción de red.

Resumen de los pasos

Los pasos de aprovisionamiento son los siguientes:

Paso 1: Define las variables del entorno

Configura gcloud y define las variables de entorno que se usarán en pasos posteriores:

  1. Asegúrate de que has completado los requisitos que se indican en la sección Requisitos previos.
  2. Debes tener instalada la CLI de gcloud. Si tienes que instalarlo, consulta Instalar gcloud CLI.
  3. Inicializa gcloud CLI, tal como se describe en Inicializar gcloud CLI. Si la CLI ya está inicializada, asegúrate de que el proyecto de Google Cloud que has creado en Requisitos sea el proyecto predeterminado de gcloud.
  4. Define las siguientes variables de entorno:
    AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
    PROJECT_ID="YOUR_PROJECT_ID"
    RUNTIME_LOCATION="YOUR_RUNTIME_LOCATION"
    ANALYTICS_REGION="YOUR_ANALYTICS_REGION"

    Donde:

    • AUTH define el encabezado Authentication con un token de portador. Usarás este encabezado al llamar a las APIs de Apigee. Ten en cuenta que el token caduca al cabo de un tiempo. Cuando esto ocurra, puedes volver a generarlo con el mismo comando. Para obtener más información, consulta la página de referencia del comando print-access-token.
    • PROJECT_ID es el ID del proyecto de Cloud que has creado como parte de los requisitos previos.
    • RUNTIME_LOCATION es la ubicación física en la que se encuentra la instancia de Apigee. Para ver una lista de las ubicaciones de tiempo de ejecución disponibles, consulta Ubicaciones de Apigee.

    • ANALYTICS_REGION es la ubicación física en la que se almacenarán los datos de analíticas de Apigee. Para ver una lista de las regiones de analíticas de la API de Apigee disponibles, consulta Ubicaciones de Apigee.

      RUNTIME_LOCATION y ANALYTICS_REGION pueden ser la misma región, pero no es obligatorio. Sin embargo, puede que haya una mejora del rendimiento si son iguales.

  5. (Opcional) Comprueba tu trabajo repitiendo los valores que acabas de definir. Ten en cuenta que, si quieres usar una variable en tus comandos, debes poner el signo de dólar ($) delante del nombre de la variable.
    echo $AUTH
    echo $PROJECT_ID
    echo $RUNTIME_LOCATION
    echo $ANALYTICS_REGION
    

    Las respuestas a tus comandos echo deberían tener un aspecto similar al siguiente:

    Authorization: Bearer ya29.a123456678940B63hPSAMPLEsampleKKYVsample0f3pWDWZDuH2-hENkNa
    TvgZ1PD977TMvv6edBQPJezdHw040880Ol_LoD5ZDkt-i-knizia_KhA9L20sSvztL81-SAMPLE42ELPMASk2_
    1CxN
    my-cloud-project
    us-west1
    us-west1
    

Paso 2: Habilita las API

  1. Apigee requiere que habilites varias APIs de Google Cloud. Para habilitarlas, ejecuta el comando services enable:

    gcloud services enable apigee.googleapis.com \
      cloudkms.googleapis.com --project=$PROJECT_ID
  2. (Opcional) Para comprobar tu trabajo, usa el comando services list para mostrar todas las APIs habilitadas:

    gcloud services list

    En la respuesta se muestran todos los servicios habilitados, incluidas las APIs que acabas de habilitar (Apigee, Cloud KMS y Compute Engine).

Paso 3: Crea una organización

Una organización es el contenedor de nivel superior de Apigee. Contiene todos tus proxies de API y los recursos relacionados. Para obtener más información, consulta el artículo Acerca de las organizaciones.

  1. Crea una organización de evaluación con la API provisionOrganization:
    curl "https://apigee.googleapis.com/v1/projects/$PROJECT_ID:provisionOrganization"  \
      -H "$AUTH" \
      -X POST \
      -H "Content-Type:application/json" \
      -d '{
        "analyticsRegion":"'"$ANALYTICS_REGION"'",
        "runtimeLocation":"'"$RUNTIME_LOCATION"'",
        "disableVpcPeering":"true",
      }'

    Donde:

    • -d define la carga útil de datos de la solicitud. Esta carga útil debe incluir lo siguiente:
      • ANALYTICS_REGION: especifica la ubicación física en la que se almacenarán sus datos analíticos.

      • RUNTIME_LOCATION: es la ubicación física en la que se encuentra la instancia de Apigee.

      • disableVpcPeering: En este flujo de aprovisionamiento, no usamos el peering de VPC, por lo que esta marca debe tener el valor true. Predeterminado: false
  2. Apigee inicia una LRO para crear la organización de evaluación. Esta operación tarda hasta 40 minutos en completarse.

  3. Para comprobar el estado de tu solicitud de creación, puedes enviar una solicitud GET a la API List organizations de Apigee, como se muestra en el siguiente ejemplo:
    curl -H "$AUTH" "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID"

    Si ves esta respuesta, significa que la creación de la organización aún no se ha completado:

    {
      "error": {
        "code": 403,
        "message": "Permission denied on resource \"organizations/apigee-docs-m\" (or it may not exist)",
        "status": "PERMISSION_DENIED"
      }
    }

    Si la operación se realiza correctamente, el objeto de respuesta indicará "state": "ACTIVE" y podrás continuar con el siguiente paso.

Paso 4: Configura el enrutamiento

En este paso, se configura cómo se comunican las aplicaciones cliente con Apigee. El tráfico de cliente a Apigee también se denomina tráfico "de entrada". Entre las opciones de configuración de la dirección norte se incluyen las siguientes:

Tipo de acceso Descripción del proceso de configuración e implementación
Interno con PSC

Permite solo el acceso interno a tus proxies de API desde cualquiera de tus proyectos de Google Cloud mediante Private Service Connect (PSC).

PSC permite la conexión privada entre un productor de servicios (Apigee) y un consumidor de servicios (el proyecto de VPC emparejado u otros proyectos de Cloud que controles). Con este método, las solicitudes pasan por un punto final de servicio o por un balanceador de carga interno regional hasta un único punto de vinculación, denominado vinculación de servicio. Esta configuración permite que tus clientes internos envíen solicitudes de proxy de API de Apigee desde cualquier máquina con conexión de red.

Externo con PSC

Permite el acceso externo a tus proxies de API mediante Private Service Connect (PSC).

Usa Private Service Connect (PSC) para habilitar la conexión privada entre un productor de servicios (Apigee) y un consumidor de servicios (el proyecto de VPC emparejado u otros proyectos de Cloud que controles). Con este método, las solicitudes pasan por un balanceador de carga externo global o por un balanceador de carga externo regional a un único punto de acoplamiento, denominado acoplamiento de servicio. Esta configuración te permite enviar solicitudes de proxy de API de Apigee desde cualquier máquina con conexión de red.

Cada uno de estos métodos de enrutamiento se presenta en una pestaña de las instrucciones que se indican a continuación.

Rutas internas (PSC)

En esta sección se explica cómo permitir solo el acceso interno a tus proxies de API desde cualquiera de tus proyectos de Google Cloud mediante Private Service Connect (PSC).

Tienes dos opciones para configurar el acceso interno con PSC:

  • Punto final de servicio: las solicitudes pasan por un punto final de servicio a un único punto de vinculación, llamado vinculación de servicio.
  • Balanceador de carga regional interno: las solicitudes pasan por un balanceador de carga HTTP(S) interno regional. Consulta también Balanceo de carga global y regional.

Selecciona la pestaña correspondiente a tu configuración y sigue los pasos:

Endpoint de servicio

Crear un endpoint de servicio de PSC para la vinculación de servicio

  1. Obtén la vinculación de servicio de la instancia de Apigee:
    curl -i -X GET -H "$AUTH" \
      "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

    En el siguiente ejemplo de salida, el valor serviceAttachment se muestra en negrita:

    {
      "instances": [
        {
          "name": "us-west1",
          "location": "us-west1",
          "createdAt": "1645731488019",
          "lastModifiedAt": "1646504754219",
          "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek",
          "state": "ACTIVE",
          "runtimeVersion": "1-7-0-20220228-190814",
          "consumerAcceptList": [
            "my-project"
          ],
          "serviceAttachment": "projects/bfac74a67a320c43a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw1"
        }
      ]
    }
  2. Crea un endpoint de servicio de PSC que apunte a la vinculación de servicio que has obtenido del cuerpo de la respuesta de la instancia en el paso anterior, tal como se explica en Crear un endpoint de Private Service Connect.
  3. Anota y recuerda la dirección IP del endpoint de servicio. Necesitarás la dirección IP más adelante para probar la configuración llamando a un proxy de API. (Por ejemplo: 10.138.0.2)

El aprovisionamiento de Apigee se ha completado. Ve a Despliega un proxy de ejemplo.

Balanceador de carga regional interno

Paso 8a: Configura las variables de entorno

En las instrucciones de esta sección se usan variables de entorno para hacer referencia a cadenas que se usan repetidamente. Asegúrate de haber definido las variables en Definir variables de entorno.

Además, define las siguientes variables de entorno:

  • Define las siguientes variables de entorno en tu terminal de comandos:
    NEG_NAME=YOUR_NEG_NAME"
    TARGET_SERVICE=YOUR_TARGET_SERVICE"
    NETWORK_NAME=YOUR_NETWORK_NAME"
    SUBNET_NAME=YOUR_SUBNET_NAME"

    Donde:

    • NEG_NAME: nombre del grupo de endpoints de red.
    • TARGET_SERVICE: el archivo adjunto de servicio al que quieras conectarte. Por ejemplo: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
    • NETWORK_NAME: (Opcional) Nombre de la red en la que se crea el NEG. Si omite este parámetro, se usará la red del proyecto default.
    • SUBNET_NAME: nombre de la subred usada para la conectividad privada con el productor. El tamaño de la subred puede ser pequeño: el NEG de PSC solo necesita una IP de la subred. En Apigee, solo se necesita un NEG de PSC por región. Las subredes se pueden compartir y usar en VMs u otras entidades. Si no se especifica ninguna subred, los endpoints de red pueden pertenecer a cualquier subred de la región en la que se cree el grupo de endpoints de red.
  • Paso 8b: Crea una subred de solo proxy

    gcloud compute networks subnets create testproxyonlysubnet \
      --purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE --region=$RUNTIME_REGION --network=$NETWORK_NAME \
      --range=100.0.0.0/24 --project=$PROJECT_ID

    Paso 8c: Crea un grupo de endpoints de red (NEG)

    1. Obtén el adjunto de servicio de la instancia que has creado anteriormente:
      curl -i -X GET -H "$AUTH" \
      "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

      En el siguiente ejemplo de salida, el valor serviceAttachment se muestra en negrita:

      {
      "instances": [
        {
          "name": "us-west1",
          "location": "us-west1",
          "createdAt": "1645731488019",
          "lastModifiedAt": "1646504754219",
          "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek",
          "state": "ACTIVE",
          "runtimeVersion": "1-7-0-20220228-190814",
          "consumerAcceptList": [
            "my-project"
          ],
          "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7"
        }
      ]
      }
    2. Crea un NEG de Private Service Connect que apunte a la vinculación de servicio que has obtenido del cuerpo de respuesta de la instancia en el paso anterior.

      gcloud compute network-endpoint-groups create $NEG_NAME \
      --network-endpoint-type=private-service-connect \
      --psc-target-service=$TARGET_SERVICE \
      --region=$RUNTIME_LOCATION \
      --project=$PROJECT_ID

    Paso 8d: Configura el balanceador de carga interno regional

    1. Reserva una dirección IPv4 interna para el balanceador de carga.
      gcloud compute addresses create ADDRESS_NAME \
      --ip-version=IPV4 --subnet=$SUBNET_NAME \
        --region=$RUNTIME_LOCATION --project=$PROJECT_ID

      Sustituye ADDRESS_NAME por el nombre del recurso de dirección IP.

      Ejecuta este comando para ver la dirección IP reservada:

      gcloud compute addresses describe ADDRESS_NAME \
      --format="get(address)" --region=RUNTIME_LOCATION --project=$PROJECT_ID
    2. Crea un servicio de backend para el NEG.
      gcloud compute backend-services create BACKEND_SERVICE_NAME \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --protocol=HTTPS \
      --region=$RUNTIME_REGION \
      --project=$PROJECT_ID
    3. Sustituye BACKEND_SERVICE_NAME por el nombre del servicio de backend.

    4. Añade el NEG al servicio de backend.
      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
      --network-endpoint-group=NEG_NAME \
      --region=$RUNTIME_LOCATION \
      --project=$PROJECT_ID

      Haz los cambios siguientes:

      • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
      • NEG_NAME: el nombre del grupo de endpoints de red.
    5. Debes tener un recurso de certificado SSL para usarlo en el proxy de destino HTTPS.

      Usa este comando para crear un recurso de certificado SSL autogestionado. Para crear un certificado SSL autogestionado, necesitas un archivo de clave privada local y un archivo de certificado local. Si necesitas crear estos archivos, consulta el paso 1 de cómo usar certificados SSL autogestionados.

      gcloud compute ssl-certificates create CERTIFICATE \
      --certificate LB_CERT \
      --private-key LB_PRIVATE_KEY
      --region=RUNTIME_LOCATION --project=$PROJECT_ID

      Haz los cambios siguientes:

      • CERTIFICATE: un nombre para el certificado.
      • LB_CERT: la ruta al archivo de certificado con formato PEM de tu certificado autogestionado.
      • LB_PRIVATE_KEY: la ruta al archivo de clave privada con formato PEM de tu certificado autogestionado.
    6. Crea un mapa de URLs para el balanceador de carga.

      Un mapa de URLs debe hacer referencia a un servicio de backend predeterminado. Define como predeterminado el servicio de backend que acabas de crear.

      gcloud compute url-maps create URL_MAP_NAME \
          --default-service=DEFAULT_BACKEND_SERVICE_NAME \
          --global --project=$PROJECT_ID

      Haz los cambios siguientes:

      • URL_MAP_NAME: nombre del mapa de URLs.
      • DEFAULT_BACKEND_SERVICE_NAME: el nombre del servicio de backend predeterminado del balanceador de carga. El valor predeterminado se usa cuando ninguna regla de host coincide con el nombre de host solicitado.
    7. Usa el recurso de certificado SSL para crear un proxy HTTPS de destino.

      gcloud compute target-https-proxies create PROXY_NAME \
      --url-map=URL_MAP_NAME \
      --ssl-certificates=CERTIFICATE \
      --region=$RUNTIME_LOCATION --project=$PROJECT_ID

      Haz los cambios siguientes:

      • PROXY_NAME: nombre del proxy HTTPS de destino.
      • URL_MAP_NAME: nombre del mapa de URLs.
      • CERTIFICATE: el nombre del recurso de certificado.
    8. Crea la regla de reenvío.
      gcloud compute forwarding-rules create FWD_RULE \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --address=ADDRESS_NAME \
      --target-https-proxy=PROXY_NAME \
      --ports=443 \
      --target-https-proxy-region=$RUNTIME_REGION \
      --region=$RUNTIME_REGION
      --project=$PROJECT_ID

      Haz los cambios siguientes:

      • FWD_RULE: el nombre de la regla de reenvío.
      • ADDRESS_NAME: el recurso de dirección IP que has reservado para usarlo en la regla de reenvío.
      • PROXY_NAME: nombre del proxy HTTPS de destino.

    El aprovisionamiento de Apigee se ha completado. Ve a Despliega un proxy de ejemplo.

    Enrutamiento externo (PSC)

    En esta sección se describe cómo configurar el enrutamiento externo mediante Private Service Connect (PSC) para permitir la comunicación entre Apigee y las VPCs que controlas. Debes hacerlo antes de poder enviar una solicitud desde un cliente externo a tu instancia de tiempo de ejecución de Apigee.

    Paso 8b: Crea un NEG y configura el balanceador de carga

    Puedes crear un balanceador de carga global o regional.

    Balanceador de carga externo global

    Configura un balanceador de carga HTTP(S) externo global (con el esquema de balanceo de carga definido como EXTERNAL_MANAGED).

    Aunque el NEG de Private Service Connect es regional, el resto de los componentes de balanceo de carga de esta configuración son globales.

    1. Asegúrate de haber definido las variables de entorno en Definir variables de entorno.
    2. Obtén el adjunto de servicio de la instancia que has creado anteriormente:
      curl -i -X GET -H "$AUTH" \
            "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

      En el siguiente ejemplo de salida, el valor serviceAttachment se muestra en negrita:

      {
            "instances": [
              {
                "name": "us-west1",
                "location": "us-west1",
                "host": "10.82.192.2",
                "port": "443",
                "createdAt": "1645731488019",
                "lastModifiedAt": "1646504754219",
                "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek",
                "state": "ACTIVE",
                "peeringCidrRange": "SLASH_22",
                "runtimeVersion": "1-7-0-20220228-190814",
                "ipRange": "10.82.192.0/22,10.82.196.0/28",
                "consumerAcceptList": [
                  "875609189304"
                ],
                "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7"
              }
            ]
          }
    3. Crea un NEG de Private Service Connect que apunte a la vinculación de servicio que has obtenido del cuerpo de respuesta de la instancia en el paso anterior.

          gcloud compute network-endpoint-groups create $NEG_NAME \
            --network-endpoint-type=private-service-connect \
            --psc-target-service=$TARGET_SERVICE \
            --region=$RUNTIME_LOCATION \
            --network=NETWORK_NAME \
            --subnet=SUBNET_NAME \
            --project=$PROJECT_ID
          

      Haz los cambios siguientes:

      • NETWORK_NAME: (Opcional) Nombre de la red en la que se crea el NEG. Si omite este parámetro, se usará la red del proyecto default.
      • SUBNET_NAME: nombre de la subred usada para la conectividad privada con el productor. El tamaño de la subred puede ser pequeño: el NEG de PSC solo necesita una IP de la subred. En Apigee, solo se necesita un NEG de PSC por región. Las subredes se pueden compartir y usar en VMs u otras entidades. Si no se especifica ninguna subred, los endpoints de red pueden pertenecer a cualquier subred de la región en la que se cree el grupo de endpoints de red.
      • PROJECT_ID El proyecto de Cloud que ya está asociado a tu organización de Apigee o un proyecto de Cloud incluido en el consumerAcceptlist cuando se creó la instancia de tiempo de ejecución de Apigee.
    4. Reserva una dirección IPv4 externa global para el balanceador de carga.
      gcloud compute addresses create ADDRESS_NAME \
        --ip-version=IPV4 --global --project=$PROJECT_ID

      Sustituye ADDRESS_NAME por el nombre del recurso de dirección IP.

      Ejecuta este comando para ver la dirección IP reservada:

      gcloud compute addresses describe ADDRESS_NAME \
        --format="get(address)" --global --project=$PROJECT_ID
    5. Crea un servicio de backend para el NEG.
      gcloud compute backend-services create BACKEND_SERVICE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=HTTPS \
        --global --project=$PROJECT_ID
    6. Sustituye BACKEND_SERVICE_NAME por el nombre del servicio de backend.

    7. Añade el servicio de backend al NEG.
      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
        --network-endpoint-group=NEG_NAME \
        --network-endpoint-group-region=$REGION \
        --global --project=$PROJECT_ID

      Haz los cambios siguientes:

      • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
      • NEG_NAME: el nombre del grupo de endpoints de red.
      • REGION: la región del grupo de puntos finales de red.
    8. Crea un mapa de URLs para el balanceador de carga.

      Un mapa de URLs debe hacer referencia a un servicio de backend predeterminado. Define como predeterminado el servicio de backend que acabas de crear.

      gcloud compute url-maps create URL_MAP_NAME \
        --default-service=DEFAULT_BACKEND_SERVICE_NAME \
        --global --project=$PROJECT_ID

      Haz los cambios siguientes:

      • URL_MAP_NAME: nombre del mapa de URLs.
      • DEFAULT_BACKEND_SERVICE_NAME: el nombre del servicio de backend predeterminado del balanceador de carga. El valor predeterminado se usa cuando ninguna regla de host coincide con el nombre de host solicitado.
    9. Crea el proxy HTTPS de destino.

      Debes tener un recurso de certificado SSL para usarlo en el proxy HTTPS de destino. Puedes crear un recurso de certificado SSL con un certificado SSL gestionado por Google o con un certificado SSL autogestionado. Te recomendamos que uses certificados gestionados por Google, ya que Google Cloud los obtiene, gestiona y renueva automáticamente.

      Para crear un certificado gestionado por Google, debes tener un dominio.

      Usa este comando para crear un recurso de certificado SSL gestionado por Google:

      gcloud compute ssl-certificates create CERTIFICATE \
        --domains DOMAIN --project=$PROJECT_ID

      Haz los cambios siguientes:

      • CERTIFICATE: un nombre para el certificado.
      • DOMAIN: el nombre de dominio de tu balanceador de carga.

      Usa este comando para crear un recurso de certificado SSL autogestionado. Para crear un certificado SSL autogestionado, necesitas un archivo de clave privada local y un archivo de certificado local. Si necesitas crear estos archivos, consulta el paso 1 para usar certificados SSL autogestionados.

      gcloud compute ssl-certificates create CERTIFICATE \
        --certificate LB_CERT \
        --private-key LB_PRIVATE_KEY --project=$PROJECT_ID

      Haz los cambios siguientes:

      • CERTIFICATE: un nombre para el certificado.
      • LB_CERT: la ruta al archivo de certificado con formato PEM de tu certificado autogestionado.
      • LB_PRIVATE_KEY: la ruta al archivo de clave privada con formato PEM de tu certificado autogestionado.

      Usa el recurso de certificado SSL para crear un proxy HTTPS de destino.

      gcloud compute target-https-proxies create PROXY_NAME \
        --url-map=URL_MAP_NAME \
        --ssl-certificates=CERTIFICATE --project=$PROJECT_ID

      Haz los cambios siguientes:

      • PROXY_NAME: nombre del proxy HTTPS de destino.
      • URL_MAP_NAME: nombre del mapa de URLs.
      • CERTIFICATE: el nombre del recurso de certificado.
    10. Crea la regla de reenvío.
      gcloud compute forwarding-rules create FWD_RULE \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=PREMIUM \
        --address=ADDRESS_NAME \
        --target-https-proxy=PROXY_NAME \
        --ports=443 \
        --global --project=$PROJECT_ID

      Haz los cambios siguientes:

      • FWD_RULE: el nombre de la regla de reenvío.
      • ADDRESS_NAME: el recurso de dirección IP que has reservado para usarlo en la regla de reenvío.
      • PROXY_NAME: nombre del proxy HTTPS de destino.

    El aprovisionamiento de Apigee se ha completado. Ve a Despliega un proxy de ejemplo.

    LB externo regional

    Configura un balanceador de carga HTTP(S) externo regional. Consulta también la descripción general de los balanceadores de carga HTTP y HTTPS externos.

    1. Asegúrate de haber definido las variables en Definir variables de entorno.
    2. Crea una subred de solo proxy:
      gcloud compute networks subnets create SUBNET_NAME \
        --purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE \
        --region=$RUNTIME_LOCATION --network=NETWORK_NAME \
        --range=100.0.0.0/24 --project=$PROJECT_ID
      • Sustituye SUBNET_NAME por el nombre de la subred.
      • (Opcional) Sustituye NETWORK_NAME Nombre de la red en la que se crea la subred. Si omite este parámetro, se usará la red del proyecto predeterminada.
    3. Obtén el adjunto de servicio de la instancia que has creado anteriormente:
      curl -i -X GET -H "$AUTH" \
              "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

      En el siguiente ejemplo de salida, el valor serviceAttachment se muestra en negrita:

      {
              "instances": [
                {
                  "name": "us-west1",
                  "location": "us-west1",
                  "host": "10.82.192.2",
                  "port": "443",
                  "createdAt": "1645731488019",
                  "lastModifiedAt": "1646504754219",
                  "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek",
                  "state": "ACTIVE",
                  "peeringCidrRange": "SLASH_22",
                  "runtimeVersion": "1-7-0-20220228-190814",
                  "ipRange": "10.82.192.0/22,10.82.196.0/28",
                  "consumerAcceptList": [
                    "875609189304"
                  ],
                  "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7"
                }
              ]
            }
    4. Crea un grupo de endpoints de red.
      gcloud compute network-endpoint-groups create NEG_NAME \
              --network-endpoint-type=private-service-connect \
              --psc-target-service=TARGET_SERVICE \
              --region=$RUNTIME_LOCATION --project=$PROJECT_ID

      Haz los cambios siguientes:

      • NEG_NAME: el nombre del grupo de endpoints de red.
      • TARGET_SERVICE: el nombre del archivo adjunto de servicio al que quieras conectarte. Por ejemplo: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
    5. Crea un servicio de backend para el NEG.
      gcloud compute backend-services create BACKEND_SERVICE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=HTTPS \
        --region=$RUNTIME_LOCATION  \
        --project=$PROJECT_ID
    6. Sustituye BACKEND_SERVICE_NAME por el nombre del servicio de backend.

    7. Añade el servicio de backend al NEG.
      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
        --network-endpoint-group=NEG_NAME \
        --region=$RUNTIME_LOCATION  \
        --project=$PROJECT_ID

      Haz los cambios siguientes:

      • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
      • NEG_NAME: el nombre del grupo de endpoints de red.
    8. Crea un mapa de URLs para el balanceador de carga.

      Un mapa de URLs debe hacer referencia a un servicio de backend predeterminado. Define como predeterminado el servicio de backend que acabas de crear.

      gcloud compute url-maps create URL_MAP_NAME \
        --default-service=DEFAULT_BACKEND_SERVICE_NAME \
        --region=$RUNTIME_LOCATION  \
        --project=$PROJECT_ID

      Haz los cambios siguientes:

      • URL_MAP_NAME: nombre del mapa de URLs.
      • DEFAULT_BACKEND_SERVICE_NAME: el nombre del servicio de backend predeterminado del balanceador de carga. El valor predeterminado se usa cuando ninguna regla de host coincide con el nombre de host solicitado.
    9. Crea el proxy HTTPS de destino.

      Debes tener un recurso de certificado SSL para usarlo en el proxy HTTPS de destino.

      Usa este comando para crear un recurso de certificado SSL autogestionado. Para crear un certificado SSL autogestionado, necesitas un archivo de clave privada local y un archivo de certificado local. Si necesitas crear estos archivos, consulta el paso 1 para usar certificados SSL autogestionados.

      gcloud compute ssl-certificates create CERTIFICATE \
        --certificate LB_CERT \
        --private-key LB_PRIVATE_KEY --region=$RUNTIME_LOCATION \
        --project=$PROJECT_ID

      Haz los cambios siguientes:

      • CERTIFICATE: un nombre para el certificado.
      • LB_CERT: la ruta al archivo de certificado con formato PEM de tu certificado autogestionado.
      • LB_PRIVATE_KEY: la ruta al archivo de clave privada con formato PEM de tu certificado autogestionado.
    10. Añade el dominio al grupo de entornos de Apigee que se ha creado para ti. El nombre del grupo de entornos es eval-group:
      curl "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group" \
            -H "$AUTH" \
            -X PATCH \
            -H "Content-Type:application/json" \
            -d '{
              "hostnames":["'"DOMAIN"'"]
            }'
    11. Comprueba el estado de la operación del grupo de entornos:
      curl -H "$AUTH" \
            "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group/attachments"
          
    12. Usa el recurso de certificado SSL para crear un proxy HTTPS de destino.

      gcloud compute target-https-proxies create PROXY_NAME \
        --url-map=URL_MAP_NAME --region=$RUNTIME_LOCATION \
        --ssl-certificates=CERTIFICATE --project=$PROJECT_ID

      Haz los cambios siguientes:

      • PROXY_NAME: nombre del proxy HTTPS de destino.
      • URL_MAP_NAME: nombre del mapa de URLs.
      • CERTIFICATE: el nombre del recurso de certificado.
    13. Reserva una dirección externa regional para el balanceador de carga. Ten en cuenta que el nivel de red debe ser STANDARD.
      gcloud compute addresses create ADDRESS_NAME \
            --region=$RUNTIME_LOCATION --network-tier=STANDARD \
            --project=$PROJECT_ID

      Sustituye ADDRESS_NAME por el nombre del recurso de dirección IP.

      Ejecuta este comando para ver la dirección IP reservada:

      gcloud compute addresses describe ADDRESS_NAME \
            --format="get(address)" --region=$RUNTIME_LOCATION \
            --project=$PROJECT_ID
    14. Crea la regla de reenvío.
      gcloud compute forwarding-rules create FWD_RULE \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=STANDARD \
        --address=ADDRESS_NAME \
        --target-https-proxy=PROXY_NAME \
        --ports=443  --region=$RUNTIME_LOCATION \
        --target-https-proxy-region=$RUNTIME_LOCATION --project=$PROJECT_ID

      Haz los cambios siguientes:

      • FWD_RULE: el nombre de la regla de reenvío.
      • ADDRESS_NAME: el recurso de dirección IP que has reservado para usarlo en la regla de reenvío.
      • PROXY_NAME: nombre del proxy HTTPS de destino.

    El aprovisionamiento de Apigee se ha completado. Vaya a Llamar a la proxy de API de ejemplo.

    Paso 5: Llama al proxy de API de ejemplo

    Se ha creado y desplegado un proxy de API llamado hello-world durante el aprovisionamiento. En este paso, probarás la nueva organización de evaluación llamando al proxy.

    Llamar al proxy de API con enrutamiento interno

    Si has elegido la opción enrutamiento interno con un endpoint de servicio en el paso 5, sigue los pasos que se indican en Llamar a un proxy de API con acceso solo para uso interno.

    Llamar al proxy de API con enrutamiento externo

    Si has elegido una opción de enrutamiento externo en el paso 5, sigue los pasos de esta sección.

    1. Configura una entrada DNS para tu dominio. Aquí tienes dos formas de hacerlo:
      • En tu registrador, crea un registro A que apunte a tu dominio. Por ejemplo, si tu dominio es sales.example.com y la IP es 10.23.0.2, dirige el registro de sales.example.com a la dirección 10.23.0.2.

        Ejecuta este comando para ver la dirección IP reservada:

        gcloud compute addresses describe ADDRESS_NAME \
            --format="get(address)" --region=$RUNTIME_LOCATION \
            --project=$PROJECT_ID
      • Usa Cloud DNS de Google para asignar una URL a una dirección IP.
    2. Confirma que el proxy hello-world se ha implementado:
      curl -i -H "$AUTH" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/eval/apis/hello-world/revisions/1/deployments"
    3. Llama al proxy de API:

      Envía una solicitud al proxy de la API desde cualquier máquina con conexión de red ejecutando el siguiente comando:

      curl -i -H "Host: DOMAIN" \
        https://DOMAIN/hello-world

      Donde DOMAIN es el dominio que has incluido en el certificado y que has añadido al grupo de entornos, tal como se explica en el paso 5: Configura el enrutamiento. Si es necesario, puedes usar esta API para obtener el valor DOMAIN del grupo de entornos:

      curl -i -H "$AUTH" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups"

      Si la operación se realiza correctamente, el proxy de API de ejemplo devuelve la siguiente respuesta:

      Hello, Guest!

      Consejos para solucionar problemas:

      Si se produce un error de handshake, comprueba el estado del certificado SSL. Para obtener información sobre cómo solucionar problemas de certificados autogestionados y gestionados por Google, consulta Solucionar problemas de certificados SSL.

      Asegúrate de que el dominio registrado tenga un registro A que apunte a la dirección IPv4 externa global creada en el paso 5. Ejecuta este comando para ver la dirección IP reservada:

      gcloud compute addresses describe ADDRESS_NAME \
                    --format="get(address)" --region=$RUNTIME_LOCATION \
                    --project=$PROJECT_ID

      Si no puedes resolver la configuración del dominio, prueba a llamar al proxy con este comando:

      curl  -H Host:DOMAIN --resolve \
        DOMAIN:443:EXTERNAL_IP_ADDRESS  \
        https://DOMAIN:443/hello-world -k

    Siguiente: para obtener más información sobre cómo crear y desplegar proxies de APIs, consulta el artículo Información general sobre cómo crear tu primer proxy de APIs.