어떻게 Amazon VPC 엔드포인트를 사용해서 AWS 리전 또는 여러 계정에서 DataSync 에이전트를 활성화할 수 있나요?

7분 분량
0

Amazon Virtual Private Cloud(VPC)를 사용하여 환경을 설정하고 AWS DataSync를 사용하여 프라이빗 네트워크에서 데이터를 전송하기를 원합니다.

해결 방법

**중요:**다음과 같은 가정이 아래의 구성 예시에 적용되어 있습니다.

  • 프라이빗 엔드포인트와 AWS 간의 연결을 제외하고 리소스는 퍼블릭 인터넷에 연결되지 않습니다.
  • 데이터 전송의 소스는 NFS 또는 SMB 데이터 소스가 있는 온프레미스 또는 원격 VPC 환경입니다. 데이터 전송의 대상은 Amazon VPC에 있습니다. Amazon VPS는 Amazon Simple Storage Service(S3), Amazon Elastic File System(Amazon EFS) 또는 Amazon FSx에 액세스할 수 있습니다. 설정을 완료한 후 DataSync에 지원되는 위치 조합을 근거로 전송 방향을 바꾸세요. 이 설정은 HDFS 및 Object 스토리지와 같은 온프레미스 소스에서도 작동합니다.

소스 네트워크 환경 설정 (NFS 또는 SMB 데이터 소스)

DataSync 에이전트는 NFS 또는 SMB 데이터 소스와 가까운 소스 네트워크에서 실행됩니다. 이 구성의 경우 소스 네트워크는 온프레미스 또는 프라이빗 Amazon VPC일 수 있습니다.

참고:VPC 피어링을 사용하여 VPC 간 전송을 설정하려면 VPC 피어링 제한을 검토하세요. 기능이 해당 구성을 지원하는지 확인하세요.

대상 네트워크 환경 (Amazon S3, Amazon EFS 또는 Amazon FSx) 설정

이 구성에서 대상 네트워크는 프라이빗 Amazon VPC입니다. Amazon VPC는 Amazon S3, Amazon EFS 또는 Amazon FSx와 같은 대상 위치에 액세스해야 합니다.

대상 프라이빗 VPC에서 다음의 단계를 완료하세요.

  1. DataSync에 대해 VPC 엔드포인트를 생성하세요.
  2. VPC 엔드포인트와 연결된 서브넷에 DataSync 실행 엔드포인트에 사용 가능한 IP 주소가 네 개 이상 있는지 확인하세요.
    참고: 각 DataSync 작업은 작업 실행 엔드포인트로 네 개의 IP 주소를 사용합니다.
  3. DataSync VPC 엔드포인트에 대해 보안 그룹을 구성하세요. 보안 그룹은 다음의 옵션을 허용해야 합니다.
    TCP 포트 443에서 엔드포인트로 향하는 인바운드 트래픽
    아웃바운드 임시 트래픽
    TCP 포트 범위 1024-1062에서 대상 VPC 엔드포인트로 향하는 인바운드 트래픽
    AWS Support 채널을 열려면 TCP 포트 22에서 인바운드 트래픽을 허용하세요

소스 및 대상 환경 간의 네트워크 연결을 설정하세요

이 구성의 경우 데이터 전송은 다음 중 하나에서 이루어집니다.

  • 소스 온프레미스 환경에서 대상 프라이빗 VPC로
  • 서로 다른 AWS 리전에 있는 프라이빗 VPC 간
  • 서로 다른 AWS 계정에 속한 소스에서.

