Ao usar o AWS re:Post, você concorda com os AWS re:Post Termos de uso

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

9 minuto de leitura
0

Quero usar o Amazon Virtual Private Cloud (Amazon VPC) para configurar meus ambientes e o AWS DataSync para transferir dados em uma rede privada.

Resolução

Importante: o exemplo de configuração 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 está em uma Amazon VPC. A Amazon VPC 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, reverta a direção da transferência com base nas combinações de local aceitas pelo DataSync. Essa configuração também funciona com fontes on-premises, como HDFS e Armazenamento de objetos.

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 usar o emparelhamento de VPC para configurar transferências entre VPCs, revise as limitações do emparelhamento de VPC. Tenha 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 é uma Amazon VPC privada. O Amazon VPC deve acessar um local de destino, como o Amazon S3, o Amazon EFS ou o Amazon FSx.

Na VPC privada de destino, conclua as seguintes etapas:

  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 é de uma das seguintes opções:

  • Um ambiente on-premises de origem para uma VPC privada de destino
  • Entre VPCs privadas que estão em regiões da AWS diferentes
  • De fontes que pertencem a contas da AWS diferentes.

Configure 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 a VPC de destino. Por exemplo, você pode usar o AWS Direct Connect, o emparelhamento de VPCs ou uma VPC de trânsito para configurar essa conexão.
  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 usar 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, então você deverá permitir as seguintes opções:
    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 uma máquina a ser usada para ativar o agente do DataSync

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solucionar erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

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. Conclua as seguintes etapas 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. (Opcional) Instale o comando cURL para obter a chave de ativação.
  4. Instale o AWS CLI para ativar o agente do DataSync.
  5. Configure a AWS CLI com a permissão do AWS Identity and Access Management (IAM) que permite ativar o agente do DataSync. As permissões são semelhantes ao exemplo a seguir:
    {
      "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 usar uma instância do Amazon EC2 para ativar o agente, anexe o perfil do IAM com as permissões corretas ao perfil de instância.

Ative o agente do DataSync

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

Para ativar o agente do DataSync, conclua as seguintes etapas:

  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, execute o seguinte comando cURL para obter a chave de ativação do agente do 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"

    Observação: opcionalmente, você pode incluir --data-urlencode "no_redirect" para simplificar e reduzir o comando e a saída. Ou você pode usar o console local para obter a chave de ativação.

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

  4. Execute o comando describe-vpc-endpoints para obter o VpcEndpointId, VpcId, SubnetIds e Security GroupId para o endpoint da VPC de destino:

    aws ec2 describe-vpc-endpoints --region us-east-1
  5. Observe o VpcEndpointId na saída do comando. A saída é semelhante ao seguinte:

            {
                "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"
                    }
                ],
                ...

    Observação: se você usa a mesma sub-rede e grupo de segurança para seu agente do DataSync, ignore as etapas opcionais a seguir.

  6. Execute o comando describe-security-groups para obter a ID do grupo de segurança da VPC de destino. Os endpoints de execução do DataSync usam esse grupo de segurança para se conectar ao endpoint VPC do DataSync.

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

    Observação: para reduzir a complexidade da configuração, é uma prática recomendada usar o mesmo grupo de segurança do endpoint da VPC.

  7. (Opcional) Observe o GroupID na saída do comando. A saída do comando parece com o seguinte:

    "GroupId": "sg-000e8edxxxx4e4701"
  8. (Opcional) Execute o comando describe-subnets para obter a ID da sub-rede associada ao endpoint da VPC:

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

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

  9. (Opcional) Observe o SubnetArn na saída do comando. A saída do comando parece com o seguinte:

    "SubnetArn": "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-03dc4xxxx6905bb76"
  10. Execute o comando create-agent para ativar o agente do 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

**Observação:**Para activation-key, insira a chave de ativação. Para vpc-endpoint-id, insira seu valor para VpcEndpointId. Para security-group-arns, insira seu valor para GroupID. Para subnet-arns, insira seu valor para SubnetArn.
O comando retorna o ARN do agente do DataSync:

{
    "AgentArn": "arn:aws:datasync:us-east-1:123456789012:agent/agent-0bxxxxxxxxxxxxxx57c"
}
  1. Execute o comando list-agents para confirmar se você criou o agente com êxito:
aws datasync list-agents --region us-east-1
  1. 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, use o console do DataSync para criar locais e tarefas para suas transferências.

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

Você pode encontrar erros durante a ativação do agente do DataSync. Para solucionar problemas, revise as seguintes informações:

O tráfego na porta TCP 443 não é permitido

O comando cURL retorna o erro a seguir e não retorna a chave de ativação:

"errorType=PRIVATE_LINK_ENDPOINT_UNREACHABLE"

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

Chave de ativação pública no comando create-agent

O erro InvalidRequestException a seguir ocorre quando você chama a operação CreateAgent. Você pode ver um erro semelhante ao seguinte:

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

Esse erro 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.

A identidade do IAM tem permissões insuficientes

Ao configurar a ativação do agente do DataSync, você pode receber um dos seguintes erros:

"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 ocorrem quando a identidade do IAM configurada na AWS CLI não tem permissões suficientes. Confirme 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

Usar agentes do AWS DataSync com endpoints de VPC

Requisitos do AWS DataSync

AWS OFICIAL
AWS OFICIALAtualizada há 9 meses