¿Cómo puedo utilizar un punto de enlace de Amazon VPC para activar un agente de DataSync en todas las cuentas o regiones de AWS?

9 minutos de lectura
0

Quiero usar Amazon Virtual Private Cloud (Amazon VPC) para configurar mis entornos y AWS DataSync para transferir datos en una red privada.

Solución

Importante: En el ejemplo de configuración se presupone lo siguiente:

  • Los recursos no se conectarán a la Internet pública, excepto para la conexión entre los puntos de enlace privados para AWS.
  • El origen de la transferencia de datos es un entorno de VPC local o remoto con un origen de datos NFS o SMB. El destino de la transferencia de datos está en una Amazon VPC. La Amazon VPC tiene acceso a Amazon Simple Storage Service (Amazon S3), Amazon Elastic File System (Amazon EFS) o Amazon FSx. Tras completar la configuración, invierta la dirección de transferencia en función de las combinaciones de ubicaciones admitidas para DataSync. Esta configuración también funciona con fuentes locales, como HDFS y Almacenamiento de objetos.

Configuración del entorno de red de origen (origen de datos NFS o SMB)

El agente de DataSync se ejecuta en la red de origen cercana al origen de datos NFS o SMB. Para esta configuración, la red de origen puede ser local o privada de Amazon VPC.

Nota: Si quiere usar el emparejamiento de VPC para configurar transferencias entre las VPC, revise los límites del emparejamiento de VPC. Asegúrese de que la característica sea compatible con su configuración.

Configuración del entorno de red de destino (Amazon S3, Amazon EFS o Amazon FSx)

Para esta configuración, la red de destino es una Amazon VPC privada. La Amazon VPC debe acceder a una ubicación de destino, como Amazon S3, Amazon EFS o Amazon FSx.

En la VPC privada de destino, siga estos pasos:

  1. Cree un punto de enlace de VPC para DataSync.
  2. Confirme que la subred asociada al punto de enlace de VPC tenga al menos cuatro direcciones IP disponibles para los puntos de enlace de ejecución de DataSync.
    Nota: Cada tarea de DataSync utiliza cuatro direcciones IP para los puntos de enlace de ejecución de la tarea.
  3. Configure un grupo de seguridad para los puntos de enlace de VPC de DataSync. El grupo de seguridad debe permitir las siguientes opciones:
    Tráfico de entrada en el puerto TCP 443 hacia el punto de enlace
    Tráfico efímero de salida
    Tráfico de entrada en el intervalo de puertos TCP 1024-1062 hacia el punto de enlace de VPC de destino
    Para abrir un canal de AWS Support, permita el tráfico de entrada en el puerto TCP 22

Configuración de la conexión de red entre los entornos de origen y destino

Para esta configuración, la transferencia de datos proviene de una de las siguientes opciones:

  • De un entorno local de origen a una VPC privada de destino
  • Entre VPC privadas que se encuentran en diferentes regiones de AWS
  • De fuentes que pertenecen a diferentes cuentas de AWS

Configure los siguientes requisitos de conexión y red entre los entornos de origen y destino:

  1. Configure una conexión de red activa entre el entorno de origen y la VPC de destino. Por ejemplo, puede usar AWS Direct Connect, el emparejamiento de VPC o una VPC de tránsito para configurar esta conexión.
  2. Confirme que no haya superposición en el espacio de direcciones de la red privada entre los entornos de origen y destino. A continuación, verifique los bloques CIDR.
  3. Confirme que las entradas de la tabla de enrutamiento tanto en la subred de origen como en la subred de destino permitan el tráfico entre las redes sin problemas. Por ejemplo, si utiliza el emparejamiento de VPC, actualice las tablas de enrutamiento para la conexión de emparejamiento.
  4. Si hay un firewall entre las redes de origen y destino, debe permitir las siguientes opciones:
    Tráfico en el puerto TCP 443 a las subredes del punto de enlace de VPC de destino
    Tráfico en el intervalo de puertos TCP 1024-1062 hacia el punto de enlace de VPC de destino
    Para abrir un canal de AWS Support, permita el tráfico en el puerto TCP 22.
  5. Confirme que todos los grupos de seguridad y firewalls permitan el tráfico de salida efímero o el uso de herramientas de seguimiento de conexiones.

Configuración de una máquina para activar el agente de DataSync