소스 및 대상 환경 간에 다음과 같은 연결 및 네트워크 요구 사항을 구성하세요.

  1. 소스 환경과 대상 VPC 간에 활성 네트워크 연결을 설정하세요. 예를 들어, AWS Direct Connect, VPC 피어링 또는 트랜짓 VPC를 사용하여 이 연결을 설정할 수 있습니다.
  2. 소스 및 대상 환경 간의 프라이빗 네트워크 주소 공간이 겹치지 않는지 확인하세요. 그런 다음 CIDR 블록을 확인하세요.
  3. 소스 서브넷과 대상 서브넷 모두의 라우팅 테이블 항목이 네트워크 간 트래픽을 문제 없이 허용하는지 확인하세요. 예를 들어, VPC 피어링을 사용하는 경우 피어링 연결에 대한 라우팅 테이블을 업데이트하세요.
  4. 소스 네트워크와 대상 네트워크 사이에 방화벽이 있는 경우 다음 옵션을 허용해야 합니다.
    TCP 포트 443에서 대상 VPC 엔드포인트 서브넷으로 향하는 트래픽
    TCP 포트 범위 1024-1062에서 대상 VPC 엔드포인트로 향하는 트래픽
    AWS Support 채널을 열려면 TCP 포트 22에서 트래픽을 허용하세요
  5. 모든 보안 그룹과 방화벽이 일시적인 아웃바운드 트래픽이나 연결 추적 도구 사용을 허용하는지 확인하세요.

DataSync 에이전트를 활성화하는 데 사용할 머신을 구성하세요

참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

물리적 컴퓨터, 가상 머신 또는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 사용하여 DataSync 에이전트를 활성화할 수 있습니다. 머신에서 다음 단계를 완료하세요.

  1. 소스 또는 대상 환경의 프라이빗 네트워크 중 하나에 대한 연결을 설정하세요. 두 네트워크에 대해 유효한 네트워크 경로를 구성해야 합니다.
  2. 인터넷에 연결되어 있지 않은 경우, TCP 포트 80(HTTP)에서 DataSync 에이전트에 대한 네트워크 액세스를 설정해야 합니다.
  3. (선택 사항) cURL 명령을 설치하여 활성화 키를 가져오세요.
  4. AWS CLI를 설치하여 DataSync 에이전트를 활성화하세요.
  5. DataSync 에이전트를 활성화하게 해 주는 AWS Identity and Access Management(IAM) 권한으로 AWS CLI를 구성하세요. 권한은 다음 예와 비슷합니다.
    {
      "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": "*"
        }
      ]
    }
    **참고:**Amazon EC2 인스턴스를 사용하여 에이전트를 활성화하는 경우, 올바른 권한이 있는 IAM 역할을 인스턴스 프로필에 연결하세요.

DataSync 에이전트를 활성화하세요

참고: us-east-1을 선택한 AWS 리전으로 바꾸세요.

DataSync 에이전트를 활성화하려면 다음 단계를 완료하세요.

  1. DataSync 에이전트를 가상 머신(온프레미스) 또는 EC2 인스턴스(프라이빗 VPC)에 배포하세요.

  2. 구성한 머신에서 다음과 같은 cURL 명령을 실행하여 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"

    **참고:--data-urlencode “no_redirect”**를 포함하도록 선택하면 명령과 출력을 단순화하고 줄일 수 있습니다. 또는 로컬 콘솔을 사용하여 활성화 키를 확보할 수 있습니다.

  3. 명령 출력의 활성화 키를 기록하세요.

  4. describe-vpc-endpoints 명령을 실행하여 대상 VPC 엔드포인트의 VpcEndpointId, Vpcld, SubnetIds, Secuity GroupId를 가져오세요.

    aws ec2 describe-vpc-endpoints --region us-east-1
  5. 명령 출력의 VpcEndpointId를 기록하세요. 출력은 다음과 유사하게 표시됩니다.

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

    참고: DataSync 에이전트에 동일한 서브넷 및 보안 그룹을 사용하는 경우 다음의 선택 사항 단계를 건너뛰세요.

  6. (선택 사항) describe-security-groups 명령을 실행하여 대상 VPC의 보안 그룹 ID를 가져오세요. DataSync 실행 엔드포인트는 이 보안 그룹을 사용하여 DataSync VPC 엔드포인트에 연결합니다.

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

    **참고:**구성의 복잡성을 줄이려면 VPC 엔드포인트와 동일한 보안 그룹을 사용하는 것이 가장 좋습니다.

  7. (선택 사항) 명령 출력의 GroupID를 기록하세요. 명령 출력은 다음과 유사하게 표시됩니다.

    "GroupId": "sg-000e8edxxxx4e4701"
  8. (선택 사항) describe-subnets 명령을 실행하여 VPC 엔드포인트와 연결된 서브넷 ID를 가져오세요.

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

    **참고:**구성의 복잡성을 줄이려면 VPC 엔드포인트와 동일한 서브넷 그룹을 사용하는 것이 가장 좋습니다.

  9. (선택 사항) 명령 출력의 SubnetArn을 기록하세요. 명령 출력은 다음과 유사하게 표시됩니다.

    "SubnetArn": "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-03dc4xxxx6905bb76"
  10. create-agent 명령을 실행하여 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

