Asignación de direcciones IPv4 y IPv6 a gateways de API

Descubra cómo asignar direcciones IPv4 y IPv6 a gateways de API con el servicio API Gateway.

Puede utilizar API Gateway para crear:

  • Gateways de API de pila única IPv4 públicos y privados, activados solo para IPv4. (Comportamiento por defecto) Los clientes de API se pueden conectar a gateways de API mediante direcciones IPv4 efímeras. Además, los gateways de API de pila única IPv4 públicos también soportan el uso de direcciones IPv4 públicas reservadas (consulte Asignación de direcciones IPv4 públicas reservadas a gateways de API).
  • Gateways de API de doble pila IPv4/IPv6 públicos y privados, activados para IPv4 y IPv6. Los clientes de API pueden conectarse a gateways de API mediante direcciones IPv4 y IPv6 efímeras. Opcionalmente, puede especificar una dirección IPv6 que utilizar para el gateway de API. Los gateways de API de doble pila públicos IPv4/IPv6 también soportan el uso de direcciones IPv4 públicas reservadas (consulte Asignación de direcciones IPv4 públicas reservadas a gateways de API).
  • Gateways de API de pila única IPv6 públicos y privados, activados solo para IPv6. Los clientes de API pueden conectarse a gateways de API mediante direcciones IPv6 efímeras. Opcionalmente, puede especificar una dirección IPv6 que utilizar para el gateway de API.

El término 'gateway de API activado para IPv4' describe correctamente tanto un gateway de API de pila única IPv4 como un gateway de API de pila doble IPv4/IPv6. Del mismo modo, el término 'gateway de API activado para IPv6' describe correctamente tanto un gateway de API de pila única IPv6 como un gateway de API de pila doble IPv4/IPv6.

Un gateway de API se comunica con sus backends mediante las direcciones IP del gateway de API, por lo que se debe poder acceder a los backends del gateway de API a través de ese protocolo IP. Por ejemplo, para un gateway de API de pila única IPv6, si un backend solo acepta tráfico IPv4, la comunicación entre el gateway de API y el backend fallará. Para un gateway de API de pila doble, el gateway de API utiliza IPv4 o IPv6 para la comunicación de backend según esté disponible.

Al crear un gateway de API, la VCN y la subred existentes que especifique para el gateway de API deben ser compatibles con la familia de direcciones del gateway de API. Un gateway de API de pila única IPv4 es compatible tanto con una subred de pila única IPv4 como con una subred de pila doble IPv4/IPv6. Un gateway de API de doble pila IPv4/IPv6 solo es compatible con una subred de doble pila IPv4/IPv6. Un gateway de API de pila única IPv6 solo es compatible con una subred de pila doble IPv4/IPv6.

Al crear un gateway de API de pila doble IPv4/IPv6 o un gateway de API de pila única IPv6, la subred activada para IPv6 que especifique para el gateway de API debe tener una regla de entrada con estado (definida en un grupo de seguridad de red o una lista de seguridad) para permitir el tráfico IPv6, como:

  • Estado: Con estado
  • Tipo de origen: CIDR
  • CIDR de origen: ::/0
  • Protocolo IP: TCP
  • Rango de puertos de origen: todos
  • Rango de puertos de destinos: 443

Para obtener más información sobre las direcciones IPv6 en una VCN, consulte IPv6 Addresses en la documentación del servicio Networking.