Nota: Si se muestran errores al ejecutar comandos de la interfaz de la línea de comandos de AWS (AWS CLI), consulte Troubleshoot AWS CLI errors. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.

Puede utilizar un equipo físico, una máquina virtual o una instancia de Amazon Elastic Compute Cloud (Amazon EC2) para activar el agente de DataSync. Complete los siguientes pasos en la máquina:

  1. Configure una conexión a una de las redes privadas del entorno de origen o destino. Debe configurar rutas de red válidas para ambas redes.
  2. Si no hay conexión a Internet, debe configurar el acceso de red al agente de DataSync en el puerto TCP 80 (HTTP).
  3. (Opcional) Instale el comando cURL para obtener la clave de activación.
  4. Instale la AWS CLI para activar el agente de DataSync.
  5. Configure la AWS CLI con un permiso de AWS Identity and Access Management (IAM) que le permita activar el agente de DataSync. Los permisos son similares a los del ejemplo siguiente:
    {
      "Version": "2012-10-17",
      "Statement": [{
          "Sid": "VisualEditor2",
          "Effect": "Allow",
          "Action": [
            "datasync:*"
          ],
          "Resource": "arn:aws:datasync:us-east-1:123456789012:*"
        },
        {
          "Sid": "VisualEditor3",
          "Effect": "Allow",
          "Action": [
            "ec2:*VpcEndpoint*",
            "ec2:*subnet*",
            "ec2:*security-group*"
          ],
          "Resource": "*"
        }
      ]
    }
    Nota: Si utiliza una instancia de Amazon EC2 para activar el agente, puede asociar el rol de IAM con los permisos correctos al perfil de la instancia.

Activación del agente de DataSync

Nota: Reemplace us-east-1 por la región de AWS que quiera.

