Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Configuración de una API de API Gateway con integraciones privadas a través de la AWS CLI

Modo de enfoque
Configuración de una API de API Gateway con integraciones privadas a través de la AWS CLI - Amazon API Gateway

En el siguiente tutorial se muestra cómo utilizar la AWS CLI para crear un enlace de VPC y una integración privada. Los siguientes requisitos previos son necesarios:

Para configurar una API con integración privada a través de la AWS CLI
  1. Utilice el siguiente comando create-vpc-link para crear un VpcLink que apunte al equilibrador de carga de red especificado:

    aws apigateway create-vpc-link \ --name my-test-vpc-link \ --target-arns arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/net/my-vpclink-test-nlb/1234567890abcdef

    El resultado de este comando confirma la recepción de la solicitud y muestra el estado PENDING para VpcLink que se está creando.

    { "status": "PENDING", "targetArns": [ "arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/net/my-vpclink-test-nlb/1234567890abcdef" ], "id": "gim7c3", "name": "my-test-vpc-link" }

    API Gateway tarda de 2 a 4 minutos en completar la creación de VpcLink. Si la operación finaliza correctamente, el valor de status es AVAILABLE. Puede verificarlo llamando al siguiente comando get-vpc-link:

    aws apigateway get-vpc-link --vpc-link-id gim7c3

    Si se produce un error en la operación, obtendrá el estado FAILED y statusMessage contendrá el mensaje de error. Por ejemplo, si intenta crear un enlace VpcLink con un equilibrador de carga de red que ya está asociado a un punto de conexión de VPC, obtendrá lo siguiente en la propiedad statusMessage:

    "NLB is already associated with another VPC Endpoint Service"

    Después de que se cree VpcLink correctamente, puede crear una API e integrarla con el recurso de la VPC a través de VpcLink.

    Anote el valor de id del VpcLink recién creado. En este resultado de ejemplo, es gim7c3. Lo necesitará para configurar la integración privada.

  2. Utilice el siguiente comando create-rest-api para crear un recurso RestApi de API Gateway:

    aws apigateway create-rest-api --name 'My VPC Link Test'

    Anote el valor de id de RestApi y el valor de rootResourceId de RestApi del resultado devuelto. Necesitará este valor para realizar otras operaciones en la API.

    A continuación, cree una API con solo un método GET en el recurso raíz (/) e integre el método con el VpcLink.

  3. Utilice el siguiente comando put-method para crear el método GET /:

    aws apigateway put-method \ --rest-api-id abcdef123 \ --resource-id skpp60rab7 \ --http-method GET \ --authorization-type "NONE"

    Si no utiliza la integración de proxy con VpcLink, también debe configurar al menos un método de respuesta del código de estado 200. En este caso, utilizará la integración de proxy.

  4. Tras crear el método GET /, se configura la integración. En el caso de una integración privada, se utiliza el parámetro connection-id para proporcionar el ID de VpcLink. Puede utilizar una variable de fase o ingresar directamente el ID de VpcLink. El parámetro uri no se utiliza para direccionar las solicitudes al punto de conexión, sino para configurar el encabezado Host y validar el certificado.

    Use the VPC link ID

    Utilice el siguiente comando put-integration para usar el ID de VpcLink directamente en la integración:

    aws apigateway put-integration \ --rest-api-id abcdef123 \ --resource-id skpp60rab7 \ --uri 'http://my-vpclink-test-nlb-1234567890abcdef.us-east-2.amazonaws.com' \ --http-method GET \ --type HTTP_PROXY \ --integration-http-method GET \ --connection-type VPC_LINK \ --connection-id gim7c3
    Use a stage variable

    Utilice el siguiente comando put-integration para usar una variable de etapa para hacer referencia al ID de enlace de VPC. Cuando implementa la API en una etapa, se establece el ID de enlace de la VPC.

    aws apigateway put-integration \ --rest-api-id abcdef123 \ --resource-id skpp60rab7 \ --uri 'http://my-vpclink-test-nlb-1234567890abcdef.us-east-2.amazonaws.com' \ --http-method GET \ --type HTTP_PROXY \ --integration-http-method GET \ --connection-type VPC_LINK \ --connection-id "\${stageVariables.vpcLinkId}"

    No olvide utilizar comillas dobles en la expresión de la variable de etapa (${stageVariables.vpcLinkId}) y utilizar caracteres de escape con $.

    En cualquier momento, también puede actualizar la integración para cambiar el connection-id. Utilice el siguiente comando update-integration para actualizar su integración:

    aws apigateway update-integration \ --rest-api-id abcdef123 \ --resource-id skpp60rab7 \ --http-method GET \ --patch-operations '[{"op":"replace","path":"/connectionId","value":"${stageVariables.vpcLinkId}"}]'

    No olvide utilizar una lista JSON con forma de cadena como valor del parámetro patch-operations.

    Puesto que ha utilizado la integración de proxy privada, ahora la API está lista para la implementación y ejecuciones de pruebas.

  5. Si usó la variable de etapa para definir el connection-id, necesita implementar la API para probarla. Utilice el siguiente comando create-deployment para implementar la API con una variable de etapa:

    aws apigateway create-deployment \ --rest-api-id abcdef123 \ --stage-name test \ --variables vpcLinkId=gim7c3

    Para actualizar la variable de etapa con un ID de VpcLink diferente (por ejemplo, asf9d7), utilice el siguiente comando update-stage:

    aws apigateway update-stage \ --rest-api-id abcdef123 \ --stage-name test \ --patch-operations op=replace,path='/variables/vpcLinkId',value='asf9d7'

    Si codifica la propiedad connection-id con el literal del ID de VpcLink, no necesita implementar la API para probarla. Use el comando test-invoke-method para probar la API antes de implementarla.

  6. Use los siguientes comandos para invocar la API:

    curl -X GET https://abcdef123.execute-api.us-east-2.amazonaws.com/test

    Si lo desea, también puede ingresar la URL de invocación de la API en un navegador web para ver los resultados.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.