Al crear un nuevo gateway de API, utilice los atributos del recurso de gateway de API para especificar la familia de direcciones IP del gateway de API y si desea crear un único gateway de API de pila o de pila doble de la siguiente manera:

  • ipMode Defina este atributo en:
    • IPV4 si desea que el nuevo gateway de API sea un gateway de API de pila única IPv4.
    • DUAL_STACK si desea que el nuevo gateway de API sea un gateway de API de doble pila IPv4/IPv6.
    • IPV6 si desea que el nuevo gateway de API sea un gateway de API de pila única IPv6.

    Si no especifica un valor para el atributo ipMode durante la creación del gateway de API, el comportamiento por defecto es crear un gateway de pila única IPv4 con una dirección IPv4 efímera.

  • ipv4AddressConfiguration En el caso de un gateway de API con ipMode definido en IPV4 o en DUAL_STACK, utilice este atributo opcional para especificar los detalles de una dirección IPv4 para el nuevo gateway de API, mediante el siguiente campo:

    Si no especifica un valor para el atributo ipv4AddressConfiguration durante la creación de una única pila IPv4 o un gateway de API de doble pila IPv4/IPv6, el comportamiento por defecto es crear un gateway de API con una dirección IPv4 efímera.

  • ipv6AddressConfiguration En el caso de un gateway de API con ipMode definido en DUAL_STACK o IPV6, utilice este atributo opcional para especificar los detalles de una dirección IPv6 para el nuevo gateway de API mediante los siguientes campos:
    • addresses: utilice este campo para especificar opcionalmente una dirección IPv6 que utilizar para el gateway de API. Si no especifica una dirección IPv6, se genera una dirección IPv6. Tenga en cuenta que cada gateway de API debe tener una dirección IPv6 única en su subred. Si intenta asignar la misma dirección IPv6 a más de un gateway en una subred, la creación del gateway de API fallará.
    • subnetCidrs: si se han asignado varios prefijos IPv6 a la subred que especifique para un gateway de API, utilice este campo para especificar el prefijo IPv6 desde el que generar la dirección IPv6.

    Si no especifica un valor para el atributo ipv6AddressConfiguration durante la creación de una pila doble IPv4/IPv6 o un gateway de API de pila única IPv6, el comportamiento por defecto es crear un gateway de API con una dirección IPv6 efímera.

Tenga en cuenta que:

  • Una vez creado un gateway de API, no puede cambiar su atributo ipMode (la familia de direcciones IP del gateway de API y si se trata de una sola pila o de un gateway de API de doble pila), ni sus atributos ipv4AddressConfiguration y ipv6AddressConfiguration.
  • Puede activar gateways de API privada y gateways de API pública para el tráfico IPv6 (como gateways de API de pila única IPv6 o gateways de API de pila doble IPv4/IPv6).
  • Si crea una política de limitación de frecuencia y especifica que el umbral de número máximo de solicitudes se debe aplicar al número de solicitudes por cliente:
    • Para gateways de API activados para IPv4, el límite de frecuencia se basa en direcciones IPv4 de cliente de API individuales.
    • Para los gateways de API activados para IPv6, la limitación de frecuencia se basa en el prefijo IPv6 /64 del cliente de API en lugar de en la dirección completa. Los clientes de API que tienen el mismo prefijo IPv6 /64 se consideran el mismo cliente, con fines de limitación de frecuencia.

    Para obtener más información, consulte Limitación del número de solicitudes para backends de gateway de API.

  • Para los gateways de API activados para IPv6, el valor del límite interno Simultaneous connections per IP address que especifica el número máximo de conexiones simultáneas desde una única dirección IP a un gateway de API se basa en el prefijo IPv6 /64 del cliente de API en lugar de en la dirección completa. Para obtener más información, consulte Límites de invocación de gateway de API.
  • Solo puede crear gateways de API activados para IPv6 en dominios y regiones en los que las VCN soportan IPv6.

Requisitos para asignar direcciones IPv4 y IPv6 a gateways de API

Siempre que ya tenga los permisos de IAM necesarios para crear gateways de API de pila única IPv4 (incluido el permiso manage virtual-network-family), no se necesitan permisos adicionales para crear gateways de API de pila doble IPv4/IPv6 ni gateways de API de pila única IPv6.

Creación de gateways de API de pila única IPv4

La creación de gateways de API de pila única IPv4 públicos y privados es el comportamiento por defecto. Puede crear gateways de API de pila única IPv4 públicos y privados mediante la consola, la API y la CLI (consulte Creación de un gateway de API).

También puede utilizar la CLI o la API para crear gateways de pila única IPv4 públicos con direcciones IPv4 públicas reservadas (consulte Asignación de direcciones IPv4 públicas reservadas a gateways de API).

Al utilizar la CLI, la sintaxis del comando es la siguiente:

oci api-gateway gateway create --display-name "<gateway-name>" --compartment-id "<compartment-ocid>" --endpoint-type "<PUBLIC | PRIVATE>" --subnet-id "<subnet-ocid>" --ip-mode "IPV4" [OPTIONS]