Para activar el agente de DataSync, siga estos pasos:

  1. Despliegue el agente de DataSync en una máquina virtual (local) o en una instancia de EC2 (VPC privada).

  2. Desde la máquina que haya configurado, ejecute el siguiente comando cURL para obtener la clave de activación del agente de DataSync:

    curl -vvv -G \
      --data-urlencode "activationRegion=us-east-1" \
      --data-urlencode "gatewayType=SYNC" \
      --data-urlencode "endpointType=PRIVATE_LINK" \
      --data-urlencode "privateLinkEndpoint=vpc_endpoint_ip_address" \
      --data-urlencode "redirect_to=https://us-east-1.console.aws.amazon.com/datasync/home?region=us-east-1#/agents/create" \
      "http://datasync_agent_ip"

    Nota: Opcionalmente, puede incljuir --data-urlencode "no_redirect" para simplificar y acortar el comando y el resultado. Como alternativa, puede usar la consola local para obtener la clave de activación.

  3. Anote la clave de activación del resultado del comando.

  4. Ejecute el comando describe-vpc-endpoints para obtener los valores de VpcEndpointId, VpcId, SubnetIds y Security GroupId para el punto de enlace de VPC de destino:

    aws ec2 describe-vpc-endpoints --region us-east-1
  5. Anote el valor para VpcEndpointId del resultado del comando. El resultado es similar al siguiente:

            {
                "VpcEndpointId": "vpce-0ba3xxxxx3752b63",
                "VpcEndpointType": "Interface",
                "VpcId": "vpc-aabb1122",
                "ServiceName": "com.amazonaws.us-east-1.datasync",
                ...
                "SubnetIds": [
                    "subnet-f0f6cd97",
                    "subnet-990da7c1",
                    "subnet-41241008"
                ],
                "Groups": [
                    {
                        "GroupId": "sg-8ae9abf1",
                        "GroupName": "default"
                    }
                ],
                ...

    Nota: Si usa la misma subred y el mismo grupo de seguridad para su agente de DataSync, omita los siguientes pasos opcionales.

  6. (Opcional) Ejecute el comando describe-security-groups para obtener el ID del grupo de seguridad de la VPC de destino. Los puntos de enlace de ejecución de DataSync utilizan este grupo de seguridad para conectarse al punto de enlace de VPC de DataSync.

    aws ec2 describe-security-groups --region us-east-1

    Nota: Para reducir la complejidad de la configuración, se recomienda utilizar el mismo grupo de seguridad que para el punto de enlace de VPC.

  7. (Opcional) Anote el valor para GroupID del resultado del comando. El resultado del comando es similar al siguiente:

    "GroupId": "sg-000e8edxxxx4e4701"
  8. (Opcional) Ejecute el comando describe-subnets para obtener el ID de subred asociado al punto de enlace de VPC:

    aws ec2 describe-subnets --region us-east-1

    Nota: Para reducir la complejidad de la configuración, se recomienda utilizar la misma subred que para el punto de enlace de VPC.

  9. (Opcional) Anote el valor para SubnetArn del resultado del comando. El resultado del comando es similar al siguiente:

    "SubnetArn": "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-03dc4xxxx6905bb76"
  10. Ejecute el comando create-agent para activar el agente de DataSync:

aws datasync create-agent --agent-name your_agent_name --vpc-endpoint-id vpce-0cxxxxxxxxxxxxf57 --activation-key UxxxQ-0xxxB-LxxxL-AUxxV-JxxxN --subnet-arns arn:aws:ec2:us-east-1:123456789012:subnet/subnet-0cxxxxxxxxxxxx3 --security-group-arns arn:aws:ec2:us-east-1:123456789012:security-group/sg-xxxxxxxxxxxxxx --region us-east-1

Nota: Como activation-key, introduzca la clave de activación. Como vpc-endpoint-id, introduzca su valor para VpcEndpointId. Como security-group-arns, introduzca su valor para GroupID. Como subnet-arns, introduzca su valor para SubnetArn.
El comando devuelve el ARN del agente de DataSync:

{
    "AgentArn": "arn:aws:datasync:us-east-1:123456789012:agent/agent-0bxxxxxxxxxxxxxx57c"
}
  1. Ejecute el comando list-agents para confirmar si se ha creado el agente correctamente:
aws datasync list-agents --region us-east-1
  1. Confirme si el ARN del agente de DataSync aparece en el resultado:
{
    "Agents": [
        {
            "AgentArn": "arn:aws:datasync:us-east-1:123456789012:agent/agent-0bxxxxxxxxxxxxxx57c",
            "Status": "ONLINE",
            "Name": "your_agent_name"
        }
    ]
}

Una vez activado su agente de DataSync, puede usar la consola de DataSync para crear ubicaciones y tareas para sus transferencias.

Solución de problemas por errores durante la activación del agente de DataSync

Es posible que se produzcan errores durante la activación del agente de DataSync. Para solucionar estos problemas, revise la siguiente información:

No se permite tráfico en el puerto TCP 443

El comando cURL devuelve el siguiente error y no devuelve la clave de activación:

«errorType=PRIVATE_LINK_ENDPOINT_UNREACHABLE»

Este error suele producirse cuando no se permite el tráfico en el puerto TCP 443 hacia el punto de enlace de VPC.

Clave de activación pública en el comando create-agent

El siguiente error InvalidRequestException se produce al llamar a la operación CreateAgent. Podría encontrarse con un error similar al siguiente:

«Private link configuration is invalid: VPC Endpoint Id should remain unspecified for public-endpoint activation keys.»

Este error se produce al introducir la clave de activación pública para el parámetro --activation-key en el comando create-agent. Debe introducir la clave de activación privada para el tipo de punto de enlace privado en esta configuración.

La identidad de IAM no tiene permisos suficientes

Al configurar la activación del agente DataSync, es posible que se muestre uno de los siguientes errores:

«An error occurred (InvalidRequestException) when calling the CreateAgent operation: Invalid EC2 subnet, ARN: arn:aws:ec2:us-east-1:123456789012:subnet/subnet-41xxxx08, reason: invalid subnet, StatusCode: 403»

Alternativa:

«An error occurred (InvalidRequestException) when calling the CreateAgent operation: Invalid EC2 security group, ARN: arn:aws:ec2:us-east-1:123456789012:security-group/sg-000e8xxxx9d4e4701, reason: invalid security group, StatusCode: 403»

Alternativa:

«An error occurred (InvalidRequestException) when calling the CreateAgent operation: Private link configuration is invalid: VPC endpoint vpce-0ba34edxxxx752b63 is not valid»

Estos errores se producen cuando la identidad de IAM configurada en la AWS CLI no tiene permisos suficientes. Confirme si la política de su identidad de IAM otorga permisos para ec2:*VpcEndpoint*, ec2:*subnet* y ec2:*security-group*.

Información relacionada

How AWS DataSync works

Using AWS DataSync agents with VPC endpoints

Requirements for AWS DataSync

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año