참고: activation-key의 경우 활성화 키를 입력하세요. vpc-endpoint-id의 경우 VpcEndpointId에 값을 입력하세요. security-group-arns의 경우 GroupID에 값을 입력하세요. subnet-arns의 경우 SubnetArn에 값을 입력하세요.
이 명령은 DataSync 에이전트의 ARN을 반환합니다.

{
    "AgentArn": "arn:aws:datasync:us-east-1:123456789012:agent/agent-0bxxxxxxxxxxxxxx57c"
}
  1. list-agents 명령을 실행하여 에이전트가 성공적으로 생성되었는지 확인하세요.
aws datasync list-agents --region us-east-1
  1. DataSync 에이전트의 ARN이 출력에 반환되는지 확인하세요.
{
    "Agents": [
        {
            "AgentArn": "arn:aws:datasync:us-east-1:123456789012:agent/agent-0bxxxxxxxxxxxxxx57c",
            "Status": "ONLINE",
            "Name": "your_agent_name"
        }
    ]
}

DataSync 에이전트가 활성화되면 DataSync 콘솔을 사용하여 전송을 위한 위치작업을 생성하세요.

DataSync 에이전트 활성화 중 발생하는 오류를 해결하세요

DataSync 에이전트 활성화 중에 오류가 발생할 수 있습니다. 문제를 해결하려면 다음 정보를 검토하세요.

TCP 포트 443에서의 트래픽은 허용되지 않습니다

cURL 명령은 다음 오류를 반환하며 활성화 키를 반환하지 않습니다.

“errorType=PRIVATE_LINK_ENDPOINT_UNREACHABLE“

이 오류는 일반적으로 TCP 포트 443의 트래픽이 VPC 엔드포인트로 허용되지 않을 때 발생합니다.

create-agent 명령의 퍼블릭 활성화 키

CreateAgent 작업을 호출할 때 다음과 같은 InvalidRequestException 오류가 발생합니다. 다음과 비슷한 오류가 발생할 수 있습니다.

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

이 오류는 create-agent 명령에서 --activation-key 매개 변수의 퍼블릭 활성화 키를 입력할 때 발생합니다. 이 구성에서 프라이빗 엔드포인트 유형에 대한 프라이빗 활성화 키를 입력해야 합니다.

IAM 자격 증명에 권한이 충분하지 않습니다

DataSync 에이전트 활성화를 구성할 때 다음 오류 중 하나가 나타날 수 있습니다.

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

-또는-

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

-또는-

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

이러한 오류는 AWS CLI에 구성된 IAM 자격 증명에 권한이 충분하지 않을 때 발생합니다. IAM 자격 증명 정책이 ec2:*VpcEndpoint*, ec2:*subnet*, ec2:*security-group*에 대한 권한을 부여하는지 확인하세요.

관련 정보

AWS DataSync의 작동 방식

VPC 엔드포인트를 통한 AWS DataSync 에이전트 사용

AWS DataSync 요구 사항

AWS 공식
AWS 공식업데이트됨 7달 전
댓글 없음

관련 콘텐츠