Información general de la configuración de Amazon ECS Service Connect - Amazon Elastic Container Service

Información general de la configuración de Amazon ECS Service Connect

Cuando se utiliza Service Connect, hay parámetros que se deben configurar en los recursos.

En la siguiente tabla se describen los parámetros de configuración de los recursos de Amazon ECS.

Ubicación de parámetros Tipo de aplicación Descripción Obligatorio
Definición de tarea Cliente No hay cambios disponibles para Service Connect en las definiciones de tareas del cliente. N/A
Definición de tarea Cliente-servidor Los servidores deben agregar campos name a los puertos en las portMappings de los contenedores. Para obtener más información, consulte portMappings
Definición de tarea Cliente-servidor De manera opcional, los servidores pueden proporcionar un protocolo de aplicación (por ejemplo, HTTP) para recibir métricas específicas del protocolo para sus aplicaciones de servidor (por ejemplo, HTTP 5xx). No
Definición de servicio Cliente Los servicios de cliente deben agregar una serviceConnectConfiguration para configurar el espacio de nombres al cual unirse. Este espacio de nombres debe contener todos los servicios de servidor que este servicio debe detectar. Para obtener más información, consulte serviceConnectConfiguration.
Definición de servicio Cliente-servidor Los servicios del servidor deben agregar una serviceConnectConfiguration para configurar los nombres DNS, los números de puerto y el espacio de nombres desde los que está disponible el servicio. Para obtener más información, consulte serviceConnectConfiguration.
Clúster Cliente Los clústeres pueden agregar un espacio de nombres de Service Connect predeterminado. Los nuevos servicios del clúster heredan el espacio de nombres cuando Service Connect se configura en un servicio. No
Clúster Cliente-servidor No hay cambios disponibles para Service Connect en los clústeres que aplican a los servicios del servidor. Las definiciones y los servicios de las tareas del servidor deben establecer la configuración correspondiente. N/A
Descripción general de los pasos para configurar Service Connect

En los siguientes pasos se proporciona información general sobre cómo configurar Service Connect.

importante
  • Service Connect crea servicios de AWS Cloud Map en la cuenta. La modificación de estos recursos AWS Cloud Map mediante el registro o la anulación del registro manual de las instancias, el cambio de los atributos de la instancia o la eliminación de un servicio puede provocar un comportamiento inesperado en el tráfico de las aplicaciones o en las implementaciones posteriores.

  • Service Connect no admite enlaces en la definición de la tarea.

  1. Agregue los nombres de los puertos a las asignaciones de puertos en las definiciones de las tareas. Además, puede identificar el protocolo de capa 7 de la aplicación para obtener métricas adicionales.

  2. Cree un clúster con un espacio de nombres de AWS Cloud Map, use un espacio de nombres compartido o cree el espacio de nombres por separado. Para una organización sencilla, cree un clúster con el nombre que desea para el espacio de nombres y especifique un nombre idéntico para el espacio de nombres. En este caso, Amazon ECS crea un nuevo espacio de nombres HTTP con la configuración necesaria. Service Connect no utiliza ni crea zonas alojadas de DNS en Amazon Route 53.

  3. Configure los servicios para crear puntos de conexión de Service Connect dentro del espacio de nombres.

  4. Implemente los servicios para crear los puntos de conexión. Amazon ECS agrega un contenedor del proxy de Service Connect a cada tarea y crea los puntos de conexión de Service Connect en AWS Cloud Map. Este contenedor no está configurado en la definición de la tarea y la definición de la tarea se puede reutilizar sin modificaciones para crear varios servicios en el mismo espacio de nombres o en varios espacios de nombres.

  5. Implemente aplicaciones cliente como servicios para conectarse a los puntos de conexión. Amazon ECS los conecta a los puntos de conexión de Service Connect a través del proxy de Service Connect en cada tarea.

    Las aplicaciones solo utilizan el proxy para conectarse a los puntos de conexión de Service Connect. No hay ninguna configuración adicional para utilizar el proxy. El proxy realiza el equilibrio de cargas de distribución equilibrada, la detección de valores atípicos y los reintentos. Para obtener más información sobre el proxy, consulte Proxy de Service Connect.

  6. Monitoree el tráfico a través del proxy de Service Connect en Amazon CloudWatch.