Por ejemplo:

  • Para crear un gateway de API de pila única IPv4 público con una dirección IPv4 efímera:

    oci api-gateway gateway create --display-name "my-ipv4-ss-apigw" --compartment-id "ocid1.compartment.oc1..aaaaaaaa7______ysq" --endpoint-type "PUBLIC" --subnet-id "ocid1.subnet.oc1.iad.aaaaaaaaz______rca" --ip-mode "IPV4"
  • Para crear un gateway de API de pila única IPv4 público con una dirección IPv4 pública reservada:

    oci api-gateway gateway create --display-name "my-ipv4-ss-apigw" --compartment-id "ocid1.compartment.oc1..aaaaaaaa7______ysq" --endpoint-type "PUBLIC" --subnet-id "ocid1.subnet.oc1.iad.aaaaaaaaz______rca" --ip-mode "IPV4" \
    --ipv4-address-configuration '{"reservedIpIds": ["ocid1.publicip.oc1.iad.aaaa______rb3a"]}'

    Para obtener más información sobre las direcciones IPv4 públicas reservadas, consulte Asignación de direcciones IPv4 públicas reservadas a gateways de API.

Creación de gateways de API de doble pila IPv4/IPv6

Puede crear gateways de API de doble pila IPv4/IPv6 públicos y privados mediante la CLI o la API (no puede utilizar la consola).

Al utilizar la CLI, la sintaxis del comando es la siguiente:

oci api-gateway gateway create --display-name "<gateway-name>" --compartment-id "<compartment-ocid>" --endpoint-type "<PUBLIC | PRIVATE>" --subnet-id "<subnet-ocid>" --ip-mode "DUAL_STACK" [OPTIONS]

Por ejemplo:

  • Para crear un gateway de API de doble pila pública IPv4/IPv6 con direcciones IPv4 y IPv6 efímeras:

    oci api-gateway gateway create --display-name "my-ds-apigw" --compartment-id "ocid1.compartment.oc1..aaaaaaaa7______ysq" --endpoint-type "PUBLIC" --subnet-id "ocid1.subnet.oc1.iad.aaaaaaaaz______rca" --ip-mode "DUAL_STACK"
  • Para crear un gateway de API de pila doble IPv4/IPv6 público con una dirección IPv4 efímera y una dirección IPv6 especificada manualmente:

    oci api-gateway gateway create --display-name "my-ds-apigw" --compartment-id "ocid1.compartment.oc1..aaaaaaaa7______ysq" --endpoint-type "PUBLIC" --subnet-id "ocid1.subnet.oc1.iad.aaaaaaaaz______rca" --ip-mode "DUAL_STACK" \
    --ipv6-address-configuration '{"addresses":["2001:db8:abcd:1234::1"]}'
  • Para crear un gateway de API de pila doble IPv4/IPv6 público con una dirección IPv4 pública reservada y una dirección IPv6 especificada manualmente:

    oci api-gateway gateway create --display-name "my-ds-apigw" --compartment-id "ocid1.compartment.oc1..aaaaaaaa7______ysq" --endpoint-type "PUBLIC" --subnet-id "ocid1.subnet.oc1.iad.aaaaaaaaz______rca" --ip-mode "DUAL_STACK" \
    --ipv4-address-configuration '{"reservedIpIds": ["ocid1.publicip.oc1.iad.aaaa______rb3a"]}' --ipv6-address-configuration '{"addresses":["2001:db8:abcd:1234::1"]}'

    Para obtener más información sobre las direcciones IPv4 públicas reservadas, consulte Asignación de direcciones IPv4 públicas reservadas a gateways de API.

Creación de gateways de API de pila única IPv6

Puede crear gateways de API de pila única IPv6 públicos y privados mediante la CLI o la API (no puede utilizar la consola).

Al utilizar la CLI, la sintaxis del comando es la siguiente:

oci api-gateway gateway create --display-name "<gateway-name>" --compartment-id "<compartment-ocid>" --endpoint-type "<PUBLIC | PRIVATE>" --subnet-id "<subnet-ocid>" --ip-mode "IPV6" [OPTIONS]

Por ejemplo:

  • Para crear un gateway de API de pila única publicIPv6 con una dirección IPv6 efímera:

    oci api-gateway gateway create --display-name "my-ipv6-ss-apigw" --compartment-id "ocid1.compartment.oc1..aaaaaaaa7______ysq" --endpoint-type "PUBLIC" --subnet-id "ocid1.subnet.123" --ip-mode "IPV6"
  • Para crear un gateway de API de pila única IPv6 público con una dirección IPv6 especificada manualmente:

    oci api-gateway gateway create --display-name "my-ipv6-ss-apigw" --compartment-id "ocid1.compartment.oc1..aaaaaaaa7______ysq" --endpoint-type "PUBLIC" --subnet-id "ocid1.subnet.123" --ip-mode "IPV6" \
    --ipv6-address-configuration '{"addresses":["2001:db8:abcd:1234::1"]}'