Como posso ativar um agente do DataSync em várias regiões da AWS ou em várias contas usando um endpoint da Amazon VPC?

9 minuto de leitura
0

Quero usar o AWS DataSync para transferir dados entre os seguintes locais: Entre on-premises e a AWS Entre regiões da AWS Entre contas da AWS Quero configurar meus ambientes e o agente do DataSync para esse cenário em uma rede privada usando um endpoint da Amazon Virtual Private Cloud (Amazon VPC).

Resolução

Importante: a configuração a seguir pressupõe que:

  • Os recursos não se conectarão à internet pública, exceto pela conexão entre os endpoints privados com a AWS.
  • A fonte da transferência de dados é um ambiente de VPC on-premises ou remoto com uma fonte de dados NFS ou SMB. O destino da transferência de dados é uma Amazon VPC que tem acesso ao Amazon Simple Storage Service (Amazon S3), ao Amazon Elastic File System (Amazon EFS) ou ao Amazon FSx. Depois de concluir a configuração, você pode reverter a direção da transferência com base nas combinações de local aceitas pelo DataSync.

Configure o ambiente de rede de origem (fonte de dados NFS ou SMB)

O agente do DataSync é executado na rede de origem próxima à fonte de dados NFS ou SMB. Para essa configuração, a rede de origem pode ser uma Amazon VPC on-premises ou privada.

Observação: se quiser configurar transferências entre VPCs usando o emparelhamento de VPCs, analise as limitações do emparelhamento de VPCs para ter certeza de que o recurso é compatível com sua configuração.

Configure o ambiente de rede de destino (Amazon S3, Amazon EFS ou Amazon FSx)

Para essa configuração, a rede de destino deve ser uma Amazon VPC privada capaz de acessar um local de destino, como o Amazon S3, o Amazon EFS ou o Amazon FSx.

Além disso, você deve configurar o seguinte na VPC privada de destino:

1.    Crie um endpoint da VPC para o DataSync.

2.    Confirme se a sub-rede associada ao endpoint da VPC tem pelo menos quatro endereços IP disponíveis para os endpoints de execução do DataSync.

Observação: cada tarefa do DataSync usa quatro endereços IP para os endpoints de execução da tarefa.

3.    Configure um grupo de segurança para os endpoints da VPC do DataSync. O grupo de segurança deve permitir:

  • O tráfego de entrada na porta TCP 443 para o endpoint
  • O tráfego de saída temporário
  • O tráfego de entrada no intervalo de portas TCP 1024-1062 para o endpoint da VPC de destino
  • Para abrir um canal do AWS Support, permita o tráfego de entrada na porta TCP 22

Configure a conexão de rede entre os ambientes de origem e de destino

Para essa configuração, a transferência de dados pode ser de um ambiente on-premises de origem para uma VPC privada de destino. Ou a transferência de dados pode ser entre VPCs privadas que estão em regiões da AWS diferentes ou que pertencem a contas da AWS diferentes. Você deve configurar os seguintes requisitos de conexão e de rede entre os ambientes de origem e de destino:

1.    Configure uma conexão de rede ativa entre o ambiente de origem e o endpoint da VPC de destino. Por exemplo, configure essa conexão usando o AWS Direct Connect, o emparelhamento de VPCs ou uma VPC de trânsito.

2.    Confirme que não há sobreposição no espaço de endereços da rede privada entre os ambientes de origem e de destino. Em seguida, verifique os blocos CIDR.

3.    Confirme que as entradas da tabela de roteamento na sub-rede de origem e na sub-rede de destino permitem o tráfego entre as redes sem problemas. Por exemplo, se você está usando o emparelhamento de VPCs, atualize suas tabelas de rotas para a conexão de emparelhamento.

4.    Se houver um firewall entre as redes de origem e de destino, você deverá permitir:

  • O tráfego na porta TCP 443 para as sub-redes do endpoint da VPC de destino
  • O tráfego no intervalo de portas TCP 1024-1062 para o endpoint da VPC de destino
  • Para abrir um canal do AWS Support, permita o tráfego na porta TCP 22

5.    Confirme se todos os grupos de segurança e firewalls permitem o tráfego de saída temporário ou o uso de ferramentas de rastreamento de conexões.

Configure a máquina que você usará para ativar o agente do DataSync

Você pode usar um computador físico, uma máquina virtual ou uma instância do Amazon Elastic Compute Cloud (Amazon EC2) para ativar o agente do DataSync. Você deve configurar o seguinte na máquina:

1.    Configure uma conexão com uma das redes privadas no ambiente de origem ou de destino. Você deve configurar rotas de rede válidas para ambas as redes.

2.    Se não houver conexão com a internet, você deverá configurar o acesso de rede ao agente do DataSync na porta TCP 80 (HTTP).

3.    Instale o comando cURL para obter a chave de ativação.

4.    Instale a AWS Command Line Interface (AWS CLI) para ativar o agente do DataSync.

