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?
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:
- Crie um endpoint da VPC para o DataSync.
- 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. - 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:
- 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.
- 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.
- 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.
- 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 - 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:
- 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.
- 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).
- (Opcional) Instale o comando cURL para obter a chave de ativação.
- Instale o AWS CLI para ativar o agente do DataSync.
- 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:
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.{ "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": "*" } ] }
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:
-
Implante o agente do DataSync em uma máquina virtual (on-premises) ou em uma instância do EC2 (VPC privada).
-
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.
-
Anote a chave de ativação da saída do comando.
-
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
-
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.
-
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.
-
(Opcional) Observe o GroupID na saída do comando. A saída do comando parece com o seguinte:
"GroupId": "sg-000e8edxxxx4e4701"
-
(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.
-
(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"
-
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" }
- Execute o comando list-agents para confirmar se você criou o agente com êxito:
aws datasync list-agents --region us-east-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
Conteúdo relevante
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 2 anos