Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda> NAT Gateway> Referencia de la API> Ejemplos de aplicación> Creación de una regla SNAT mediante una subred específica
Actualización más reciente 2023-01-11 GMT+08:00

Creación de una regla SNAT mediante una subred específica

Escenarios

Esta sección describe cómo crear una regla de SNAT llamando a las API. Para obtener más información sobre cómo llamar a las API, consulta Llamar a las APIs.

Prerrequisitos

  • Ha creado una VPC y una subred. Para obtener más información, consulte Creación de una VPC y una subred para un ECS.
  • Asegúrese de que la VPC no tiene una ruta predeterminada. La región CN North-Beijing4 no tiene este requisito.
  • Puede crear una regla sólo cuando status del gateway de NAT es ACTIVE y admin_state_up del administrador deel gateway de NAT es True.
  • Si utiliza un token para la autenticación, debe obtener el token y agregar X-Auth-Token al encabezado de solicitud cuando realice una llamada a la API. Obtén el token haciendo referencia a Autenticación.

El token obtenido de IAM es válido por solo 24 horas. Si desea utilizar un token para la autenticación, puede almacenarlo en caché para evitar llamadas frecuentes.

Procedimiento

  1. Crear un gateway de NAT.

    1. Determine la VPC que se va a utilizar.
      • Consulte las VPC.

        Formato de URI: GET /v1/{project_id}/vpcs

        Para obtener más información, consulte Consulta de las VPC.

      • Seleccione una VPC que no tenga una ruta predeterminada y tome nota del ID de VPC.
    2. Determine la subred en la VPC que se va a utilizar.
      • Consulte las subredes de la VPC.

        Formato de URI: GET /v1/{project_id}/subnets?vpc_id={vpc_id}

        Para obtener más información, consulte Consulta de subredes.

      • Seleccione una subred según los requisitos de servicio y anote el ID de subred.
    3. Crear un gateway de NAT.
      • API

        Formato de URI: POST /v2/{project_id}/nat_gateways

        Para obtener más información, consulte Creación de un gateway de NAT.

      • Ejemplo de la solicitud

        POST https://{Endpoint}/v2/27e25061336f4af590faeabeb7fcd9a3/nat_gateways

        Obtenga {endpoint} de Regiones y puntos de conexión.

      • Ejemplo de la respuesta
      {  
          "nat_gateway": {  
              "router_id": "d84f345c-80a1-4fa2-a39c-d0d397c3f09a",  
              "status": "PENDING_CREATE",  
              "description": "my nat gateway 01",  
              "admin_state_up": true,  
              "tenant_id": "27e25061336f4af590faeabeb7fcd9a3",  
              "created_at": "2017-11-18 07:34:32.203044",  
              "spec": "1",  
              "internal_network_id": "89d66639-aacb-4929-969d-07080b0f9fd9",  
              "id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8",  
              "name": "nat_001", 
              "dnat_rules_limit": "200", 
              "snat_rule_public_ip_limit": "20", 
              "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2", 
              "billing_info": "" 
          }  
      }
    4. Asegurarse de que los gateway de NAT se crean correctamente y están en el estado activo.

      API

      Formato de URI: GET /v2/{project_id}/nat_gateways/{nat_gateway_id}

      Para obtener más información, consulte Consulta de detalles sobre un gateway de NAT especificado.

    5. Anotar el ID del gateway de NAT y el valor de internal_network_id.

  2. Determinar la EIP que se va a utilizar.

    1. Consultar EIPs.

      API

      Formato de URI: GET /v1/{project_id}/publicips

      Para obtener más información, consulte Consulta de los EIP.

    2. Seleccione una EIP en función de los requisitos de servicio y anote el ID de la EIP.

  3. Crear una regla de SNAT.

    • API

      Formato de URI: POST /v2/{project_id}/snat_rules

      Para obtener más información, consulte Creación de una regla de SNAT.

    • Ejemplo de la solicitud

      POST https://{Endpoint}/v2/27e25061336f4af590faeabeb7fcd9a3/snat_rules

      Obtenga {endpoint} de Regiones y puntos de conexión.

      Cuerpo:

      {
          "snat_rule": {
              "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8",
              "network_id": "eaad9cd6-2372-4be1-9535-9bd37210ae7b",
              "source_type": 0,
              "floating_ip_id": "bdc10a4c-d81a-41ec-adf7-de857f7c812a",
              "description": "my snat rule 01"
          }
      }
    • Ejemplo de la respuesta
      {
          "snat_rule": {
              "floating_ip_id": "bdc10a4c-d81a-41ec-adf7-de857f7c812a",
              "status": "PENDING_CREATE",
              "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8",
              "admin_state_up": true,
              "network_id": "eaad9cd6-2372-4be1-9535-9bd37210ae7b",
              "description": "",
              "source_type": 0,
              "tenant_id": "27e25061336f4af590faeabeb7fcd9a3",
              "created_at": "2017-11-18 07:54:21.665430",
              "id": "5b95c675-69c2-4656-ba06-58ff72e1d338",
              "floating_ip_address": "5.21.11.226"
          }
      }

  4. Comprobar que la regla de SNAT se ha creado correctamente.

    • API

      Formato de URI: GET /v2/{project_id}/snat_rules/{snat_rule_id}

      Para obtener más información, consulte Consulta de detalles sobre una regla de SNAT especificada.

    • Ejemplo de la solicitud

      GET https://{Endpoint}/v2/27e25061336f4af590faeabeb7fcd9a3/snat_rules/5b95c675-69c2-4656-ba06-58ff72e1d338

      Obtenga {endpoint} de Regiones y puntos de conexión.

    • Ejemplo de la respuesta
      {
          "snat_rule": {
              "floating_ip_id": "bdc10a4c-d81a-41ec-adf7-de857f7c812a",
              "status": "ACTIVE",
              "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8",
              "admin_state_up": true,
              "network_id": "eaad9cd6-2372-4be1-9535-9bd37210ae7b",
              "source_type": 0,
              "tenant_id": "27e25061336f4af590faeabeb7fcd9a3",
              "created_at": "2017-11-18 07:54:21.665430",
              "id": "5b95c675-69c2-4656-ba06-58ff72e1d338",
              "floating_ip_address": "5.21.11.226",
              "freezed_ip_address": "",
              "description": "my snat rule 01"
          }
      }