

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.

# AWS Transfer Family para AS2
<a name="as2-for-transfer-family"></a>

La declaración de aplicabilidad 2 (AS2) es una especificación de transmisión de archivos definida por la RFC que incluye sólidos mecanismos de verificación y protección de mensajes. La protección de una AS2 carga útil en tránsito utiliza la sintaxis de mensajes criptográficos (CMS) con cifrado y firmas digitales para proporcionar protección de datos y autenticación por pares. Una carga útil de respuesta a un aviso de disposición de mensajes (MDN) firmada permite comprobar (sin repudiar) que el mensaje se ha recibido y se ha descifrado correctamente.

El AS2 protocolo es fundamental para los flujos de trabajo con requisitos de conformidad que se basan en contar con funciones de seguridad y protección de datos integradas en el protocolo. AWS Transfer Family AS2 Los terminales cuentan con la [certificación Drummond](https://aws.amazon.com/about-aws/whats-new/2023/06/aws-transfer-family-drummond-group-as2-certification/), lo que permite a los clientes de sectores como el comercio minorista, las ciencias de la vida, la fabricación, los servicios financieros y los servicios públicos realizar transacciones de forma segura con sus socios comerciales.

Cuando se utiliza AS2 con Transfer Family, se puede acceder de forma nativa a los datos de la transacción en AWS :
+ Procesamiento, análisis y aprendizaje automático
+ Integración con los sistemas de planificación de recursos empresariales (ERP)
+ Integración con los sistemas de gestión de relaciones con los clientes (CRM)

Para intercambiar archivos con un socio que tenga un servidor AS2 habilitado, debe:
+ Generar un key pair de claves público-privadas para el cifrado
+ Generar un key pair de claves público-privadas para firmar
+ Intercambia las claves públicas con tu pareja

**importante**  
Los puntos finales AS2 del servidor HTTPS no son compatibles actualmente. Usted es responsable de la rescisión del TLS.

Transfer Family ofrece un taller al que puede asistir, en el que puede configurar un terminal Transfer Family si AS2 está activado y un AS2 conector Transfer Family. Puede ver los detalles de este taller [aquí](https://catalog.workshops.aws/transfer-family-as2/en-US).

Para step-by-step obtener instrucciones de configuración AS2 en Transfer Family, consulte lo siguiente:

1. [AS2 Certificados de importación](managing-as2-partners.md#configure-as2-certificate)

1. [Crear perfiles AS2](configure-as2-profile.md)

1. [Crear un AS2 servidor](create-as2-transfer-server.md)

1. [Crea un AS2 acuerdo](create-as2-transfer-server.md#as2-agreements)

1. [Configure AS2 los conectores](configure-as2-connector.md)

Para ver un ejemplo completo, consulte[Establecer una AS2 configuración](as2-example-tutorial.md).

**nota**  
Para mostrar la compatibilidad con las plantillas de AS2 Terraform, añada una reacción de aprobación (👍) a la solicitud de funciones de [plantillas Terraform de Transfer Family](https://github.com/aws-ia/terraform-aws-transfer-family/issues/62#issue-3364703944). También puedes añadir un comentario que describa tu caso de uso.

## AS2 casos de uso
<a name="as2-use-cases"></a>

Si es un AWS Transfer Family cliente que desea intercambiar archivos con un socio que tiene un servidor AS2 habilitado, la parte más compleja de la configuración consiste en generar un par de claves público-privadas para el cifrado y otro para firmar e intercambiar las claves públicas con el socio.

![\[Diagrama que muestra el uso de pares de claves público-privadas para el cifrado y la firma.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-architecture-high-level.png)


Tenga en cuenta las siguientes variantes para utilizarlas con. AWS Transfer Family AS2

**nota**  
El *socio comercial* es el socio asociado a ese perfil de socio.  
Todas las menciones de *MDN* en la siguiente tabla se dan por *firmadas* MDNs.


**AS2 casos de uso**  

|  | 
| --- |
|  Casos de uso únicamente entrantes [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/as2-for-transfer-family.html)  | 
|  Casos de uso exclusivos para dispositivos salientes [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/as2-for-transfer-family.html)  | 
|  Casos de uso entrantes y salientes [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/as2-for-transfer-family.html)  | 

## AS2 CloudFormation plantillas
<a name="as2-templates-section"></a>

En este tema se proporciona información sobre AWS CloudFormation las plantillas que puede utilizar para implementar rápidamente AS2 servidores y configuraciones AWS Transfer Family. Estas plantillas automatizan el proceso de configuración y ayudan a implementar las mejores prácticas para la transferencia de AS2 archivos.
+ La AS2 plantilla básica se describe en [Usa una plantilla para crear un AS2 stack de Transfer Family de demostración](create-as2-transfer-server.md#as2-cfn-demo-template)
+ La AS2 plantilla para personalizar los encabezados HTTP se describe en. [Personaliza los encabezados HTTP de los mensajes AS2](as2-custom-http-headers.md)

### Personalización de plantillas AS2
<a name="as2-template-customization"></a>

Puede personalizar las plantillas proporcionadas para que se ajusten a sus requisitos específicos:

1. Descarga la plantilla desde la URL de S3.

1. Modifique el código YAML para ajustar configuraciones como:
   + Ajustes de seguridad y configuraciones de certificados
   + Arquitectura de red y configuración de VPC
   + Opciones de almacenamiento y manejo de archivos
   + Preferencias de supervisión y notificación

1. Cargue la plantilla modificada en su propio bucket de S3.

1. Implemente la plantilla personalizada mediante la CloudFormation consola o AWS CLI.

**importante**  
Al personalizar las plantillas, asegúrese de mantener las dependencias entre los recursos y de seguir las prácticas recomendadas de seguridad.

### Probar la implementación AS2
<a name="as2-template-testing"></a>

Tras implementar un AS2 servidor mediante una plantilla, puede probar la configuración:

1. Consulte los resultados de la CloudFormation pila para ver ejemplos de comandos e información sobre los puntos finales.

1. Utilice el AWS CLI para enviar un archivo de prueba:

   ```
   aws s3api put-object --bucket your-bucket-name --key test.txt --body test.txt
   aws transfer start-file-transfer --connector-id your-connector-id --send-file-paths /your-bucket-name/test.txt
   ```

1. Verifique la entrega del archivo en el depósito S3 de destino.

1. Comprueba CloudWatch los registros para ver si el procesamiento es correcto y si las respuestas de MDN son correctas.

Para realizar pruebas más exhaustivas, considere la posibilidad de utilizar AS2 clientes de terceros para enviar archivos a su AS2 servidor Transfer Family.

### Mejores prácticas para el despliegue AS2 de plantillas
<a name="as2-template-best-practices"></a>

Siga estas prácticas recomendadas cuando utilice AS2 CloudFormation plantillas:

Seguridad  
Utilice certificados seguros y cámbielos periódicamente.  
Implemente políticas de IAM con privilegios mínimos.  
Restrinja el acceso a la red mediante grupos de seguridad.

Fiabilidad  
Implemente en varias zonas de disponibilidad.  
Implemente la supervisión y las alertas en caso de transferencias fallidas.  
Configura reintentos automatizados para las transferencias fallidas.

Desempeño  
Elige los tipos de instancia adecuados para tu volumen de transferencias.  
Implemente políticas de ciclo de vida de S3 para una administración de archivos eficiente.  
Supervise y optimice las configuraciones de red.

Optimización de costes  
Usa el autoscaling para cargas de trabajo variables.  
Implemente clases de almacenamiento S3 para archivos antiguos.  
Supervise y ajuste los recursos en función del uso real.

# Configuración AS2
<a name="create-b2b-server"></a>

Para crear un servidor AS2 habilitado, también debe especificar los siguientes componentes:
+ **Acuerdos**: los *acuerdos* bilaterales con socios comerciales o asociaciones definen la relación entre las dos partes que intercambian mensajes (archivos). Para definir un acuerdo, Transfer Family combina un servidor, un perfil local, un perfil de socio, un certificado y otros atributos. Transfer Family AS2: los procesos entrantes utilizan acuerdos.
+ **Certificados: los certificados** de *clave pública (X.509)* se utilizan en la AS2 comunicación para el cifrado y la verificación de los mensajes. Los certificados también se utilizan para los puntos de conexión de los conectores.
+ **Perfiles locales y perfiles de socios**: un *perfil local* define la organización o «parte» local (servidor Transfer Family AS2 habilitado). Del mismo modo, un *perfil de socio* define la empresa asociada remota, externa a Transfer Family.

**Si bien no es obligatorio para todos los servidores AS2 compatibles, para las transferencias salientes se necesita un conector.** Un conector captura los parámetros de una conexión de salida. El conector es necesario para enviar archivos a un servidor externo del cliente, que no AWS es uno de ellos.

El siguiente diagrama muestra la relación entre los AS2 objetos involucrados en los procesos de entrada y salida.

![\[Diagrama que muestra la relación entre los AS2 objetos involucrados en los procesos de entrada y salida.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-architecture-in-out-agree-connect.png)


Para ver un end-to-end ejemplo de AS2 configuración, consulte. [Establecer una AS2 configuración](as2-example-tutorial.md)

**Topics**
+ [AS2 configuraciones](#as2-supported-configurations)
+ [AS2 cuotas y limitaciones](#as2-limitations)
+ [AS2 características y capacidades](#as2-capabilities)

## AS2 configuraciones
<a name="as2-supported-configurations"></a>

En este tema se describen las configuraciones, características y capacidades compatibles con las transferencias que utilizan el protocolo de la Declaración de Aplicabilidad 2 (AS2), incluidos los cifrados y resúmenes aceptados.

**Firma, cifrado, compresión, MDN**

Tanto para las transferencias entrantes como para las salientes, los siguientes elementos son obligatorios u opcionales:
+ **Cifrado**: obligatorio (para el transporte HTTP, que es el único método de transporte compatible actualmente). Los mensajes no cifrados solo se aceptan si los reenvía un proxy de terminación de TLS, como un equilibrador de carga de aplicación (ALB), y el encabezado `X-Forwarded-Proto: https` está presente.
+ **Firma**: opcional
+ **Compresión**: opcional (el único algoritmo de compresión compatible actualmente es ZLIB)
+ **Aviso de disposición de mensajes (MDN)**: opcional

**Cifrados**

Se admiten los siguientes cifrados para las transferencias entrantes y salientes:
+ AES128\$1CBC
+ AES192\$1CBC
+ AES256\$1CBC
+ 3DES (solo para compatibilidad con versiones anteriores)

**Resúmenes**

Se admiten los siguientes resúmenes:
+ **Firma entrante y MDN**:,,, SHA1 SHA256 SHA384 SHA512
+ **Firma saliente y MDN** —,,, SHA1 SHA256 SHA384 SHA512

**MDN**

Para las respuestas de MDN, se admiten ciertos tipos, como los siguientes: 
+ **Transferencias entrantes**: síncronas y asíncronas
+ **Transferencias salientes**: solo sincrónicas
+ **Simple Mail Transfer Protocol (SMTP) (correo electrónico MDN)**: no se admite.

**Transporte**
+ **Transferencias entrantes**: HTTP es el único transporte admitido actualmente y debe especificarlo de forma explícita.
**nota**  
Si necesita usar HTTPS para las transferencias entrantes, puede cancelar TLS en un equilibrador de carga de aplicación o un equilibrador de carga de red. Esto se describe en [Reciba AS2 mensajes a través de HTTPS](send-as2-messages.md#receive-https).
+ **Transferencias salientes**: si proporciona una URL HTTP, también debe especificar un algoritmo de cifrado. Si proporciona una dirección HTTPS, tiene la opción de especificar **NINGUNA** para el algoritmo de cifrado.

## AS2 cuotas y limitaciones
<a name="as2-limitations"></a>

En esta sección se analizan las cuotas y las limitaciones de AS2

**Topics**
+ [AS2 cuotas](#as2-quotas)
+ [Cuotas de manejo de secretos](#as2-quotas-secrets)
+ [Limitaciones conocidas](#as2-known-limitations)

### AS2 cuotas
<a name="as2-quotas"></a>

Existen las siguientes cuotas para las transferencias de AS2 archivos. Para solicitar un aumento de una cuota ajustable, consulte las [Servicio de AWS cuotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) en *Referencia general de AWS*.


**AS2 cuotas**  

| Name | Predeterminado | Ajustable | 
| --- | --- | --- | 
| Número máximo de archivos por solicitud saliente | 10 | No | 
| Número máximo de solicitudes salientes por segundo | 100 | No | 
| Número máximo de solicitudes entrantes por segundo | 100 | No | 
| Ancho de banda saliente máximo por cuenta (tanto el SFTP saliente como las AS2 solicitudes contribuyen a este valor) | 50 MB por segundo | No | 

### Cuotas de manejo de secretos
<a name="as2-quotas-secrets"></a>

AWS Transfer Family hace llamadas AWS Secrets Manager en nombre de AS2 los clientes que utilizan la autenticación básica. Además, Secrets Manager hace llamadas a AWS KMS.

**nota**  
Estas cuotas no son específicas del uso que hagas de los secretos para Transfer Family: se comparten entre todos tus servicios Cuenta de AWS.

En el caso de Secrets Manager`GetSecretValue`, la cuota que se aplica es **la tasa combinada de solicitudes DescribeSecret y GetSecretValue API**, tal y como se describe en [AWS Secrets Manager las cuotas](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_limits.html#quotas).


**Secrets Manager `GetSecretValue`**  

| Name | Valor | Description (Descripción) | 
| --- | --- | --- | 
| Tasa combinada de solicitudes DescribeSecret y GetSecretValue de API | Cada región admitida: 10 000 por segundo | El máximo de transacciones por segundo para las operaciones de GetSecretValue API DescribeSecret y las operaciones de API combinadas. | 

Para AWS KMS ello, se aplican las siguientes cuotas`Decrypt`. Para obtener más información, consulta [Solicitar cuotas para cada operación de la AWS KMS API](https://docs.aws.amazon.com/kms/latest/developerguide/requests-per-second.html#rps-table)


**AWS KMS `Decrypt`**  

| Nombre de la cuota | Límite predeterminado (solicitudes por segundo) | 
| --- | --- | 
|  Cuota de tasas de solicitud de operaciones criptográficas (simétricas)  |  Estas cuotas compartidas varían según el tipo de AWS KMS clave utilizada en la solicitud Región de AWS y el tipo de clave que se utilice. Cada cuota se calcula por separado. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/create-b2b-server.html)  | 
|  Cuotas de solicitudes del almacén de claves personalizado  Esta cuota solo se aplica si se utiliza un almacén de claves externo.   |  Las cuotas de solicitudes del almacén de claves personalizado se calculan por separado para cada almacén de claves personalizado. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/create-b2b-server.html)  | 

### Limitaciones conocidas
<a name="as2-known-limitations"></a>
+ No se admite el protocolo TCP keep-alive del servidor. La conexión se agota después de 350 segundos de inactividad, a menos que el cliente envíe paquetes keep-alive.
+ Para que el servicio acepte un acuerdo activo y aparezca en los CloudWatch registros de Amazon, los mensajes deben contener AS2 encabezados válidos.
+ [El servidor desde AWS Transfer Family el que recibe los mensajes AS2 debe ser compatible con el atributo de protección del algoritmo de sintaxis de mensajes criptográficos (CMS) para validar las firmas de los mensajes, tal como se define en el RFC 6211.](https://datatracker.ietf.org/doc/html/rfc6211) Este atributo no es compatible con algunos productos anteriores de IBM Sterling.
+ Los mensajes duplicados IDs dan como resultado un mensaje procesado/Advertencia: documento duplicado.
+ La longitud de la clave de los AS2 certificados debe ser de 2048 bits como mínimo y 4096 como máximo.
+ Al enviar AS2 mensajes o de forma asíncrona MDNs al punto de conexión HTTPS de un socio comercial, los mensajes o los mensajes MDNs deben utilizar un certificado SSL válido firmado por una autoridad de certificación (CA) de confianza pública. Actualmente, los certificados autofirmados solo se admiten para las transferencias salientes. 
+ El punto de conexión debe ser compatible con el protocolo TLS de la versión 1.2 y con un algoritmo criptográfico permitido por la política de seguridad (tal y como se describe en [Políticas de seguridad para servidores AWS Transfer Family](security-policies.md)).
+ Actualmente, no se admiten varios archivos adjuntos ni la mensajería de intercambio de certificados (CEM) de la AS2 versión 1.2.
+ Actualmente, la autenticación básica solo se admite para los mensajes salientes.
+ Puede adjuntar un flujo de trabajo de procesamiento de archivos a un servidor Transfer Family que utilice el AS2 protocolo; sin embargo, AS2 los mensajes no ejecutan los flujos de trabajo adjuntos al servidor. 

## AS2 características y capacidades
<a name="as2-capabilities"></a>

En las siguientes tablas se enumeran las funciones y capacidades disponibles para los recursos de Transfer Family que utilizan AS2.

### AS2 features
<a name="as2-features"></a>

Transfer Family ofrece las siguientes funciones para AS2.


| Característica | Compatible con AWS Transfer Family | 
| --- |--- |
|  [Certificación Drummond](https://aws.amazon.com/about-aws/whats-new/2023/06/aws-transfer-family-drummond-group-as2-certification/) | Sí | 
| [AWS CloudFormation apoyo](https://docs.aws.amazon.com/transfer/latest/userguide/as2-cfn-demo-template.html)  | Sí | 
| [ CloudWatchMétricas de Amazon](https://docs.aws.amazon.com/transfer/latest/userguide/as2-monitoring.html) | Sí | 
| [Algoritmos criptográficos SHA-2](https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html#cryptographic-algorithms) | Sí | 
| Support para Amazon S3 | Sí | 
| Compatibilidad con Amazon EFS | No | 
| Mensajes programados | Sí 1 | 
| AWS Transfer Family Flujos de trabajo administrados | No | 
| Mensajería de intercambio de certificados (CEM) | No | 
| TLS mutuo (mTLS) | No | 
| Support para certificados autofirmados | Sí | 

1. Mensajes programados salientes disponibles [mediante AWS Lambda las funciones de programación](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-run-lambda-schedule.html) de Amazon EventBridge

### AS2 capacidades de envío y recepción
<a name="as2-capabilities"></a>

La siguiente tabla proporciona una lista de las capacidades de AWS Transfer Family AS2 envío y recepción.


| Funcionalidad | Entrante: recepción con el servidor | Saliente: envío con conector | 
| --- |--- |--- |
| [Transporte cifrado TLS (HTTPS)](send-as2-messages.md#as2-https-process) | Sí 1 | Sí | 
| Transporte sin TLS (HTTP) | Sí |  Sí 2  | 
| MDN síncrono | Sí | Sí | 
| Compresión de mensajes | Sí | Sí | 
| MDN asíncrono | Sí | No | 
| Dirección IP estática | Sí | Sí | 
| Traiga su propia dirección IP | Sí | No | 
| Varios archivos adjuntos | No | No | 
| Autenticación básica | No | Sí | 
| AS2 Reiniciar | No aplicable | No | 
| AS2 Fiabilidad | No | No | 
| Asunto personalizado por mensaje | No aplicable | No | 

1. Transporte cifrado TLS entrante disponible con Network Load Balancer (NLB) o Application Load Balancer (ALB)

2. El transporte saliente sin TLS solo está disponible cuando el cifrado está activado

# Administre AS2 los certificados
<a name="managing-as2-partners"></a>

En este tema se explica cómo importar y administrar AS2 los certificados. La importación de certificados es el primer paso del AS2 proceso de Transfer Family.

1. Importar certificados

1. [Crear perfiles AS2](configure-as2-profile.md)

1. [Crear un AS2 servidor](create-as2-transfer-server.md) 

1. [Crea un AS2 acuerdo](create-as2-transfer-server.md#as2-agreements)

1. [Configure AS2 los conectores](configure-as2-connector.md)

## AS2 Certificados de importación
<a name="configure-as2-certificate"></a>

El AS2 proceso Transfer Family utiliza claves de certificado tanto para el cifrado como para la firma de la información transferida. Los socios pueden usar la misma clave con ambos fines o una clave independiente para cada uno. Si tiene claves de cifrado comunes que un tercero de confianza guarda en custodia para poder descifrar los datos en caso de desastre o violación de la seguridad, le recomendamos que tenga claves de firma independientes. Al utilizar claves de firma independientes (que no deposite en custodia), no compromete las características de no repudio de sus firmas digitales.

**nota**  
La longitud de la clave de AS2 los certificados debe ser de al menos 2048 bits y, como máximo, de 4096.

En los puntos siguientes se detalla cómo se utilizan AS2 los certificados durante el proceso.
+ Entrante AS2
  + El socio comercial envía su clave pública para el certificado de firma y esta clave se importa al perfil del socio.
  + La parte local envía la clave pública para sus certificados de cifrado y firma. A continuación, el socio importa la(s) clave(s) privada(s). La parte local puede enviar claves de certificado independientes para firmarlas y cifrarlas, o puede optar por utilizar la misma clave con ambos fines.
+ Saliente AS2
  + El socio envía la clave pública de su certificado de cifrado y esta clave se importa al perfil del socio.
  + La parte local envía la clave pública del certificado para firmarlo e importa la clave privada del certificado para firmarlo.
  + Si utiliza HTTPS, puede importar un certificado de seguridad de capa de transporte (TLS) autofirmado.

Para obtener información detallada acerca de la forma de crear certificados, consulte [Paso 1: Cree certificados para AS2](as2-example-tutorial.md#as2-create-certs).

En este procedimiento, se explica cómo importar certificados mediante la consola Transfer Family. Si desea utilizar el en su AWS CLI lugar, consulte. [Paso 2: Importar certificados como recursos de certificados de Transfer Family](as2-example-tutorial.md#as2-import-certs-example)

**Para especificar un AS2 certificado habilitado**

1. Abra la AWS Transfer Family consola en. [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/) 

1. En el panel de navegación izquierdo, en **Socios AS2 comerciales**, elija **Certificados**.

1. Seleccione **Importar certificado**.

1. En la sección de **configuración del certificado**, en **Descripción del certificado**, introduzca un nombre fácilmente identificable para el certificado. Asegúrese de poder identificar el propósito del certificado por su descripción. Además, elija el rol del certificado. 

1. En la sección **Uso del certificado**, elija el propósito de este certificado. Se puede usar para cifrar, firmar o ambas cosas.

   **Consejo:** Si eliges el **cifrado y la firma** para el uso, Transfer Family crea dos certificados idénticos (cada uno con su propio identificador): uno con un valor de uso `ENCRYPTION` y otro con un valor de uso de`SIGNING`.

1. En la sección **Contenido del certificado**, proporcione un certificado público de un socio comercial o las claves pública y privada de un certificado local.

   Rellene la sección **Contenido del certificado** con los detalles correspondientes.
   + Si elige **Certificado autofirmado**, no proporciona una cadena de certificados.
   + Pegue el texto del certificado y su cadena en el campo **Certificado y cadena de certificados**.
   + Si este certificado es un certificado local, pegue su clave privada.

1. Elija **Importar certificado** para completar el proceso y guardar los detalles del certificado importado.

**nota**  
Los certificados TLS solo se pueden importar como certificado público de un socio. Si selecciona un **certificado público de un socio** y, a continuación, selecciona **Transport Layer Security (TLS)** para su uso, recibirá una advertencia. Además, los certificados TLS deben estar autofirmados (es decir, debe seleccionar el certificado **autofirmado para importar un certificado** TLS).

## AS2 rotación de certificados
<a name="as2-certificate-rotation"></a>

Los certificados suelen ser válidos durante un período de seis meses a un año. Es posible que haya configurado perfiles que desee conservar durante más tiempo. Para facilitar esto, Transfer Family ofrece la rotación de certificados. Puede especificar varios certificados para un perfil, lo que le permitirá seguir utilizando el perfil durante varios años. Transfer Family utiliza certificados para la firma (opcional) y el cifrado (obligatorio). Si lo desea, puede especificar un único certificado con ambos fines.

La rotación de certificados es el proceso de reemplazar un certificado antiguo que ha caducado por uno más nuevo. La transición es gradual para evitar interrumpir las transferencias cuando una de las partes del acuerdo aún no ha configurado un nuevo certificado para las transferencias salientes o puede que esté enviando cargas útiles firmadas o cifradas con un certificado antiguo durante un período en el que también se esté utilizando un certificado más nuevo. El período intermedio en el que son válidos tanto los certificados antiguos como los nuevos se denomina *período de gracia.*

Los certificados X.509 tienen fechas `Not Before` y `Not After`. Sin embargo, es posible que estos parámetros no proporcionen un control suficiente a los administradores. Transfer Family proporciona `Active Date` y `Inactive Date` configuración para controlar qué certificado se usa para las cargas útiles salientes y cuál se acepta para las cargas útiles entrantes.

### Supervisión del vencimiento de los certificados
<a name="as2-certificate-expiry-monitoring"></a>

Transfer Family publica una CloudWatch métrica `DaysUntilExpiry` de Amazon tras importar un certificado. La métrica emite el número de días entre la fecha actual y la fecha especificada `InactiveDate` en el certificado. La métrica se encuentra en el espacio de `Transfer` AWS nombres del panel de métricas. CloudWatch

Esta métrica siempre tendrá una dimensión métrica **CertificateId**y, de forma opcional, incluirá una dimensión de **descripción** si el cliente la proporciona en el certificado. Para obtener más información sobre las dimensiones CloudWatch métricas, consulte [Dimensión](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Dimension.html) en la *referencia de la CloudWatch API*.

**nota**  
Una vez importado un certificado, Transfer Family puede tardar hasta un día completo en emitir esta métrica a la cuenta del cliente.

Puede usar esta métrica para crear CloudWatch alarmas que le notifiquen cuando los certificados estén a punto de caducar.

La selección del certificado de salida utiliza el valor máximo anterior a la fecha de la transferencia como `Inactive Date`. Los procesos entrantes aceptan certificados dentro del rango de `Not Before` y `Not After` y dentro del rango de `Active Date` y `Inactive Date`.

### Ejemplo de rotación de certificados
<a name="as2-cert-rotate-example"></a>

En la siguiente tabla, se describe una forma posible de configurar dos certificados para un único perfil.


**Dos certificados en rotación**  

| Name | NOT BEFORE (controlado por la autoridad de certificación) | ACTIVE DATE (producida por Transfer Family) | INACTIVE DATE (producida por Transfer Family) | NOT AFTER (producida por una entidad de certificación) | 
| --- | --- | --- | --- | --- | 
| Cert1 (certificado anterior) | 2019-11-01 | 2020-01-01 | 2020-12-31 | 2024-01-01 | 
| Cert2 (certificado más reciente) | 2020-11-01 | 2020-06-01 | 2021-06-01 | 2025-01-01 | 

 Tenga en cuenta lo siguiente: 
+ Al especificar un certificado `Active Date` y `Inactive Date` para un certificado, el rango debe estar dentro del rango entre `Not Before` y `Not After`.
+ Se recomienda configurar varios certificados para cada perfil, asegurándose de que el intervalo de fechas activo de todos los certificados combinados abarque el período de tiempo durante el que desea utilizar el perfil.
+ Le recomendamos que especifique un período de gracia entre el momento en que el certificado anterior pasa a estar inactivo y el certificado más nuevo se activa. En el ejemplo anterior, el primer certificado no queda inactivo hasta el 31/12/2020, mientras que el segundo se activa el 1/06/2020, lo que proporciona un período de gracia de 6 meses. Durante el período comprendido entre el 1/06/2020 y el 31/12/2020, ambos certificados estarán activos.

# Crear perfiles AS2
<a name="configure-as2-profile"></a>

En este tema se explica cómo crear perfiles para usarlos en el AS2 proceso. Un *perfil local* define la organización o «parte» local (servidor Transfer Family AS2 habilitado). Del mismo modo, un *perfil de socio* define la empresa asociada remota, externa a Transfer Family.

1. [AS2 Certificados de importación](managing-as2-partners.md#configure-as2-certificate)

1. Crea perfiles AS2 

1. [Crear un AS2 servidor](create-as2-transfer-server.md) 

1. [Crea un AS2 acuerdo](create-as2-transfer-server.md#as2-agreements)

1. [Configure AS2 los conectores](configure-as2-connector.md)

Utilice este procedimiento para crear perfiles locales y de socios. En este procedimiento se explica cómo crear AS2 perfiles mediante la consola Transfer Family. Si desea utilizar la AWS CLI en su lugar, consulte la [Paso 3: Cree perfiles para usted y su socio comercial](as2-example-tutorial.md#as2-create-profiles-example).

**Para crear un AS2 perfil**

1. Abra la AWS Transfer Family consola en [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. En el panel de navegación izquierdo, en **Socios AS2 comerciales**, elija **Perfiles** y, a continuación, elija **Crear perfil**.

1. En la sección **de configuración del perfil**, introduzca el AS2 ID del perfil. Este valor se utiliza para los encabezados HTTP AS2 específicos del protocolo `as2-from` y `as2-to` para identificar la asociación comercial, que determina los certificados que se van a utilizar, etc.

1. En la sección **Tipo de perfil**, elija Perfil **local** o **Perfil de socio**.

1. En la sección **Certificados**, elija uno o más certificados en el menú desplegable.

   **Consejo:** **Si desea importar un certificado que no aparece en el menú desplegable, seleccione Importar un certificado nuevo.** Esto abre una nueva ventana del navegador en la pantalla de **importación de certificados**. Para obtener información sobre el procedimiento de importación de certificados, consulte [AS2 Certificados de importación](managing-as2-partners.md#configure-as2-certificate).

1. (Opcional) En la sección **Etiquetas**, especifique uno o más pares de clave-valor para ayudar a identificar este perfil.

1. Seleccione **Crear perfil** para completar el proceso y guardar el nuevo perfil.

# Crear un AS2 servidor
<a name="create-as2-transfer-server"></a>

En este tema se proporcionan instrucciones para crear un servidor Transfer Family AS2 habilitado mediante la consola o una CloudFormation plantilla. Para ver un end-to-end ejemplo AS2 de configuración, consulte[Establecer una AS2 configuración](as2-example-tutorial.md). Tras crear un AS2 servidor, puede añadir un acuerdo al servidor. 

1. [AS2 Certificados de importación](managing-as2-partners.md#configure-as2-certificate)

1. [Crear perfiles AS2](configure-as2-profile.md)

1. Cree un AS2 servidor

1. [Crea un AS2 acuerdo](#as2-agreements)

1. [Configure AS2 los conectores](configure-as2-connector.md)

**Topics**
+ [Cree un AS2 servidor mediante la consola Transfer Family](#create-server-as2-console)
+ [Usa una plantilla para crear un AS2 stack de Transfer Family de demostración](#as2-cfn-demo-template)
+ [Crea un AS2 acuerdo](#as2-agreements)

## Cree un AS2 servidor mediante la consola Transfer Family
<a name="create-server-as2-console"></a>

En este procedimiento se explica cómo crear un servidor AS2 habilitado mediante la consola Transfer Family. Si desea utilizar el AWS CLI en su lugar, consulte[Paso 4: Crear un servidor Transfer Family que utilice el AS2 protocolo](as2-example-tutorial.md#as2-example-server).

**nota**  
Puede adjuntar un flujo de trabajo de procesamiento de archivos a un servidor Transfer Family que utilice el AS2 protocolo; sin embargo, AS2 los mensajes no ejecutan los flujos de trabajo adjuntos al servidor. 

**Para crear un servidor habilitado AS2**

1. Abra la AWS Transfer Family consola en. [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/)

1. En el panel de navegación izquierdo, seleccione **Servidores** y, a continuación, **Crear servidor**.

1. En la página **Elegir protocolos**, seleccione **AS2(Declaración de aplicabilidad 2)** y, a continuación, elija **Siguiente**.

1. En la página **Elija un proveedor de identidad**, elija **Siguiente**.
**nota**  
Pues AS2, no puede elegir un proveedor de identidad porque el AS2 protocolo no admite la autenticación básica. En su lugar, usted controla el acceso a través de grupos de seguridad de nube privada virtual (VPC).

1. En la página **Elegir un punto de conexión** haga lo siguiente:  
![\[Captura de pantalla de la consola que muestra la página Elegir un punto de conexión con una VPC alojada seleccionada.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/create-server-choose-endpoint-vpc-internal.png)

   1. En el **tipo de punto de conexión**, seleccione el punto de conexión **alojado en la VPC** para alojar el punto de conexión de su servidor. Para obtener más información acerca de cómo configurar un punto de conexión alojado en la VPC, consulte [Creación de un servidor en una nube privada virtual (VPC)](create-server-in-vpc.md).
**nota**  
Los puntos finales de acceso público no son compatibles con el AS2 protocolo. Para que su punto de conexión de VPC sea accesible a través de Internet, elija **Internet Facing** en **Acceso** y, a continuación, proporcione sus direcciones IP elásticas. 

   1. En **Acceso**, elija una de las siguientes opciones:
      + **Interno**: elija esta opción para proporcionar acceso desde sus entornos de VPC y conectados a VPC, como un centro de datos en las instalaciones a través de un Direct Connect o VPN.
      + **Orientado a Internet**: elija esta opción para proporcionar acceso a través de Internet y desde sus entornos de VPC y conectados a VPC, como un centro de datos local a través de una VPN. Direct Connect 

        Si elige **Internet**, proporcione sus direcciones IP elásticas cuando se le pida.

   1. Para una **VPC**, elija una VPC existente o elija **Crear VPC** para crear una nueva VPC.

   1. En el caso de **FIPS activado**, mantenga desactivada la casilla de verificación del punto de conexión con **FIPS** activado.
**nota**  
Los puntos de conexión habilitados para FIPS no son compatibles con el protocolo. AS2

   1. Elija **Siguiente**.

1. En la página **Elija un dominio**, elija **Amazon S3** para almacenar sus archivos y acceder a ellos como objetos mediante el protocolo seleccionado.

   Elija **Siguiente**.

1. En la página **Configurar detalles adicionales**, elija los ajustes que necesite.
**nota**  
Si va a configurar otros protocolos junto con ellos AS2, se aplicarán todos los ajustes de detalle adicionales. Sin embargo, para el AS2 protocolo, los únicos ajustes que se aplican son los de las secciones de **CloudWatch registro** y **etiquetas**.  
Aunque la configuración de una función de CloudWatch registro es opcional, le recomendamos encarecidamente que la configure de forma que pueda ver el estado de los mensajes y solucionar los problemas de configuración.

1. En la página **Revisar y crear**, revise sus opciones para asegurarse de que son correctas.
   + Si quiere editar alguna de sus configuraciones, seleccione **Editar** junto al paso que desea cambiar.
**nota**  
Si editas un paso, le recomendamos que revises cada paso después del paso que decidiste editar.
   + Si no ha realizado cambios, seleccione **Crear servidor** para crear el suyo. Así llegará a la página **Servers (Servidores)**, mostrada a continuación, donde ya aparece el nuevo servidor.

     Pueden transcurrir algunos minutos antes de que el estado del nuevo servidor SFTP cambie a **Online**. En ese momento, el servidor ya puede realizar operaciones con archivos para los usuarios.

## Usa una plantilla para crear un AS2 stack de Transfer Family de demostración
<a name="as2-cfn-demo-template"></a>

Proporcionamos una CloudFormation plantilla independiente para crear rápidamente un servidor Transfer Family AS2 habilitado. La plantilla configura el servidor con un punto de conexión de VPC de Amazon público, certificados, perfiles locales y de socios, un acuerdo y un conector.

La plantilla de AS2 servidor básica crea los siguientes recursos:
+ Un servidor Transfer Family AS2 habilitado con un terminal de VPC
+  AS2 Perfiles locales y de socios con certificados
+ Un acuerdo entre los perfiles
+ Un bucket de Amazon S3 para almacenamiento de archivos
+ Funciones y políticas de IAM obligatorias
+ CloudWatch configuración de registro

 Antes de usar esta plantilla, debe tener en cuenta lo siguiente:
+ Se le facturarán los recursos de AWS que utilice si crea una pila a partir de esta plantilla.
+ La plantilla crea varios certificados y los coloca AWS Secrets Manager para almacenarlos de forma segura. Si lo desea, puede eliminar estos certificados de Secrets Manager, puesto que se le cobrará por usar este servicio. La eliminación de estos certificados en Secrets Manager no lo realiza el servidor de Transfer Family. Por tanto, la funcionalidad de la pila de demostración no se ve afectada. Sin embargo, en el caso de los certificados que vaya a utilizar con un AS2 servidor de producción, puede utilizar Secrets Manager para gestionar y rotar periódicamente los certificados almacenados.
+ Le recomendamos que utilice la plantilla solo como base y, sobre todo, con fines de demostración. Si quiere utilizar esta pila de demostración en producción, le recomendamos que modifique el código YAML de la plantilla para crear una pila más sólida. Por ejemplo, cree certificados de nivel de producción y cree una función AWS Lambda que pueda usar en producción.

**Para crear un servidor Transfer Family AS2 habilitado a partir de una plantilla CloudFormation**

1. Abre la CloudFormation consola en [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

1. En el panel de navegación izquierdo, elija **Pilas**.

1. Elija **Create stack (Crear pila)**, y, a continuación, elija **With new resources (standard) (Con nuevos recursos [estándar])**. 

1. En la sección **Requisitos previos: preparar una plantilla**, **elija Elegir una plantilla existente**. 

1. Copia este enlace, [plantilla de AS2 demostración](https://s3.amazonaws.com/aws-transfer-resources/as2-templates/aws-transfer-as2-basic.template.yml), y pégalo en el campo **URL de Amazon S3**. 

1. Elija **Siguiente**. 

1. En la página **Especificar los detalles de la pila**, asigne un nombre a la pila y, a continuación, especifique los siguientes parámetros: 
   + En **AS2**, introduzca los valores de ** AS2ID local** e ** AS2 ID de socio**, o acepte los valores predeterminados `local` y`partner`, respectivamente. 
   + En **Red**, introduzca un valor para la **IP CIDR de entrada de grupos de seguridad** o acepte el valor predeterminado, `0.0.0.0/0`. 
**nota**  
Este valor, en formato CIDR, especifica qué direcciones IP están permitidas para el tráfico entrante al AS2 servidor. El valor predeterminado, `0.0.0.0/0`, permite todas las direcciones IP.
   + En **General**, introduzca un valor para **Prefijo**, o acepte el valor predeterminado, `transfer-as2`. Este prefijo se coloca antes de cualquier nombre de recurso creado por la pila. Por ejemplo, si utiliza el prefijo predeterminado, su bucket de Amazon S3 se llamará `transfer-as2-amzn-s3-demo-bucket`. 

1. Elija **Siguiente**. En la página **Configurar opciones de pila**, elija **Siguiente**. 

1. Revise los detalles de la pila que está creando y, a continuación, seleccione **Crear pila**. 
**nota**  
En la parte inferior de la página, en la sección **Capacidades**, debe reconocer que CloudFormation podría crear recursos AWS Identity and Access Management (IAM). 

Una vez creada la pila, puede enviar un AS2 mensaje de prueba desde el servidor asociado a su servidor Transfer Family local mediante AWS Command Line Interface (AWS CLI). Se crea un AWS CLI comando de muestra para enviar un mensaje de prueba junto con todos los demás recursos de la pila. 

Para usar este comando de ejemplo, ve a la pestaña **Salidas** de tu pila y copia el **TransferExampleAscomando 2**. A continuación, puede ejecutar el comando mediante AWS CLI. Si aún no lo ha instalado AWS CLI, consulte [Instalación o actualización de la última versión de AWS CLI en la](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guía del AWS Command Line Interface usuario*. 

El comando de ejemplo tiene el siguiente formato:

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key test.txt && aws transfer start-file-transfer --region aws-region --connector-id TransferConnectorId --send-file-paths /amzn-s3-demo-bucket/test.txt
```

**nota**  
Su versión de este comando contiene los valores reales para los recursos `amzn-s3-demo-bucket` y `TransferConnectorId` de su pila.

Este comando de ejemplo consta de dos comandos independientes que se encadenan mediante la cadena `&&`. 

El primer comando crea un archivo de texto nuevo y vacío en el bucket:

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key test.txt
```

A continuación, el segundo comando utiliza el conector para enviar el archivo del perfil asociado al perfil local. El servidor de Transfer Family tiene un acuerdo establecido que permite que el perfil local acepte mensajes del perfil del socio.

```
aws transfer start-file-transfer --region aws-region --connector-id TransferConnectorId --send-file-paths /amzn-s3-demo-bucket/test.txt
```

Tras ejecutar el comando, puede ir a su bucket de Amazon S3 (`amzn-s3-demo-bucket`) y ver el contenido. Si el comando se ejecuta correctamente, debería ver los siguientes objetos en el bucket:
+ `processed/`: esta carpeta contiene un archivo JSON que describe el archivo transferido y la respuesta de MDN.
+ `processing/`: esta carpeta contiene temporalmente los archivos a medida que se procesan; pero, una vez finalizada la transferencia, esta carpeta debería estar vacía.
+ `server-id/`: el nombre de esta carpeta se basa en el ID de servidor de Transfer Family. Contiene `from-partner` (esta carpeta recibe un nombre dinámico en función del AS2 identificador del socio), que a su vez contiene `failed/``processed/`, y `processing/` carpetas. La carpeta `/server-id/from-partner/processed/` contiene una copia del archivo de texto transferido y los archivos JSON y MDN correspondientes.
+ `test.txt`: este objeto es el archivo (vacío) que se transfirió.

## Crea un AS2 acuerdo
<a name="as2-agreements"></a>

Los acuerdos están asociados a los servidores Transfer Family. Especifican los detalles de los socios comerciales que utilizan el AS2 protocolo para intercambiar mensajes o archivos mediante Transfer Family, para las transferencias *entrantes*, es decir, el envío de AS2 archivos desde una fuente externa propiedad del socio a un servidor de Transfer Family.

En este procedimiento se explica cómo crear AS2 acuerdos mediante la consola Transfer Family. Si desea utilizar la AWS CLI en su lugar, consulte[Paso 5: creación de un acuerdo entre usted y su socio](as2-example-tutorial.md#as2-create-agreement-example).

**Creación de un acuerdo para un servidor de Transfer Family**

1. Abra la AWS Transfer Family consola en [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. En el panel de navegación izquierdo, elija **Servidores** y, a continuación, elija un servidor que utilice el AS2 protocolo.

   Como alternativa, siempre que tenga al menos un servidor Transfer Family que utilice el AS2 protocolo, seleccione **Acuerdos para recibir mensajes** en el menú **Socios AS2 comerciales**. A continuación, en la pantalla **Crear acuerdo**, seleccione el AS2 servidor al que desee asociar este acuerdo.

1. En la página de detalles del servidor, desplácese hacia abajo hasta la sección **Acuerdos**.

1. Seleccione **Añadir acuerdo**.

1. Complete los parámetros del acuerdo de la siguiente manera:

   1. En la sección **Configuración del acuerdo**, introduzca un nombre descriptivo. Asegúrese de poder identificar el propósito del acuerdo por su nombre. Además, defina el **estado** del acuerdo: **Activo** (seleccionado de forma predeterminada) o **Inactivo**.

   1. En la sección **Configuración de la comunicación**, elija un perfil local y un perfil de socio. Además, elija si desea forzar o no la firma de los mensajes.
      + De forma predeterminada, **Exigir la firma** de mensajes está habilitada, lo que significa que Transfer Family rechaza los mensajes no firmados de su socio comercial para este acuerdo.
      + Desactive esta configuración para permitir que Transfer Family acepte mensajes no firmados de su socio comercial para este acuerdo.

   1. En la sección de **configuración del directorio de la bandeja** de entrada, proporcione la siguiente información.
      + Determina si deseas o no seleccionar **Especificar directorios separados para almacenar tus AS2 mensajes, archivos MDN y archivos de estado JSON**.
        + Si seleccionas esta opción, especificas ubicaciones distintas para los archivos de carga útil, los archivos con errores, los archivos MDN, los archivos de estado y los archivos temporales.
        + Si desactivas esta opción, todos los AS2 archivos irán a la ubicación que especifiques para el directorio base.
      + Para **S3 Bucket**, elija un bucket de Amazon S3.
      + En **Prefix**, puede introducir un prefijo (carpeta) para almacenar los archivos en el bucket.

        Por ejemplo, si escribes **amzn-s3-demo-bucket** para el depósito y **incoming** el prefijo, los AS2 archivos se guardarán en la carpeta. `/amzn-s3-demo-bucket/incoming`
      + Para el **rol de AWS IAM**, elija un rol que pueda acceder al depósito que especificó.
      + En **Conservar el nombre de archivo**, elija si desea conservar los nombres de archivo originales para las cargas de los AS2 mensajes entrantes.
        + Si selecciona esta configuración, el nombre de archivo proporcionado por su socio comercial se conserva cuando el archivo se guarda en Amazon S3.
        + Si desactiva esta configuración, cuando Transfer Family guarde el archivo, se ajustará el nombre del archivo, tal y como se describe en[Nombres y ubicaciones de los archivos](send-as2-messages.md#file-names-as2).

   1. (Opcional) En la sección **Etiquetas**, agregue etiquetas a su secreto.

   1. Una vez haya introducido toda la información del acuerdo, elija **Crear acuerdo**.

El nuevo acuerdo aparece en la sección **Acuerdos** de la página de detalles del servidor.

# Configure AS2 los conectores
<a name="configure-as2-connector"></a>

El propósito de un conector es establecer una relación entre los socios comerciales para las transferencias *salientes*, es decir, enviar AS2 archivos desde un servidor de Transfer Family a un destino externo propiedad del socio. Para el conector, debe especificar la parte local, el socio remoto y sus certificados (mediante la creación de perfiles locales y de socios).

Una vez haya instalado un conector, podrá transferir información a sus socios comerciales. A cada AS2 servidor se le asignan tres direcciones IP estáticas. AS2 los conectores utilizan estas direcciones IP para realizar envíos asíncronos MDNs a sus socios comerciales. AS2

**nota**  
El tamaño del mensaje recibido por un socio comercial no coincidirá con el tamaño del objeto en Amazon S3. Esta discrepancia se debe a que el AS2 mensaje envuelve el archivo en un sobre antes de enviarlo. Por tanto, el tamaño del archivo puede aumentar, incluso si el archivo se envía comprimido. Por tanto, asegúrese de que el tamaño máximo de archivo del socio comercial sea mayor que el tamaño del archivo que está enviando.

1. [AS2 Certificados de importación](managing-as2-partners.md#configure-as2-certificate)

1. [Crear perfiles AS2](configure-as2-profile.md)

1. [Crear un AS2 servidor](create-as2-transfer-server.md)

1. [Crea un AS2 acuerdo](create-as2-transfer-server.md#as2-agreements)

1. Cree un conector AS2 

## Cree un AS2 conector
<a name="create-as2-connector"></a>

En este procedimiento se explica cómo crear AS2 conectores mediante la AWS Transfer Family consola. Si desea utilizar el AWS CLI en su lugar, consulte[Paso 6: creación de un conector entre usted y su socio](as2-example-tutorial.md#as2-create-connector-example).

**Para crear un AS2 conector**

1. Abra la AWS Transfer Family consola en [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. En el panel de navegación izquierdo, seleccione **Conectores para enviar mensajes** en el menú **Socios AS2 comerciales** y, a continuación, seleccione **Crear AS2 conector**.

1. En la sección de **configuración del conector**, especifique la siguiente información:
   + **URL**: introduzca la URL de las conexiones salientes.
   + **Función de acceso**: elija el nombre de recurso de Amazon (ARN) de la función AWS Identity and Access Management (IAM) que se va a utilizar. Asegúrese de que este rol proporcione acceso de lectura y escritura al directorio principal de la ubicación del archivo que se utiliza en la solicitud `StartFileTransfer`. Además, asegúrese de que el rol proporcione acceso de lectura y escritura al directorio principal de los archivos que desea enviar con `StartFileTransfer`.
**nota**  
Si utiliza la autenticación básica para su conector, el rol de acceso requiere el permiso `secretsmanager:GetSecretValue` del secreto. Si el secreto se cifra mediante una clave gestionada por el cliente Clave administrada de AWS en lugar de la clave de AWS Secrets Manager entrada, el rol también necesitará el `kms:Decrypt` permiso para esa clave. Si nombra su secreto con el prefijo `aws/transfer/`, puede añadir el permiso necesario con un carácter comodín (`*`), como se muestra en el [Ejemplo de permiso para crear secretos](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_examples_wildcard).
   + **Función de registro** (opcional): elija la función de IAM para que el conector la utilice para enviar eventos a sus CloudWatch registros.

1. En la sección de **AS2 configuración**, elija los perfiles locales y de los socios, los algoritmos de cifrado y firma y decida si desea comprimir la información transferida. Tenga en cuenta lo siguiente:
   + El parámetro **Preserve S3 Content-Type** está activado de forma predeterminada.

     Cuando se establece, Transfer Family utiliza Amazon S3 `Content-Type` que está asociado a los objetos de S3 en lugar de asignar el tipo de contenido en función de la extensión del archivo. Desactive esta configuración si desea que el servicio asigne el tipo de contenido de sus AS2 mensajes en función de la extensión del archivo, en lugar de utilizar el tipo de contenido del objeto S3.
   + No elija el algoritmo de cifrado `DES_EDE3_CBC` a menos que sea compatible con un cliente antiguo que lo requiera, ya que se trata de un algoritmo de cifrado débil.
   + El **asunto** se utiliza como atributo de encabezado `subject` HTTP en AS2 los mensajes que se envían con el conector.
   + Si decide crear un conector sin un algoritmo de cifrado, debe `HTTPS` especificarlo como protocolo.

1. En la sección **Autenticación básica**, especifique la siguiente información.
   + Para enviar las credenciales de inicio de sesión junto con los mensajes salientes, seleccione **Habilitar la autenticación básica**. Si no quiere enviar ninguna credencial con los mensajes salientes, mantén desactivada la opción **Habilitar la autenticación básica**.
   + Si utiliza la autenticación, elija o cree un secreto.
     + Para crear un secreto nuevo, seleccione **Crear un secreto nuevo** y, a continuación, introduzca un nombre de usuario y una contraseña. Estas credenciales deben coincidir con el usuario que se conecta al punto de conexión del socio.  
![\[La página Crear un conector de la AWS Transfer Family consola, que muestra la sección de autenticación básica con la opción Crear un nuevo secreto.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-basic-auth-create-secret.png)
     + Para utilizar un secreto, elija **Usar secreto existente** y, a continuación, elija un secreto de la lista. Para obtener información detallada acerca de la forma de crear un secreto con el formato correcto en Secrets Manager, consulte [Habilite la autenticación básica para los conectores AS2](#as2-secret-create).  
![\[La página de creación de un conector de la AWS Transfer Family consola, en la que se muestra la sección de autenticación básica con la opción Elegir un secreto existente.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-basic-auth-select-secret.png)

1. En la sección de **Configuración MDN**, especifique la siguiente información:
   + **Solicita un MDN**: tienes la opción de solicitar a tu socio comercial que te envíe un MDN una vez que haya recibido correctamente tu mensaje. AS2
   + **MDN firmado**: tienes la opción de solicitar que MDNs esté firmado. Esta opción solo está disponible si has seleccionado **Solicitar MDN**.

1. Una vez que hayas confirmado todos los ajustes, selecciona **Crear AS2 conector** para crear el conector.

Aparece la página **Conectores**, con el identificador del nuevo conector agregado a la lista. Para ver los detalles de los conectores, consulte [Vea los detalles AS2 del conector](#connectors-view-info).

## AS2 algoritmos de conector
<a name="as2-connectors-details"></a>

Al crear un AS2 conector, se adjuntan los siguientes algoritmos de seguridad al conector.


| Tipo | Algoritmo | 
| --- | --- | 
| Cifrados TLS | TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1128\$1GCM\$1 SHA256 TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1128\$1GCM\$1 SHA256 TLS\$1ECDHE\$1ECDSA\$1CON\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1ECDHE\$1ECDSA\$1CON\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1ECDSA\$1CON\$1AES\$1256\$1CBC\$1 SHA384 TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1256\$1CBC\$1 SHA384 | 

## Autenticación básica para conectores AS2
<a name="as2-basic-auth"></a>

Al crear o actualizar un servidor Transfer Family que utiliza el AS2 protocolo, puede añadir la autenticación básica para los mensajes salientes. Para ello, añada la información de autenticación a un conector.

**nota**  
La autenticación básica solo está disponible si utiliza HTTPS.

Para utilizar la autenticación para el conector, seleccione **Habilitar la autenticación básica** en la sección **Autenticación básica**. Tras habilitar la autenticación básica, puede optar por crear un secreto nuevo o utilizar uno existente. En cualquier caso, las credenciales del secreto se envían con los mensajes salientes que utilizan este conector. Las credenciales deben coincidir con las del usuario que intenta conectarse al punto de conexión remoto del socio comercial.

En la siguiente captura de pantalla se muestra la opción **Activar la autenticación básica** y la opción **Crear un secreto nuevo**. Tras realizar estas selecciones, puede introducir un nombre de usuario y una contraseña para el secreto. 

![\[La página Conectores de la consola de Transfer Family, que muestra la información de autenticación de mensajes del conector. En este caso, se selecciona Activar la autenticación básica y se selecciona Crear un secreto nuevo.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-basic-auth-create-secret.png)


En la siguiente captura de pantalla se muestra la opción **Activar la autenticación básica** y la opción **Seleccionar un secreto existente**. El secreto debe tener el formato correcto, tal y como se explica en [Habilite la autenticación básica para los conectores AS2](#as2-secret-create).

![\[La página Conectores de la consola de Transfer Family, que muestra la información de autenticación de mensajes del conector. En este caso, se selecciona Activar la autenticación básica y Elegir un secreto existente.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-basic-auth-select-secret.png)


## Habilite la autenticación básica para los conectores AS2
<a name="as2-secret-create"></a>

Al habilitar la autenticación básica para los AS2 conectores, puede crear un secreto nuevo en la consola Transfer Family o usar uno que haya creado en AWS Secrets Manager. En cualquier caso, su secreto se guarda en Secrets Manager.

**Topics**
+ [Creación de un nuevo secreto en la consola](#as2-secret-details-console)
+ [Usar un secreto de existente](#use-existing-secret)
+ [Crea un secreto en AWS Secrets Manager](#as2-secret-details-asm)

### Creación de un nuevo secreto en la consola
<a name="as2-secret-details-console"></a>

Al crear un conector en la consola, puede crear un secreto nuevo.

Para crear un secreto nuevo, seleccione **Crear un secreto nuevo** y, a continuación, introduzca un nombre de usuario y una contraseña. Estas credenciales deben coincidir con el usuario que se conecta al punto de conexión del socio.

![\[La página de creación de conectores de la AWS Transfer Family consola, que muestra la sección de autenticación básica con la opción Crear un nuevo secreto.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-basic-auth-create-secret.png)


**nota**  
Al crear un nuevo secreto en la consola, el nombre del secreto sigue esta convención de nomenclatura:**/aws/transfer/*connector-id***, donde *connector-id* está el ID del conector que se está creando. Ten esto en cuenta cuando intentes localizar el secreto AWS Secrets Manager.

### Usar un secreto de existente
<a name="use-existing-secret"></a>

Al crear un conector en la consola, puede especificar un secreto existente.

Para utilizar un secreto, elija **Usar secreto existente** y, a continuación, elija un secreto de la lista. Para obtener información detallada acerca de la forma de crear un secreto con el formato correcto en Secrets Manager, consulte [Crea un secreto en AWS Secrets Manager](#as2-secret-details-asm).

![\[La página de creación de conectores de la AWS Transfer Family consola, que muestra la sección de autenticación básica con la opción Elegir un secreto existente.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-basic-auth-select-secret.png)


### Crea un secreto en AWS Secrets Manager
<a name="as2-secret-details-asm"></a>

El siguiente procedimiento describe cómo crear un secreto adecuado para usarlo con el AS2 conector.

**nota**  
La autenticación básica solo está disponible si utiliza HTTPS.<a name="as2-auth-secret-key"></a>

**Para almacenar las credenciales de usuario en Secrets Manager para la autenticación AS2 básica**

1. Inicie sesión en Consola de administración de AWS y abra la AWS Secrets Manager consola en [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. En el panel de navegación izquierdo, seleccione **Secretos**. 

1. En la página **Secretos**, seleccione **Almacenar un nuevo secreto**.

1. En la página **Seleccionar tipo de secreto**, en **Tipo de secreto**, seleccione **Otro tipo de secreto**.

1. En la sección de **Pares clave-valor**, seleccione la pestaña **Clave/valor**.
   + **Clave**: introduzca **Username**.
   + **valor**: introduzca el nombre del usuario que está autorizado a conectarse al servidor del socio.

1. Si desea proporcionar una contraseña, seleccione **Añadir fila** y, en la sección **Pares clave/valor**, elija la pestaña **Clave/valor.**

   Seleccione **Añadir fila** y, en la sección **Pares clave/valor**, elija la pestaña **Clave/valor**.
   + **Clave**: introduzca **Password**.
   + **valor**: introduzca una contraseña para el usuario.

1. Si desea proporcionar una clave privada, seleccione **Añadir fila** y, en la sección **Pares clave/valor**, elija la pestaña **Clave/valor**.
   + **Clave**: introduzca **PrivateKey**.
   + **valor**: introduzca una clave privada para el usuario. Este valor debe almacenarse en formato OpenSSH y debe corresponder a la clave pública que se almacena para este usuario en el servidor remoto.

1. Elija **Siguiente**.

1. En la página **Configurar secreto**, introduzca un nombre y una descripción para el secreto. Se recomienda utilizar un prefijo de **aws/transfer/** para el nombre. Por ejemplo, puede dar un nombre a su secreto de **aws/transfer/connector-1**.

1. Seleccione **Siguiente** y, a continuación, acepte los valores predeterminados de la página **Configurar rotación**. A continuación, elija **Siguiente**.

1. En la página de **Revisión**, elija **Guardar** para crear y almacenar el secreto.

Tras crear el secreto, puede elegirlo al crear un conector (consulte [Configure AS2 los conectores](#configure-as2-connector)). En el paso en el que habilita la autenticación básica, elija el secreto de la lista desplegable de todos los secretos disponibles.

## Vea los detalles AS2 del conector
<a name="connectors-view-info"></a>

Puede encontrar una lista de detalles y propiedades de un AS2 AWS Transfer Family conector en la AWS Transfer Family consola. Las propiedades de un AS2 conector incluyen su URL, funciones, perfiles MDNs, etiquetas y métricas de supervisión.

Este es el procedimiento para ver los detalles del conector.

**Visualización de los detalles del conector**

1. Abra la AWS Transfer Family consola en [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. En el panel de navegación izquierdo, seleccione **Connectors (Conectores)**.

1. Elija el identificador en la columna **ID del conector** para ver la página de detalles del conector seleccionado.

Puede cambiar las propiedades del AS2 conector en la página de detalles del conector seleccionando **Editar**.

![\[La página de detalles del conector de consola Transfer Family, que muestra la URL, el rol de acceso y el rol de registro del conector seleccionado.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-connector-details_01-top.png)


![\[La página de detalles del conector de consola Transfer Family, que muestra los detalles de AS2 configuración del conector seleccionado.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-connector-details_02-middle.png)


![\[La página de detalles del conector de consola Transfer Family, que muestra los detalles de la sección de autenticación AS2 básica, las etiquetas, la IP estática y la información de AS2 supervisión del conector seleccionado.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-basic-auth-details-pane.png)


**nota**  
Puede obtener gran parte de esta información, aunque en un formato diferente, ejecutando el siguiente AWS CLI comando AWS Command Line Interface (comando:  

```
aws transfer describe-connector --connector-id your-connector-id
```
Para obtener más información, consulte [https://docs.aws.amazon.com/transfer/latest/APIReference/API_DescribeConnector.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_DescribeConnector.html) en la referencia de la API.

# Enviar y recibir AS2 mensajes
<a name="send-as2-messages"></a>

En esta sección se describen los procesos de envío y recepción de AS2 mensajes. También proporciona detalles sobre los nombres de los archivos y las ubicaciones asociadas a AS2 los mensajes.

En la siguiente tabla se enumeran los algoritmos de cifrado disponibles para AS2 los mensajes y cuándo se pueden utilizar.


| Algoritmo de cifrado | HTTP | HTTPS | Notas | 
| --- |--- |--- |--- |
| AES128\$1CBC | Sí | Sí |  | 
| AES192\$1CBC | Sí | Sí |  | 
| AES256\$1CBC | Sí | Sí |  | 
| DES\$1 \$1CBC EDE3 | Sí | Sí | Utilice este algoritmo únicamente si debe admitir un cliente antiguo que lo requiera, ya que es un algoritmo de cifrado débil. | 
| NONE | No | Sí | Si envía mensajes a un servidor de Transfer Family, solo puede seleccionar NONE si utiliza un Application Load Balancer (ALB). | 

**Topics**
+ [Proceso de recepción AS2 de mensajes](#as2-inbound-process)
+ [Enviar y recibir AS2 mensajes a través de HTTPS](#as2-https-process)
+ [Transferencia de archivos mediante un conector AS2](#transfer-as2-connectors)
+ [Nombres y ubicaciones de los archivos](#file-names-as2)
+ [Códigos de estado](#status-codes)
+ [Ejemplos de archivos de JSON](#file-as2-json)

## Proceso de recepción AS2 de mensajes
<a name="as2-inbound-process"></a>

El proceso entrante se define como un mensaje o un archivo que se transfiere a tu AWS Transfer Family servidor. La secuencia de los mensajes entrantes es la siguiente:

1. Un proceso automatizado o de administración inicia una transferencia de AS2 archivos en el AS2 servidor remoto del socio.

1. El AS2 servidor remoto del socio firma y cifra el contenido del archivo y, a continuación, envía una solicitud HTTP POST a un punto final AS2 entrante alojado en Transfer Family.

1. Mediante los valores configurados para el servidor, los socios, los certificados y el acuerdo, Transfer Family descifra y verifica la AS2 carga útil. El contenido del archivo se almacena en el almacén de archivos configurado de Amazon S3.

1. La respuesta MDN firmada se devuelve en línea con la respuesta HTTP o de forma asíncrona mediante una solicitud HTTP POST independiente al servidor de origen.

1. Se escribe un registro de auditoría a Amazon CloudWatch con detalles sobre el intercambio.

1. El archivo descifrado está disponible en una carpeta llamada `inbox/processed`.

![\[Diagrama que muestra la secuencia de procesamiento de los mensajes entrantes.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-architecture-inbound.png)


## Enviar y recibir AS2 mensajes a través de HTTPS
<a name="as2-https-process"></a>

En esta sección se describe cómo configurar un servidor Transfer Family que utilice el AS2 protocolo para enviar y recibir mensajes a través de HTTPS.

**Topics**
+ [Envía AS2 mensajes a través de HTTPS](#send-https)
+ [Reciba AS2 mensajes a través de HTTPS](#receive-https)

### Envía AS2 mensajes a través de HTTPS
<a name="send-https"></a>

Para enviar AS2 mensajes mediante HTTPS, cree un conector con la siguiente información:
+ Para la URL, especifique una URL HTTPS
+ Para el algoritmo de cifrado, seleccione cualquiera de los algoritmos disponibles.
**nota**  
 Para enviar mensajes a un servidor Transfer Family sin utilizar el cifrado (es decir, si selecciona el algoritmo `NONE` de cifrado), debe utilizar un Application Load Balancer (ALB).
+ Proporcione los valores restantes para el conector tal y como se describe en [Configure AS2 los conectores](configure-as2-connector.md).

### Reciba AS2 mensajes a través de HTTPS
<a name="receive-https"></a>

 AWS Transfer Family AS2 Los servidores actualmente solo proporcionan transporte HTTP a través del puerto 5080. Sin embargo, puede finalizar el TLS en un balanceador de carga de redes o aplicaciones frente al punto final de VPC del servidor Transfer Family mediante el puerto y el certificado que prefiera. Con este enfoque, puedes hacer que los AS2 mensajes entrantes usen HTTPS.

**Requisitos previos**
+ La VPC debe estar en el mismo lugar que su Región de AWS servidor Transfer Family.
+ Las subredes de la VPC deben estar dentro de las zonas de disponibilidad en las que desee utilizar el servidor.
**nota**  
Cada servidor Transfer Family admite hasta tres zonas de disponibilidad.
+ Asigne hasta tres direcciones IP elásticas en la misma región que su servidor. O puede optar por traer su propio intervalo de direcciones IP (BYOIP).
**nota**  
La cantidad de direcciones IP elásticas debe coincidir con la cantidad de zonas de disponibilidad que utilice con los puntos de conexión del servidor.

Puede configurar un Network Load Balance (NLB) o un Application Load Balancer (ALB). En la siguiente tabla se enumeran las ventajas y desventajas de cada enfoque.

La siguiente tabla muestra las diferencias en las capacidades cuando se utiliza un NLB y un ALB para finalizar el TLS.


| Característica | Network Load Balancer (NLB) | Application Load Balancer (ALB) | 
| --- | --- | --- | 
| Latencia | Menor latencia, ya que funciona en la capa de red. | Mayor latencia, ya que funciona en la capa de aplicación. | 
| Compatibilidad con direcciones IP estáticas | Puede adjuntar direcciones IP elásticas que pueden ser estáticas. | No se pueden adjuntar direcciones IP elásticas: proporciona un dominio cuyas direcciones IP subyacentes pueden cambiar. | 
| Enrutamiento avanzado | No admite el enrutamiento avanzado. | Admite el enrutamiento avanzado. Puede inyectar el `X-Forwarded-Proto` encabezado necesario o AS2 sin cifrado. [Este encabezado se describe en [X-Forwarded-Proto en el sitio web developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto).](https://developer.mozilla.org/) | 
| Terminación de TLS/SSL | Soporta la terminación TLS/SSL  | Soporta TLS/SSL la terminación | 
| TLS mutuo (mTLS) | Transfer Family no admite actualmente el uso de un NLB para los mTLs | Support for mTLS | 

------
#### [ Configure NLB ]

Este procedimiento describe cómo configurar un Network Load Balancer (NLB) con acceso a Internet en la VPC.<a name="create-nlb-AS2"></a>

**Creación de un equilibrador de carga de red y definición del punto de conexión de VPC del servidor como destino del equilibrador de carga**

1. Abra la consola de Amazon Elastic Compute Cloud en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Equilibradores de carga** y, a continuación, elija **Crear equilibrador de carga**.

1. En **equilibrador de carga de red**, seleccione **Crear**.

1. En la sección **Configuración básica**, introduzca la siguiente información:
   + En **Nombre**, escriba el nombre del equilibrador de carga.
   + En **Scheme**, elija ** Internet-facing**.
   + En **IP address type** ((Tipo de dirección IP), elija **IPv4**.

1. En la sección **Asignaciones de red**, escriba la siguiente información:
   + En **VPC**, elija la nube privada virtual (VPC) que haya creado.
   + En **Asignaciones**, elija las zonas de disponibilidad asociadas a las subredes públicas que están disponibles en la misma VPC que utiliza con los puntos de conexión del servidor.
   + Para la **IPv4 dirección** de cada subred, elija una de las direcciones IP elásticas que haya asignado.

1. En la sección **Oyentes y rutas**, escriba la siguiente información:
   + En **Protocol**, elija **TLS**.
   + En **Puerto**, escriba **5080**.
   + En **Acción predeterminada**, elija **Crear grupo objetivo**. Para obtener información detallada sobre la creación de un nuevo grupo objetivo, consulte [Creación de un grupo de destino](#create-target-group).

   Tras crear un grupo objetivo, introduzca su nombre en el campo **Acción predeterminada**.

1. En la sección de **configuración de Secure Listener**, elija su certificado en el área de ** SSL/TLS certificados predeterminados**.

1. Elija **Crear un equilibrador de carga** para crear el equilibrador de carga de red.

1. (Opcional, pero recomendado) Active los registros de acceso del equilibrador de carga de red para mantener un registro de auditoría completo, tal y como se describe en [los registros de acceso del equilibrador de carga de red](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-access-logs.html).

   Recomendamos este paso porque la conexión TLS finaliza en el NLB. Por lo tanto, la dirección IP de origen que se refleja en sus grupos de AS2 CloudWatch registros de Transfer Family es la dirección IP privada del NLB, en lugar de la dirección IP externa de su socio comercial.

------
#### [ Configure ALB ]

Este procedimiento describe cómo configurar un Application Load Balancer (ALB) en la VPC.<a name="create-alb-AS2"></a>

**Para crear un Application Load Balancer y definir el punto final de VPC del servidor como destino del balanceador de carga**

1. Abra la consola de Amazon Elastic Compute Cloud en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Equilibradores de carga** y, a continuación, elija **Crear equilibrador de carga**.

1. En **Equilibrador de carga de aplicación**, elija **Create** (Crear).

1. En la consola ALB, cree un nuevo agente de escucha HTTP en el puerto 443 (HTTPS).

1. (Opcional). Si desea configurar la autenticación mutua (mTLS), configure los ajustes de seguridad y un almacén de confianza.

   1. Adjunta tu SSL/TLS certificado al listener.

   1. En **Gestión de certificados de cliente**, selecciona **Autenticación mutua (mTLS)**.

   1. Elige **Verificar con un almacén de confianza.**

   1. En **Configuración avanzada de mTLS**, elija o cree un almacén de confianza cargando sus certificados de CA.

1. Cree un nuevo grupo de destino y añada las direcciones IP privadas de los puntos finales AS2 del servidor Transfer Family como destinos en el puerto 5080. Para obtener información detallada sobre la creación de un nuevo grupo objetivo, consulte [Creación de un grupo de destino](#create-target-group).

1. Configure las comprobaciones de estado para que el grupo de destino utilice el protocolo HTTP en el puerto 5080.

1. Cree una nueva regla para reenviar el tráfico HTTPS del agente de escucha al grupo de destino.

1. Configure el agente de escucha para que utilice su certificado SSL/TLS.

------

Tras configurar el equilibrador de carga, los clientes se comunican con el equilibrador de carga a través del receptor de puertos personalizado. A continuación, el equilibrador de carga se comunica con el servidor a través del puerto 5080.<a name="create-target-group"></a>

**Creación de un grupo de destino**

1. Tras seleccionar **Crear grupo de destino** en el procedimiento anterior, accederá a la página **Especificar los detalles del grupo** para un nuevo grupo objetivo.

1.  En la sección **Configuración básica**, introduzca la siguiente información:
   + En **Elegir un tipo de destino**, elija **Direcciones IP**.
   + En **Nombre del grupo de destino**, escriba el nombre del grupo de destino.
   + En cuanto al **protocolo**, su selección depende de si utiliza un ALB o un NLB.
     + **Para un Network Load Balancer (NLB), elija TCP**
     + **Para un Application Load Balancer (ALB), elija HTTP**
   + En **Puerto**, escriba **5080**. 
   + En **IP address type** ((Tipo de dirección IP), elija **IPv4**.
   + En el **caso de la VPC**, elija la VPC que creó para el servidor Transfer Family. AS2 

1. <a name="vpc-register-targets"></a>En la sección **Health checks**, elige el **protocolo Health Check**.
   + **Para un ALB, elija HTTP**
   + **Para un NLB, elija TCP**

1. <a name="vpc-add-to-list"></a>Elija **Siguiente**.

1. En la página **Registrar objetivos**, escriba la siguiente información:
   + Para **Network**, confirme que esté especificada la VPC que creó para el AS2 servidor Transfer Family.
   + Como **IPv4 dirección**, introduce la IPv4 dirección privada de los puntos finales de tu AS2 servidor Transfer Family.

      Si tiene más de un punto final para su servidor, elija **Agregar IPv4 dirección** para agregar otra fila para ingresar otra IPv4 dirección. Repita este proceso hasta que haya introducido las direcciones IP privadas de todos los puntos de conexión del servidor.
   + Asegúrese de que **Puertos** esté configurado en **5080**.
   + Seleccione **Incluir como pendiente a continuación** para añadir sus entradas a la sección **Revisar objetivos**.

1. En la sección **Revisar objetivos**, revise sus objetivos de IP.

1. Seleccione **Crear grupo de destino** y, a continuación, vuelva al procedimiento anterior para crear su NLB e introduzca el nuevo grupo objetivo donde se indica.

**Prueba del acceso al servidor desde una dirección IP elástica**

Conéctese al servidor a través del puerto personalizado mediante una dirección IP elástica o el nombre DNS del equilibrador de carga de red.

**importante**  
Gestione el acceso al servidor desde las direcciones IP de los clientes mediante las [listas de control de acceso a la red (red ACLs)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) de las subredes configuradas en el balanceador de cargas. Los permisos de las ACL de red se establecen a nivel de subred, por lo que las reglas se aplican a todos los recursos que utilizan la subred. No puede controlar el acceso desde las direcciones IP de los clientes mediante grupos de seguridad, ya que el tipo de destino del equilibrador de carga se establece en **Direcciones IP** en lugar de en **instancias.** Por tanto, el equilibrador de carga no conserva las direcciones IP de origen. Si las [comprobaciones de estado del equilibrador de carga de red](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-health-checks.html) fallan, significa que el equilibrador de carga no puede conectarse al punto de conexión del servidor. Para solucionar este problema, compruebe lo siguiente:  
Confirme que el [grupo de seguridad asociado al punto de conexión del](https://aws.amazon.com/premiumsupport/knowledge-center/sftp-enable-elastic-ip-custom-port/) servidor permita las conexiones entrantes desde las subredes que están configuradas en el equilibrador de carga. El equilibrador de carga debe poder conectarse al punto de conexión del servidor a través del puerto 5080.
Confirme que el **Estado** esté **en línea**.

## Transferencia de archivos mediante un conector AS2
<a name="transfer-as2-connectors"></a>

AS2 los conectores establecen una relación entre los socios comerciales para la transferencia de AS2 mensajes desde un servidor Transfer Family a un destino externo propiedad del socio.

Puedes usar Transfer Family para enviar AS2 mensajes haciendo referencia al ID del conector y a las rutas de acceso a los archivos, como se muestra en el siguiente comando `start-file-transfer` AWS Command Line Interface (AWS CLI):

```
aws transfer start-file-transfer --connector-id c-1234567890abcdef0 \
--send-file-paths "/amzn-s3-demo-source-bucket/myfile1.txt" "/amzn-s3-demo-source-bucket/myfile2.txt"
```

Para obtener los detalles de los conectores, ejecute el siguiente comando:

```
aws transfer list-connectors
```

El `list-connectors` comando devuelve el conector IDs y los nombres de recursos de Amazon (ARNs) de los conectores. URLs

Para devolver las propiedades de un conector concreto, ejecute el siguiente comando con el ID que desee usar:

```
aws transfer describe-connector --connector-id your-connector-id
```

El `describe-connector` comando devuelve todas las propiedades del conector, incluidas la URL, las funciones, los perfiles, los avisos de disposición de los mensajes (MDNs), las etiquetas y las métricas de supervisión.

Para confirmar que el socio recibió correctamente los archivos, consulte los archivos JSON y MDN. Estos archivos se nombran de acuerdo con las convenciones descritas en [Nombres y ubicaciones de los archivos](#file-names-as2). Si configuró una función de registro al crear el conector, también puede comprobar el estado de los AS2 mensajes en sus CloudWatch registros.

Para ver los detalles AS2 del conector, consulte[Vea los detalles AS2 del conector](configure-as2-connector.md#connectors-view-info). Para obtener más información sobre la creación de AS2 conectores, consulte[Configure AS2 los conectores](configure-as2-connector.md).

**Para enviar un mensaje AS2 saliente**

El proceso de salida se define como un mensaje o un archivo que se envía AWS a un cliente o servicio externo. La secuencia de los mensajes salientes es la siguiente:

1. Un administrador llama al comando `start-file-transfer` AWS Command Line Interface (AWS CLI) o a la operación de la `StartFileTransfer` API. Esta operación hace referencia a una configuración `connector`.

1. Transfer Family detecta una nueva solicitud de archivo y localiza el archivo. El archivo está comprimido, firmado y cifrado. 

1. Un cliente HTTP de transferencia realiza una solicitud HTTP POST para transmitir la carga útil al AS2 servidor del socio. 

1. El proceso devuelve la respuesta MDN firmada, en línea con la respuesta HTTP (MDN síncrona).

1. A medida que el archivo pasa de una fase a otra de la transmisión, el proceso entrega al cliente el recibo de respuesta MDN y los detalles del procesamiento. 

1. El AS2 servidor remoto pone el archivo descifrado y verificado a disposición del administrador del socio.

![\[Diagrama que muestra la secuencia de procesamiento de los mensajes salientes.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/as2-architecture-outbound.png)


AS2 el procesamiento es compatible con muchos de los protocolos RFC 4130 y se centra en los casos de uso comunes y en la integración con las implementaciones de servidores AS2 compatibles existentes. Para más información sobre las configuraciones compatibles, consulte [AS2 configuraciones](create-b2b-server.md#as2-supported-configurations).

## Nombres y ubicaciones de los archivos
<a name="file-names-as2"></a>

En esta sección se analizan las convenciones de denominación de archivos para las transferencias. AS2 

En cuanto a las transferencias de archivos entrantes, tenga en cuenta lo siguiente:
+ El directorio base se especifica en un acuerdo. El directorio base es el nombre del bucket de Amazon S3 combinado con un prefijo, si lo hubiera. Por ejemplo, `/amzn-s3-demo-bucket/AS2-folder`.
+ Si un archivo entrante se procesa correctamente, el archivo (y el archivo JSON correspondiente) se guardan en la carpeta `/processed`. Por ejemplo, `/amzn-s3-demo-bucket/AS2-folder/processed`.

  El archivo JSON contiene los siguientes campos:
  + `agreement-id` 
  + `as2-from`
  + `as2-to`
  + `as2-message-id`
  + `transfer-id`
  + `client-ip`
  + `connector-id`
  + `failure-message`
  + `file-path`
  + `message-subject`
  + `mdn-message-id`
  + `mdn-subject`
  + `requester-file-name`
  + `requester-content-type`
  + `server-id`
  + `status-code`
  + `failure-code`
  + `transfer-size`
+ Si un archivo entrante no se puede procesar correctamente, el archivo (y el archivo JSON correspondiente) se guardan en la carpeta `/failed`. Por ejemplo, `/amzn-s3-demo-bucket/AS2-folder/failed`.
+ El archivo transferido se guarda en la carpeta `processed` como `original_filename.messageId.original_extension`. Es decir, el identificador del mensaje de la transferencia se añade al nombre del archivo, antes de su extensión original.
+ Se crea un archivo JSON y se guarda como `original_filename.messageId.original_extension.json`. Además de añadir el identificador del mensaje, la cadena `.json` se añade al nombre del archivo transferido.
+ Se crea un archivo de aviso de disposición de mensajes (MDN) y se guarda como `original_filename.messageId.original_extension.mdn`. Además de añadir el identificador del mensaje, la cadena `.mdn` se añade al nombre del archivo transferido.
+ Si hay un archivo entrante con el nombre `ExampleFileInS3Payload.dat`, se crean los siguientes archivos:
  + **File**: `ExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat`
  + **JSON**: `ExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat.json` 
  + **MDN**: `ExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat.mdn` 

En el caso de las transferencias salientes, el nombre es similar, con la diferencia de que no hay ningún archivo de mensajes entrantes y, además, el identificador de transferencia del mensaje transferido se añade al nombre del archivo. La operación de la `StartFileTransfer` API devuelve el identificador de transferencia (o cuando otro proceso o script llama a esta operación).
+ El `transfer-id` es un identificador que está asociado a una transferencia de archivos. Todas las solicitudes que forman parte de una llamada `StartFileTransfer` comparten un `transfer-id`.
+ El directorio base es el mismo que la ruta que se utiliza para el archivo fuente. Es decir, el directorio base es la ruta que se especifica en la operación o `start-file-transfer` AWS CLI el comando de la `StartFileTransfer` API. Por ejemplo: 

  ```
  aws transfer start-file-transfer --send-file-paths /amzn-s3-demo-bucket/AS2-folder/file-to-send.txt
  ```

  Si ejecutas este comando, los archivos MDN y JSON se guardan en `/amzn-s3-demo-bucket/AS2-folder/processed` (si las transferencias se realizan correctamente) o `/amzn-s3-demo-bucket/AS2-folder/failed` (si las transferencias no se realizan correctamente).
+ Se crea un archivo JSON y se guarda como `original_filename.transferId.messageId.original_extension.json`.
+ Se crea un archivo MDN y se guarda como `original_filename.transferId.messageId.original_extension.mdn`.
+ Si hay un archivo de salida con nombre `ExampleFileOutTestOutboundSyncMdn.dat`, se crean los siguientes archivos:
  + **JSON**: `ExampleFileOutTestOutboundSyncMdn.dedf4601-4e90-4043-b16b-579af35e0d83.fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa.dat.json`
  + **MDN**: `ExampleFileOutTestOutboundSyncMdn.dedf4601-4e90-4043-b16b-579af35e0d83.fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa.dat.mdn`

También puedes consultar los CloudWatch registros para ver los detalles de tus transferencias, incluidas las que hayan fallado.

## Códigos de estado
<a name="status-codes"></a>

En la siguiente tabla se enumeran todos los códigos de estado que se pueden registrar en los CloudWatch registros cuando tú o tu pareja enviáis un AS2 mensaje. Los diferentes pasos de procesamiento de mensajes se aplican a diferentes tipos de mensajes y están destinados únicamente a la supervisión. Los estados COMPLETADO y FALLIDO representan el paso final del procesamiento y están visibles en los archivos JSON.


****  

| Código | Description (Descripción) | ¿Se ha completado el procesamiento? | 
| --- | --- | --- | 
| PROCESAMIENTO | El mensaje está en proceso de convertirse a su formato final. Por ejemplo, los pasos de descompresión y descifrado tienen este estado. | No | 
| MDN\$1TRANSMIT | El procesamiento de mensajes envía una respuesta de MDN. | No | 
| MDN\$1RECEIVE | El procesamiento de mensajes recibe una respuesta de MDN. | No | 
| COMPLETED | El procesamiento del mensaje se ha completado correctamente. Este estado incluye cuando se envía un MDN para un mensaje entrante o para la verificación por MDN de los mensajes salientes. | Sí | 
| ERROR | Se ha producido un error en el procesamiento del mensaje. Para obtener una lista de códigos de error, consulte[AS2 códigos de error](as2-monitoring.md#as2-error-codes). | Sí | 

## Ejemplos de archivos de JSON
<a name="file-as2-json"></a>

En esta sección, se enumeran los archivos JSON de muestra para las transferencias entrantes y salientes, incluidos los archivos de muestra para las transferencias correctas y las transferencias que no se realizan correctamente.

Ejemplo de archivo saliente que se transfirió correctamente:

```
{
  "requester-content-type": "application/octet-stream",
  "message-subject": "File xyzTest from MyCompany_OID to partner YourCompany",
  "requester-file-name": "TestOutboundSyncMdn-9lmCr79hV.dat",
  "as2-from": "MyCompany_OID",
  "connector-id": "c-c21c63ceaaf34d99b",
  "status-code": "COMPLETED",
  "disposition": "automatic-action/MDN-sent-automatically; processed",
  "transfer-size": 3198,
  "mdn-message-id": "OPENAS2-11072022063009+0000-df865189-1450-435b-9b8d-d8bc0cee97fd@PartnerA_OID_MyCompany_OID",
  "mdn-subject": "Message be18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa has been accepted",
  "as2-to": "PartnerA_OID",
  "transfer-id": "dedf4601-4e90-4043-b16b-579af35e0d83",
  "file-path": "/amzn-s3-demo-bucket/as2testcell0000/openAs2/TestOutboundSyncMdn-9lmCr79hV.dat",
  "as2-message-id": "fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa",
  "timestamp": "2022-07-11T06:30:10.791274Z"
}
```

Ejemplo de archivo saliente que se transfirió sin éxito:

```
{
  "failure-code": "HTTP_ERROR_RESPONSE_FROM_PARTNER",
  "status-code": "FAILED",
  "requester-content-type": "application/octet-stream",
  "subject": "Test run from Id da86e74d6e57464aae1a55b8596bad0a to partner 9f8474d7714e476e8a46ce8c93a48c6c",
  "transfer-size": 3198,
  "requester-file-name": "openAs2TestOutboundWrongAs2Ids-necco-3VYn5n8wE.dat",
  "as2-message-id": "9a9cc9ab-7893-4cb6-992a-5ed8b90775ff@718de4cec1374598",
  "failure-message": "http://Test123456789.us-east-1.elb.amazonaws.com:10080 returned status 500 for message with ID 9a9cc9ab-7893-4cb6-992a-5ed8b90775ff@718de4cec1374598",
  "transfer-id": "07bd3e07-a652-4cc6-9412-73ffdb97ab92",
  "connector-id": "c-056e15cc851f4b2e9",
  "file-path": "/amzn-s3-demo-bucket-4c1tq6ohjt9y/as2IntegCell0002/openAs2/openAs2TestOutboundWrongAs2Ids-necco-3VYn5n8wE.dat",
  "timestamp": "2022-07-11T21:17:24.802378Z"
}
```

Ejemplo de archivo entrante que se ha transferido correctamente:

```
{
  "requester-content-type": "application/EDI-X12",
  "subject": "File openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.dat sent from MyCompany to PartnerA",
  "client-ip": "10.0.109.105",
  "requester-file-name": "openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.dat",
  "as2-from": "MyCompany_OID",
  "status-code": "COMPLETED",
  "disposition": "automatic-action/MDN-sent-automatically; processed",
  "transfer-size": 1050,
  "mdn-subject": "Message Disposition Notification",
  "as2-message-id": "OPENAS2-11072022233606+0000-5dab0452-0ca1-4f9b-b622-fba84effff3c@MyCompany_OID_PartnerA_OID",
  "as2-to": "PartnerA_OID",
  "agreement-id": "a-f5c5cbea5f7741988",
  "file-path": "processed/openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.OPENAS2-11072022233606+0000-5dab0452-0ca1-4f9b-b622-fba84effff3c@MyCompany_OID_PartnerA_OID.dat",
  "server-id": "s-5f7422b04c2447ef9",
  "timestamp": "2022-07-11T23:36:36.105030Z"
}
```

Ejemplo de archivo entrante que se transfirió sin éxito:

```
{
  "failure-code": "INVALID_REQUEST",
  "status-code": "FAILED",
  "subject": "Sending a request from InboundHttpClientTests",
  "client-ip": "10.0.117.27",
  "as2-message-id": "testFailedLogs-TestRunConfig-Default-inbound-direct-integ-0c97ee55-af56-4988-b7b4-a3e0576f8f9c@necco",
  "as2-to": "0beff6af56c548f28b0e78841dce44f9",
  "failure-message": "Unsupported date format: 2022/123/456T",
  "agreement-id": "a-0ceec8ca0a3348d6a",
  "as2-from": "ab91a398aed0422d9dd1362710213880",
  "file-path": "failed/01187f15-523c-43ac-9fd6-51b5ad2b08f3.testFailedLogs-TestRunConfig-Default-inbound-direct-integ-0c97ee55-af56-4988-b7b4-a3e0576f8f9c@necco",
  "server-id": "s-0582af12e44540b9b",
  "timestamp": "2022-07-11T06:30:03.662939Z"
}
```

# Personaliza los encabezados HTTP de los mensajes AS2
<a name="as2-custom-http-headers"></a>

Al enviar AS2 mensajes a socios comerciales, es posible que necesite personalizar los encabezados HTTP para cumplir requisitos específicos o mejorar la compatibilidad con la configuración del AS2 servidor de su socio. Esta CloudFormation plantilla crea una infraestructura que permite personalizar los encabezados HTTP de los AS2 mensajes enviados. AWS Transfer Family Configura una función de Amazon API Gateway y Lambda para que actúen como proxy, lo que permite la modificación dinámica de los encabezados requeridos por los servidores de los socios comerciales. AS2 

Utilice esta plantilla para hacer lo siguiente:
+ Agregue encabezados HTTP personalizados a los mensajes salientes AS2 
+ Reemplace los valores de encabezado predeterminados con valores personalizados
**importante**  
Tenga cuidado al anular los valores de encabezado predeterminados, ya que puede provocar errores de envío: algunos AS2 encabezados son obligatorios.
+ Garantice la compatibilidad con los socios comerciales que tienen requisitos de encabezado específicos

## Descripción general de la plantilla
<a name="template-overview"></a>

La plantilla crea los siguientes componentes principales:
+ Función Lambda que procesa y reenvía mensajes AS2 
+ Una Amazon API Gateway para exponer la función Lambda
+ Funciones y permisos de IAM para la función Lambda
+ Recursos condicionales para la compatibilidad con HTTPS

El archivo de plantilla está disponible aquí: [Plantilla de encabezados HTTP dinámicos](https://s3.amazonaws.com/aws-transfer-resources/as2-templates/dynamic-http-headers.template.yml).

## Cómo funciona
<a name="how-it-works"></a>

1. Amazon API Gateway recibe los AS2 mensajes entrantes de AWS Transfer Family.

1. La solicitud se reenvía a la función Lambda.

1. La función Lambda procesa la solicitud, añadiendo o modificando encabezados según sea necesario.

1. A continuación, la solicitud modificada se reenvía al servidor del AS2 socio.

1. La respuesta del servidor del socio se devuelve a través de Lambda y Amazon API Gateway a. AWS Transfer Family

## Características principales de
<a name="key-features"></a>
+ *Modificación dinámica del encabezado:* permite personalizar el encabezado del asunto y añadir otros encabezados necesarios.
+ *Soporte de protocolos:* funciona con los protocolos HTTP y HTTPS.
+ *Configuración flexible:* permite especificar el host, el puerto y la ruta del socio.

## Detalles de la implementación
<a name="implementation-details"></a>

La plantilla implementa los siguientes componentes clave:

### Función Lambda
<a name="lambda-function"></a>

El núcleo de la solución es una función Lambda de Node.js que:
+ Recibe solicitudes de Amazon API Gateway
+ Modifica los encabezados en función de la configuración y los datos de las solicitudes entrantes
+ Reenvía la solicitud modificada al servidor del socio AS2 
+ Maneja los protocolos HTTP y HTTPS
+ Incluye la gestión y el registro de errores

### Amazon API Gateway
<a name="api-gateway"></a>

Una API HTTP está configurada para:
+ Recibir AS2 mensajes entrantes
+ Enrutar las solicitudes a la función Lambda
+ Devuelva las respuestas a AWS Transfer Family

### Parámetros de plantilla
<a name="as2-header-template-parameter-details"></a>

Introduzca la información de los parámetros de la plantilla de la siguiente manera. Tenga en cuenta que todos estos parámetros son cadenas.
+ `Environment`: este parámetro se usa para nombrar los recursos que crea la plantilla, independientemente de si están destinados a un entorno de desarrollo o producción. Los valores válidos son **dev** y **prod.** 
+ `PartnerHost`: la dirección IP o el nombre de host del servidor AS2 asociado.
+ `PartnerPort`: el número de puerto del servidor AS2 asociado. Si no se especifica, el valor predeterminado es 80 para HTTP y 443 para HTTPS.
+ `PartnerPath`: la ruta al AS2 punto final en el servidor asociado
+ `ProtocolType`: el protocolo que se utilizará para la AS2 comunicación: los valores válidos son **HTTP** y **HTTPS**.

### Recursos condicionales
<a name="conditional-resources"></a>

Para ser compatible con HTTPS, la plantilla crea de forma condicional:
+ Una capa Lambda para certificados de CA
+ Configuración específica de HTTPS en la función Lambda

## Despliegue y uso
<a name="deployment-and-usage"></a>

**Para personalizar los encabezados AS2 HTTP mediante una CloudFormation plantilla**

1. Abre la CloudFormation consola en [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

1. En el panel de navegación izquierdo, elija **Pilas**.

1. Elija **Create stack (Crear pila)**, y, a continuación, elija **With new resources (standard) (Con nuevos recursos [estándar])**. 

1. En la sección **Requisitos previos: preparar una plantilla**, **elija Elegir una plantilla existente**.

1. Copie este enlace, [plantilla de encabezados HTTP dinámicos](https://s3.amazonaws.com/aws-transfer-resources/as2-templates/dynamic-http-headers.template.yml), y péguelo en el campo **URL de Amazon S3**.

1. Elija **Siguiente**. 

1. Rellene los detalles de los parámetros con su información. Estos se detallan en[Parámetros de plantilla](#as2-header-template-parameter-details).

1. Elija **Siguiente**. En la página **Configurar opciones de pila**, elija **Siguiente**. 

1. Revise los detalles de la pila que está creando y, a continuación, seleccione **Crear pila**. 
**nota**  
Al final de la página, en la sección **Capacidades**, debes reconocer que CloudFormation podrían crear recursos AWS Identity and Access Management (IAM). 

Tras implementar esta CloudFormation pila:

1. Anote la URL del punto de conexión de Amazon API Gateway proporcionada en los resultados de la pila.

1. Actualice su AWS Transfer Family conector actual para usar este nuevo punto de conexión de Amazon API Gateway.

1. La solución ahora gestionará AS2 los mensajes y añadirá o modificará los encabezados según lo configurado.

**aviso**  
Modifique únicamente el encabezado del asunto o añada los encabezados que su pareja espere explícitamente. Cambiar otros encabezados puede provocar errores en la transferencia.

# Supervisión del AS2 uso
<a name="as2-monitoring"></a>

Puedes monitorear AS2 la actividad usando Amazon CloudWatch y AWS CloudTrail. Para ver otras métricas del servidor de Transfer Family, consulte [CloudWatch Registro de Amazon para AWS Transfer Family servidores](structured-logging.md).


**AS2 métricas**  

| Métrica | Descripción | 
| --- | --- | 
| InboundMessage |  El número total de AS2 mensajes recibidos correctamente de un socio comercial. Unidades: recuento Periodo: 5 minutos  | 
| InboundFailedMessage |  El número total de AS2 mensajes de un socio comercial que no se han recibido correctamente. Es decir, un socio comercial envió un mensaje, pero el servidor de Transfer Family no pudo procesarlo correctamente. Unidades: recuento Periodo: 5 minutos  | 
| OutboundMessage |  El número total de AS2 mensajes enviados correctamente desde el servidor de Transfer Family a un socio comercial. Unidades: recuento Periodo: 5 minutos  | 
| OutboundFailedMessage |  El número total de AS2 mensajes que se enviaron sin éxito a un socio comercial. Es decir, se enviaron desde el servidor de Transfer Family, pero el socio comercial no los recibió correctamente. Unidades: recuento Periodo: 5 minutos  | 
| DaysUntilExpiry |  El número de días que faltan para que caduque un certificado se determina según lo `InactiveDate` establecido en el certificado en el momento de la importación. Unidades: recuento Dimensiones: `CertificateId` `Description` (si se proporcionan) Periodo: 1 día Para obtener más información, consulte [AS2 rotación de certificados](managing-as2-partners.md#as2-certificate-rotation).  | 

## AS2 Códigos de estado
<a name="as2-monitor-status-codes"></a>

En la siguiente tabla se enumeran todos los códigos de estado que se pueden registrar en CloudWatch los registros cuando usted o su pareja envían un AS2 mensaje. Los diferentes pasos de procesamiento de mensajes se aplican a diferentes tipos de mensajes y están destinados únicamente a la supervisión. Los estados COMPLETADO y FALLIDO representan el paso final del procesamiento y están visibles en los archivos JSON.


****  

| Código | Descripción | ¿Se ha completado el procesamiento? | 
| --- | --- | --- | 
| PROCESAMIENTO | El mensaje está en proceso de convertirse a su formato final. Por ejemplo, los pasos de descompresión y descifrado tienen este estado. | No | 
| MDN\$1TRANSMIT | El procesamiento de mensajes envía una respuesta de MDN. | No | 
| MDN\$1RECEIVE | El procesamiento de mensajes recibe una respuesta de MDN. | No | 
| COMPLETED | El procesamiento del mensaje se ha completado correctamente. Este estado incluye cuando se envía un MDN para un mensaje entrante o para la verificación por MDN de los mensajes salientes. | Sí | 
| ERROR | Se ha producido un error en el procesamiento del mensaje. Para obtener una lista de códigos de error, consulte[AS2 códigos de error](#as2-error-codes). | Sí | 

## AS2 códigos de error
<a name="as2-error-codes"></a>

En la siguiente tabla se enumeran y describen los códigos de error que puede recibir al transferir AS2 archivos.


**AS2 códigos de error**  

| Código | Error | Descripción y resolución | 
| --- | --- | --- | 
| ACCESS\$1DENIED |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/as2-monitoring.html)  |  Se produce al gestionar una solicitud `StartFileTransfer` en la que alguna de `SendFilePaths` no es válido o tiene un formato incorrecto. Es decir, a la ruta, le falta el nombre del bucket de Amazon S3 o la ruta incluye caracteres que no son válidos. También ocurre si Transfer Family no asume el rol de acceso o el rol de registro.Asegúrese de que la ruta contiene un nombre de bucket de Amazon S3 y un nombre de clave válidos. | 
| AGREEMENT\$1NOT\$1FOUND | No se ha encontrado el acuerdo. | No se ha encontrado el acuerdo o está asociado a un perfil inactivo.Actualice el acuerdo en el servidor Transfer Family para incluir los perfiles activos. | 
| CONNECTOR\$1NOT\$1FOUND | No se ha encontrado el conector o la configuración relacionada. |  No se ha encontrado el conector o está asociado a un perfil inactivo. Actualice el conector para incluir los perfiles activos.  | 
| CREDENTIALS\$1RETRIEVAL\$1FAILED |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/as2-monitoring.html)  |  Para la autenticación AS2 básica, el secreto debe tener el formato correcto. Las siguientes resoluciones corresponden a los errores enumerados en la columna anterior. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/as2-monitoring.html)  | 
| DECOMPRESSION\$1FAILED | No se pudo descomprimir el mensaje. |  El archivo enviado está dañado o el algoritmo de compresión no es válido.  Vuelva a enviar el mensaje y compruebe que se utiliza la compresión ZLIB o vuelva a enviar el mensaje sin la compresión habilitada.  | 
| DECRYPT\$1FAILED | No se pudo descifrar el mensajemessage-ID. Asegúrese de que el socio tenga la clave de cifrado pública correcta. |  Falló el descifrado. Confirme que el socio envió una carga útil mediante un certificado válido y que el cifrado se realizó mediante un algoritmo de cifrado válido.  | 
| DECRYPT\$1FAILED\$1INVALID\$1SMIME\$1FORMAT | No se pudo analizar el mimePart envuelto. |  La carga MIME está dañada o tiene un formato SMIME que no es compatible. El remitente debe asegurarse de que el formato que está utilizando es compatible y, a continuación, volver a enviar la carga útil.  | 
| DECRYPT\$1FAILED\$1NO\$1DECRYPTION\$1KEY\$1FOUND | No se ha encontrado ninguna clave de descifrado coincidente. |  El perfil del socio no tenía asignado un certificado que coincidiera con el mensaje, o los certificados que coincidían con el mensaje han caducado o han dejado de ser válidos. Debe actualizar el perfil del socio y asegurarse de que contiene un certificado válido.  | 
| DECRYPT\$1FAILED\$1UNSUPPORTED\$1ENCRYPTION\$1ALG | El descifrado de la carga útil SMIME se solicitó mediante un algoritmo no compatible con el identificador:. encryption-ID |  El remitente remoto ha enviado una AS2 carga útil con un algoritmo de cifrado no compatible. El remitente debe elegir un algoritmo de cifrado compatible con AWS Transfer Family.  | 
| DUPLICATE\$1MESSAGE | Paso duplicado o procesado dos veces. |  La carga útil tiene un paso de procesamiento duplicado. Por ejemplo, hay dos pasos de cifrado. Vuelva a enviar el mensaje con un solo paso para firmarlo, comprimirlo y cifrarlo.  | 
| ENCRYPT\$1FAILED\$1NO\$1ENCRYPTION\$1KEY\$1FOUND |  No se han encontrado certificados de cifrado públicos válidos en el perfil: *local-profile-ID*  | Transfer Family está intentando cifrar un mensaje saliente, pero no se encuentra ningún certificado de cifrado para el perfil local.Opciones de resolución:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/as2-monitoring.html) | 
| ENCRYPTION\$1FAILED | No se pudo cifrar el archivofile-name. |  El archivo que se va a enviar no está disponible para el cifrado. Compruebe que el archivo se encuentra en la AS2 ubicación prevista y que AWS Transfer Family tiene permiso para leerlo.  | 
| FILE\$1SIZE\$1TOO\$1LARGE | El tamaño del archivo es demasiado grande. | Esto ocurre al enviar o recibir un archivo que supera el límite de tamaño de archivo. | 
| HTTP\$1ERROR\$1RESPONSE\$1FROM\$1PARTNER |  *partner-URL*devolvió el estado 400 para un mensaje con ID=*message-ID*.  |  Al comunicarse con el AS2 servidor del socio, se devolvió un código de respuesta HTTP inesperado. Es posible que el socio pueda proporcionar más diagnósticos a partir de los registros de su AS2 servidor.  | 
| INSUFFICENT\$1MESSAGE\$1SECURITY\$1UNENCRYPTED | Se requiere el cifrado. | El socio envió un mensaje sin cifrar a Transfer Family, lo cual no es compatible. El remitente debe usar una carga cifrada. | 
| INVALID\$1ENDPOINT\$1PROTOCOL | Solo se admiten HTTP y HTTPS. | Debe especificar HTTP o HTTPS como protocolo en la configuración AS2 del conector. | 
| INVALID\$1REQUEST |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/as2-monitoring.html)  |  Este error se debe a varias causas. Las siguientes resoluciones corresponden a los errores enumerados en la columna anterior. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/as2-monitoring.html) | 
| INVALID\$1URL\$1FORMAT | Formato de URL no válido: URL |  Esto ocurre cuando se envía un mensaje saliente mediante un conector configurado con una URL mal formada. Asegúrese de que el conector está configurado con una dirección HTTP o HTTPS válida.  | 
| MDN\$1RESPONSE\$1INDICATES\$1AUTHENTICATION\$1FAILED | No aplicable | El receptor no puede autenticar al remitente. El socio comercial devuelve un MDN a Transfer Family con el [modificador de disposición ](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4) Error: authentication-failed. | 
| MDN\$1RESPONSE\$1INDICATES\$1DECOMPRESSION\$1FAILED | No aplicable | Esto ocurre cuando el receptor no puede descomprimir el contenido del mensaje. El socio comercial devuelve un MDN a Transfer Family con el [modificador de disposición](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4) Error: decompression-failed. | 
| MDN\$1RESPONSE\$1INDICATES\$1DECRYPTION\$1FAILED | No aplicable | El receptor no puede descifrar el contenido del mensaje. El socio comercial devuelve un MDN a Transfer Family con el [modificador de disposición](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4) Error: authentication-failed. | 
| MDN\$1RESPONSE\$1INDICATES\$1INSUFFICIENT\$1MESSAGE\$1SECURITY | No aplicable | El destinatario espera que el mensaje esté firmado o cifrado, pero no es así. El socio comercial devuelve un MDN a Transfer Family con el [modificador de disposición](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4) Error:. insufficient-message-securityHabilite el and/or cifrado de firmas en el conector para que coincida con las expectativas del socio comercial. | 
| MDN\$1RESPONSE\$1INDICATES\$1INTEGRITY\$1CHECK\$1FAILED | No aplicable | El receptor no puede verificar la integridad del contenido. El socio comercial devuelve un MDN a Transfer Family con el [modificador de disposición](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4) Error:. integrity-check-failed | 
| PATH\$1NOT\$1FOUND |  No se puede crear el directorio. *file-path* No se ha encontrado la ruta principal.  | Transfer Family está intentando crear un directorio en el bucket de Amazon S3 del cliente, pero no lo encuentra.Asegúrese de que cada ruta mencionada en el comando `StartFileTransfer` contiene el nombre de un bucket existente. | 
| SEND\$1FILE\$1NOT\$1FOUND | file-pathNo se encontró la ruta del archivo. |  Transfer Family no encuentra el archivo en la operación de envío de archivos. Compruebe que el directorio de inicio y la ruta configurados sean válidos y que Transfer Family tenga permisos de lectura para el archivo.  | 
| SERVER\$1NOT\$1FOUND | No se encuentra el servidor asociado al mensaje. | Transfer Family no pudo encontrar el servidor al recibir un mensaje. Esto puede suceder si se elimina el servidor durante el procesamiento de un mensaje entrante. | 
| SERVER\$1NOT\$1ONLINE | server-IDEl servidor no está en línea. | El servidor Transfer Family está desconectado.Inicie el servidor para que pueda recibir y procesar mensajes. | 
| SIGNING\$1FAILED | No se ha podido firmar el archivo. |  El archivo que se va a enviar no está disponible para su firma o no se pudo realizar la firma. Compruebe que el archivo se encuentra en la AS2 ubicación prevista y que AWS Transfer Family tiene permiso para leerlo.  | 
| SIGNING\$1FAILED\$1NO\$1SIGNING\$1KEY\$1FOUND | No se encontró ningún certificado para el perfil:local-profile-ID. | Se está intentando firmar un mensaje saliente, pero no se encuentra ningún certificado de firma para el perfil local.Opciones de resolución:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/as2-monitoring.html) | 
| UNABLE\$1RESOLVE\$1HOST\$1TO\$1IP\$1ADDRESS | No se puede resolver el nombre de host en las direcciones IP. |  Transfer Family no puede realizar la resolución de DNS a dirección IP en el servidor DNS público que está configurado en el AS2 conector. Actualice el conector para que apunte a una URL asociada válida.  | 
| UNABLE\$1TO\$1CONNECT\$1TO\$1REMOTE\$1HOST\$1OR\$1IP | Se agotó el tiempo de espera de la conexión al punto de conexión. |  Transfer Family no puede establecer una conexión de socket con el AS2 servidor del socio configurado. Compruebe que el AS2 servidor del socio esté disponible en la dirección IP configurada.  | 
| UNABLE\$1TO\$1RESOLVE\$1HOSTNAME | No se pudo resolver el nombre de hosthostname.  |  El servidor Transfer Family no pudo resolver el nombre de host del socio mediante un servidor DNS público. Compruebe que el host configurado esté registrado y que el registro DNS haya tenido tiempo de publicarse.  | 
| VERIFICATION\$1FAILED | No se pudo comprobar la firma del AS2 mensaje message-ID o el código MIC no coincidía. | Compruebe que el certificado de firma del remitente coincide con los certificados de firma del perfil remoto. Compruebe también que los algoritmos MIC sean compatibles con AWS Transfer Family. | 
| VERIFICATION\$1FAILED\$1NO\$1MATCHING\$1KEY\$1FOUND |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/as2-monitoring.html)  | AWS Transfer Family está intentando verificar la firma de un mensaje recibido, pero no se ha encontrado ningún certificado de firma que coincida con el perfil del socio. Opciones de resolución:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/as2-monitoring.html) | 

# Supervisión de caducidad de certificados
<a name="certificate-expiry-monitoring"></a>

AWS Transfer Family supervisa automáticamente las fechas de caducidad de AS2 los certificados y publica una CloudWatch métrica de Amazon para ayudarte a hacer un seguimiento de cuándo los certificados están a punto de caducar. Esto le permite gestionar de forma proactiva las renovaciones de certificados y evitar interrupciones en el servicio.

## DaysUntilExpiry métrica
<a name="daysuntilexpiry-metric"></a>

Al importar un certificado para AS2 su uso, Transfer Family crea automáticamente una CloudWatch métrica llamada`DaysUntilExpiry`. Esta métrica registra el número de días que quedan hasta que caduque el certificado en función de `InactiveDate` lo que especificó al importarlo.

**Detalles de la métrica:**
+ **Nombre de la métrica:** `DaysUntilExpiry`
+ **Espacio de nombres:** `AWS/Transfer`
+ **Dimensiones:** `CertificateId` (siempre presentes), `Description` (si se proporcionaron durante la importación del certificado)
+ **Unidades:** recuento (días)
+ **Frecuencia: Se** publica a diario

**importante**  
Transfer Family puede tardar hasta un día completo en emitir esta métrica a tu cuenta después de importar un certificado.

El valor de la métrica disminuye en uno cada día a medida que el certificado se acerca a su fecha de inactividad. Por ejemplo, si un certificado tiene 30 días hasta el vencimiento, la métrica mostrará 30, 29 al día siguiente y así sucesivamente.

## Prácticas recomendadas para la supervisión de certificados
<a name="certificate-monitoring-best-practices"></a>

Siga estas prácticas recomendadas al configurar la supervisión de la caducidad de los certificados:
+ **Establezca varios umbrales de alerta:** cree alarmas para distintos períodos de tiempo (por ejemplo, 30 días, 14 días y 7 días antes del vencimiento) a fin de disponer del tiempo suficiente para la renovación del certificado.
+ **Utilice las estadísticas adecuadas:** utilice la `Maximum` estadística al crear alarmas para asegurarse de capturar el valor de la métrica más reciente.
+ **Configure las acciones de alarma adecuadas:** configure las notificaciones para alertar a los miembros del equipo correspondientes sobre la posibilidad de renovar los certificados.
+ **Pruebe sus alertas:** pruebe periódicamente su sistema de notificaciones para asegurarse de que las alertas se envíen correctamente.
+ **Documente su proceso: conserve** la documentación sobre el proceso de renovación de su certificado y sobre quién es responsable de los distintos certificados.

## Ejemplos de configuraciones de alarma
<a name="certificate-monitoring-examples"></a>

Estos son algunos ejemplos de configuraciones de alarma para diferentes escenarios de notificación:

### Advertencia de caducidad de 30 días
<a name="thirty-day-warning"></a>

Cree una alarma que se active cuando un certificado tenga 30 días o menos hasta que caduque:
+ **Métrica:** DaysUntilExpiry
+ **Estadística: **Maximum
+ **Periodo:** 1 día
+ **Umbral:** 30
+ **Comparación:** inferior o igual al umbral
+ **Tratamiento de datos faltantes:** trate los datos faltantes como buenos (sin infringirlos)

### Advertencia crítica de caducidad de 7 días
<a name="critical-warning"></a>

Cree una alarma crítica que se active cuando un certificado tenga 7 días o menos hasta que caduque:
+ **Métrica:** DaysUntilExpiry
+ **Estadística: **Maximum
+ **Periodo:** 1 día
+ **Umbral:** 7
+ **Comparación:** inferior o igual al umbral
+ **Tratamiento de datos faltantes:** trate los datos faltantes como buenos (sin infringirlos)