5.    Configure a AWS CLI com credenciais do AWS Identity and Access Management (IAM) que permitem ativar o agente do DataSync, semelhante ao seguinte:

{
  "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": "*"
    }
  ]
}

Observação: se estiver usando uma instância do Amazon EC2 para ativar o agente, você poderá anexar o perfil do IAM com as permissões corretas ao perfil de instância.

Ative o agente do DataSync

Observação: não deixe de substituir us-east-1 pela região da AWS de sua escolha.

1.    Implante o agente do DataSync em uma máquina virtual (on-premises) ou em uma instância do EC2 (VPC privada).

2.    Na máquina que você configurou nas etapas anteriores, obtenha a chave de ativação do agente do DataSync executando o seguinte comando cURL:

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"

Observação: opcionalmente, você pode incluir --data-urlencode "no_redirect" para simplificar e reduzir o comando e a saída.

  • ou -

Você pode obter a chave de ativação usando o console local.

3.    Anote a chave de ativação da saída do comando.

4.    Usando a AWS CLI, execute o comando describe-vpc-endpoints para obter a ID do endpoint da VPC de destino:

aws ec2 describe-vpc-endpoints --region us-east-1

Observação: se receber erros ao executar comandos da AWS CLI, verifique se você está usando a versão mais recente da AWS CLI.

5.    Anote a "VpcEndpointId" da saída do comando, semelhante ao seguinte:

"VpcEndpointId": "vpce-0ba3xxxxx3752b63"

6.    Usando a AWS CLI, execute o comando describe-security-groups para obter a ID do grupo de segurança da VPC de destino. Esse é o grupo de segurança que os endpoints de execução do DataSync usarão para se conectar ao endpoint da VPC do DataSync.

Observação: recomendamos o uso do mesmo grupo de segurança do endpoint da VPC para reduzir a complexidade da configuração.

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

7.    Anote a "GroupID" da saída do comando, semelhante ao seguinte:

"GroupId": "sg-000e8edxxxx4e4701"

8.    Usando a AWS CLI, execute o comando describe-subnets para obter a ID da sub-rede associada ao endpoint da VPC:

Observação: para reduzir a complexidade da configuração, é uma prática recomendada usar a mesma sub-rede do endpoint da VPC.

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

9.    Anote o "SubnetArn" da saída do comando, semelhante ao seguinte:

"SubnetArn": "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-03dc4xxxx6905bb76"

10.    Usando a AWS CLI, execute o comando create-agent para ativar o agente do DataSync:

  • Para --activation-key, insira a chave de ativação que você obteve na etapa 3.
  • Para --vpc-endpoint-id, insira a "VpcEndpointId" que você obteve na etapa 5.
  • Para --security-group-arns, insira a GroupID que você obteve na etapa 7.
  • Para --subnet-arns, insira o SubnetArn que você obteve na etapa 9.
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

11.    O comando retorna o nome do recurso da Amazon (ARN) do agente do DataSync:

{
    "AgentArn": "arn:aws:datasync:us-east-1:123456789012:agent/agent-0bxxxxxxxxxxxxxx57c"
}

12.    Execute o comando list-agents para confirmar se você criou o agente com êxito:

aws datasync list-agents --region us-east-1

13.    Confirme se o ARN do seu agente do DataSync retornou na saída:

{
    "Agents": [
        {
            "AgentArn": "arn:aws:datasync:us-east-1:123456789012:agent/agent-0bxxxxxxxxxxxxxx57c",
            "Status": "ONLINE",
            "Name": "your_agent_name"
        }
    ]
}

Depois que o agente do DataSync for ativado, você poderá usar o console do DataSync para criar locais e tarefas para suas transferências.

Solucione os erros durante a ativação do agente do DataSync

'The cURL command returns "errorType=PRIVATE_LINK_ENDPOINT_UNREACHABLE' and doesn't return the activation key'

Esse erro normalmente ocorre quando o tráfego na porta TCP 443 não é permitido para o endpoint da VPC.

"An error occurred (InvalidRequestException) when calling the CreateAgent operation: Private link configuration is invalid: VPC Endpoint Id should remain unspecified for public-endpoint activation keys"

Esse erro normalmente ocorre quando você insere a chave de ativação pública para o parâmetro --activation-key no comando create-agent. Você deve inserir a chave de ativação privada para o tipo de endpoint privado nessa configuração.

"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"

  • ou -

"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"

  • ou -

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

Esses erros normalmente ocorrem quando a identidade do IAM configurada na AWS CLI não tem permissões suficientes. Você deve confirmar que sua política de identidade do IAM concede permissões para ec2:*VpcEndpoint*, ec2:*subnet* e ec2:*security-group*.


Informações relacionadas

Como funciona o AWS DataSync

Como usar o AWS DataSync em uma nuvem privada virtual

Requisitos do AWS DataSync

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos