Aprovisionar IPs de NAT

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

Consulta la documentación de Apigee Edge.

En esta sección se describe cómo gestionar las IPs de NAT de las instancias de Apigee.

Apigee proporciona IPs efímeras e IPs dedicadas. En muchos casos, las IPs efímeras son suficientes. Si tu backend no requiere que se incluyan IPs en una lista de permitidas, no tendrás que gestionar las IPs de NAT y Apigee asignará automáticamente IPs efímeras para el tráfico de salida.

Si necesitas incluir IPs en una lista de permitidas, puedes reservar y activar IPs para que Apigee use IPs estáticas para el tráfico de salida.

Configurar el aprovisionamiento de IPs de NAT de Apigee

Para configurar el aprovisionamiento de IPs de NAT en tu instancia de Apigee, sigue estos pasos:

  1. Crea y rellena las siguientes variables de entorno:

    Variables

    PROJECT_ID=YOUR_PROJECT_ID
    ORG_ID=YOUR_ORG_ID
    INSTANCE_NAME=YOUR_INSTANCE_NAME
    NAT_ID=1st_NAT_IP_ID

    Ejemplo

    PROJECT_ID=apigee-saas-prod
    ORG_ID=apigee-saas-prod
    INSTANCE_NAME=prod-us-west1-instance1
    NAT_ID=nat-1

    Donde:

    • YOUR_PROJECT_ID es el ID del proyecto de Cloud que has creado como parte de los requisitos. Si no sabes cuál es el ID de tu proyecto, usa la consola de Cloud o el comando gcloud projects list para encontrarlo.
    • YOUR_ORG_ID es el ID de tu organización de Apigee.
    • YOUR_INSTANCE_NAME es el nombre de tu instancia de Apigee.
    • 1st_NAT_IP_ID es el nombre que asignas a esta dirección IP de NAT. Por ejemplo, nat-1. El valor de este parámetro no debe superar los 20 caracteres.
  2. Reserva una IP de NAT con los siguientes comandos:
    1. En la línea de comandos, obtén tus credenciales de autenticación gcloud, como se muestra en el siguiente ejemplo:

      TOKEN=$(gcloud auth print-access-token)

      Para comprobar que se ha rellenado el token, usa echo, como se muestra en el siguiente ejemplo:

      echo $TOKEN

      Debería mostrar tu token como una cadena codificada.

      Para obtener más información, consulta la descripción general de la herramienta de línea de comandos gcloud.

    2. El comando para reservar la IP de NAT devuelve la operación de larga duración. Por lo tanto, el comando que se muestra aquí asigna el resultado a una variable operation_name:
      operation_name=$(curl -H "Authorization: Bearer $TOKEN" \
        "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses" \
        -X POST -H "content-type:application/json" -d "{\"name\":\"${NAT_ID}\"}" | jq -r '.name')
      
    3. Sondea la operación de larga duración hasta que muestre el estado done: true ejecutando la siguiente solicitud:
      curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"
  3. Una vez completada la operación, activa la IP de NAT con los siguientes comandos:
    1. Activa la IP y asigna el nombre de la operación de larga duración a operation_name:
      operation_name=$(curl -H "Authorization: Bearer $TOKEN" \
        "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses/${NAT_ID}:activate" \
        -X POST -H "content-type:application/json" -d "{}" | jq -r '.name')
    2. Sondea la operación de larga duración hasta que muestre el estado done: true:
      curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"
  4. Repite este procedimiento con un nuevo nombre de IP de NAT para cada IP de NAT que necesites configurar.

Obtener IPs de NAT

Lista las IPs de NAT de una instancia con el siguiente comando:

curl -H "Authorization: Bearer $TOKEN" \
  "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses"

Un ejemplo de respuesta sería el siguiente:

{
  "natAddresses": [
    {
      "name": "nat-1",
      "ipAddress": "35.203.160.18",
      "state": "ACTIVE"
    },
    {
      "name": "nat-2",
      "ipAddress": "35.230.14.174",
      "state": "RESERVED"
    },
    {
      "name": "nat-3",
      "state": "CREATING"
    }
  ]
}

Estados de una IP de NAT

  • CREATING : La creación de la IP de NAT está pendiente. No está listo para usarse.
  • RESERVED: se ha creado la IP de NAT, pero no se ha usado. De esta forma, tienes la oportunidad de incluir esta IP en una lista de permitidas antes de activarla.
  • ACTIVE: la IP de NAT se usa para enviar tráfico de salida.
  • DELETING: Se está eliminando la IP de NAT.

Eliminar IPs de NAT

Puedes eliminar las IPs de NAT con el siguiente comando:

  1. Elimina la IP y asigna el resultado a "operation_name".
    operation_name=$(curl -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses/${NAT_ID}" \
      -X DELETE | jq -r '.name')
  2. Sondea la operación de larga duración hasta que muestre el estado done: true.
    curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"