Configuración del clúster

Puede establecer un espacio de nombres predeterminado para Service Connect cuando crea o actualiza el clúster. El nombre del espacio de nombres que especifique de forma predeterminada puede estar en la misma Región de AWS y en la misma cuenta o en la misma Región de AWS y compartida por otra Cuenta de AWS mediante AWS Resource Access Manager.

Si crea un clúster y especifica un espacio de nombres de Service Connect predeterminado, el clúster espera en estado PROVISIONING mientras Amazon ECS crea el espacio de nombres. Puede ver una attachment en el estado del clúster que muestra el estado del espacio de nombres. Las conexiones no se muestran de forma predeterminada en la AWS CLI, debe agregar --include ATTACHMENTS para verlos.

Si desea utilizar un espacio de nombres compartido con su Cuenta de AWS mediante AWS RAM, especifique el nombre de recurso de Amazon (ARN) del espacio de nombres en la configuración del clúster. Para obtener más información acerca de los espacios de nombres de AWS Cloud Map compartidos, consulte Amazon ECS Service Connect con espacios de nombres de AWS Cloud Map compartidos.

Configuración del servicio

Service Connect está diseñado para requerir la configuración mínima. Debe establecer un nombre para cada asignación de puertos que desee utilizar con Service Connect en la definición de la tarea. En el servicio, debe activar Service Connect y seleccionar un espacio de nombres de su Cuenta de AWS o un espacio de nombres compartido para crear un servicio de cliente. Para crear un servicio cliente-servidor, debe agregar una configuración del servicio Service Connect única que coincida con el nombre de una de las asignaciones de puertos. Amazon ECS reutiliza el número de puerto y el nombre del puerto de la definición de la tarea para definir el servicio y el punto de conexión de Service Connect. Para anular esos valores, puede utilizar los demás parámetros Detección, DNS y Puerto en la consola o discoveryName y clientAliases, respectivamente, en la API de Amazon ECS.

Configuración de la comprobación de estado inicial

Service Connect se asegura de que las tareas estén en buen estado antes de enrutar el tráfico hacia ellas. Cuando se inicializa una tarea (durante las implementaciones, el escalado o las sustituciones), Service Connect supervisa el estado de la tarea para asegurarse de que esté lista para aceptar el tráfico. Debe definir comprobaciones de estado para el contenedor esencial en la definición de la tarea a fin de habilitar este comportamiento.

El comportamiento de la comprobación de estado inicial tiene en cuenta los posibles retrasos a la hora de alcanzar el estado en el que una tarea está lista para aceptar tráfico:

  • Si una tarea tiene el estado HEALTHY, significa que está inmediatamente disponible para el tráfico.

  • Si el estado de una tarea es UNKNOWN, Service Connect sigue la configuración de la comprobación de estado del contenedor (consulte Comprobación de estado) de los contenedores esenciales de la tarea para calcular el tiempo de espera, hasta 8 minutes, antes de ponerlo a disposición del tráfico, incluso si permanece en el estado UNKNOWN.

  • Si una tarea es UNHEALTHY, Service Connect retrasa el enrutamiento del tráfico hasta un máximo de 8 minutes. Durante este tiempo, Amazon ECS puede inicializar tareas de sustitución. Si no hay ninguna tarea en buen estado disponible, la implementación podría revertirse en función de la configuración del servicio.

Para todo el tráfico continuo, Service Connect utiliza comprobaciones de estado pasivas basadas en la detección de valores atípicos para enrutar el tráfico de manera eficiente.