Servicios virtuales - AWS App Mesh

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Servicios virtuales

importante

Aviso de fin de soporte: el 30 de septiembre de 2026, AWS suspenderemos el soporte para AWS App Mesh. Después del 30 de septiembre de 2026, ya no podrás acceder a la AWS App Mesh consola ni a AWS App Mesh los recursos. Para obtener más información, visita esta entrada de blog Migración desde AWS App Mesh a Amazon ECS Service Connect.

Un servicio virtual es una abstracción de un servicio real que se proporcionan mediante un nodo virtual directa o indirectamente a través de un router virtual. Los servicios dependientes llaman al servicio virtual por su virtualServiceName y dichas solicitudes se dirigen al nodo virtual o router virtual que se especifica como el proveedor del servicio virtual.

Creación de un servicio virtual

AWS Management Console
Para crear un servicio virtual mediante AWS Management Console
  1. Abre la consola App Mesh en https://console.aws.amazon.com/appmesh/.

  2. Elija la malla en la que desea crear el servicio virtual. Se muestran todas las mallas que son de su propiedad y que se han compartido con usted.

  3. Elija Virtual services (Servicios virtuales) en el panel de navegación izquierdo.

  4. Elija Create Virtual service (Crear servicio virtual).

  5. En Virtual service name (Nombre del servicio virtual), seleccione un nombre para el servicio virtual. Puede elegir cualquier nombre, pero se recomienda usar el nombre de detección de servicios del servicio real de destino, por ejemplo my-service.default.svc.cluster.local, para que sea más fácil correlacionar sus servicios virtuales con los servicios reales. De esta manera, no es necesario cambiar el código para hacer referencia a un nombre diferente al que se refiere actualmente. El nombre que especifique debe ser una dirección IP que no sea de bucle invertido, porque el contenedor de aplicaciones debe poder resolver correctamente el nombre antes de enviar la solicitud al proxy de Envoy. Puede usar cualquier dirección IP que no sea de bucle invertido, porque ni la aplicación ni los contenedores del proxy se comunican con esta dirección IP. El proxy se comunica con otros servicios virtuales a través de los nombres configurados para ellos en App Mesh, no a través de las direcciones IP que resuelven los nombres.

  6. En Provider (Proveedor), elija el tipo de proveedor de su servicio virtual:

    • Si desea que el servicio virtual propague tráfico por varios nodos virtuales, seleccione Virtual router (Router virtual) y elija el router virtual que usará en el menú desplegable.

    • Si desea que el servicio virtual alcance un nodo virtual directamente sin un enrutador virtual, seleccione Nodo virtual y elija el nodo virtual que desea usar en el menú desplegable.

      nota

      App Mesh puede crear automáticamente una política de reintento de ruta de Envoy predeterminada para cada proveedor de nodos virtuales que defina a partir del 29 de julio de 2020, aunque no pueda definir dicha política a través de App MeshAPI. Para obtener más información, consulte Política de reintentos de ruta predeterminada.

    • Si no desea que el servicio virtual dirija el tráfico en este momento (por ejemplo, si los nodos virtuales o routers virtuales todavía no existen), seleccione None (Ninguno). Puede actualizar el proveedor para este servicio virtual más adelante.

  7. Elija Create virtual service (Crear servicio virtual) para finalizar.

AWS CLI

Para crear un servicio virtual mediante la AWS CLI.

Cree un servicio virtual con un proveedor de nodos virtuales mediante el siguiente comando y un JSON archivo de entrada (sustituya el red valores por los suyos propios):

  1. aws appmesh create-virtual-service \ --cli-input-json file://create-virtual-service-virtual-node.json
  2. Contenido del ejemplo create-virtual-service-virtual -node.json:

    { "meshName": "meshName", "spec": { "provider": { "virtualNode": { "virtualNodeName": "nodeName" } } }, "virtualServiceName": "serviceA.svc.cluster.local" }
  3. Ejemplo de salida:

    { "virtualService": { "meshName": "meshName", "metadata": { "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualService/serviceA.svc.cluster.local", "createdAt": "2022-04-06T09:45:35.890000-05:00", "lastUpdatedAt": "2022-04-06T09:45:35.890000-05:00", "meshOwner": "123456789012", "resourceOwner": "210987654321", "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": { "provider": { "virtualNode": { "virtualNodeName": "nodeName" } } }, "status": { "status": "ACTIVE" }, "virtualServiceName": "serviceA.svc.cluster.local" } }

Para obtener más información sobre la AWS CLI creación de un servicio virtual con App Mesh, consulte el create-virtual-servicecomando en la AWS CLI referencia.

Eliminación de un servicio virtual

nota

No se puede eliminar un servicio virtual al que hace referencia una ruta de puerta de enlace. Primero debe eliminar la ruta de la puerta de enlace.

AWS Management Console
Para eliminar un servicio virtual mediante el AWS Management Console
  1. Abre la consola App Mesh en https://console.aws.amazon.com/appmesh/.

  2. Elija la malla en la que desee eliminar un servicio virtual. Se muestran todas las mallas que son de su propiedad y que se han compartido con usted.

  3. Elija Virtual services (Servicios virtuales) en el panel de navegación izquierdo.

  4. Elija el servicio virtual que desee eliminar y haga clic en Eliminar en la esquina superior derecha. Solo puede eliminar una puerta de enlace virtual en la que su cuenta aparezca como propietaria del recurso.

  5. En el cuadro de confirmación, escriba delete y, a continuación, haga clic en Eliminar.

AWS CLI
Para eliminar un servicio virtual mediante AWS CLI
  1. Utilice el siguiente comando para eliminar el servicio virtual (sustituya el red valores por los tuyos propios):

    aws appmesh delete-virtual-service \ --mesh-name meshName \ --virtual-service-name serviceA.svc.cluster.local
  2. Ejemplo de salida:

    { "virtualService": { "meshName": "meshName", "metadata": { "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualService/serviceA.svc.cluster.local", "createdAt": "2022-04-06T09:45:35.890000-05:00", "lastUpdatedAt": "2022-04-07T10:39:42.772000-05:00", "meshOwner": "123456789012", "resourceOwner": "210987654321", "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 2 }, "spec": { "provider": { "virtualNode": { "virtualNodeName": "nodeName" } } }, "status": { "status": "DELETED" }, "virtualServiceName": "serviceA.svc.cluster.local" } }

Para obtener más información sobre cómo eliminar un servicio virtual con App Mesh, consulta el delete-virtual-servicecomando en la AWS CLI referencia. AWS CLI