Neptune-Export 서비스를 사용하여 Neptune 데이터 내보내기 - Amazon Neptune

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Neptune-Export 서비스를 사용하여 Neptune 데이터 내보내기

다음 단계에 따라 Neptune-Export 서비스를 사용하여 Neptune DB 클러스터에서 Amazon S3로 데이터를 내보낼 수 있습니다.

Neptune-Export 서비스 설치

AWS CloudFormation 템플릿을 사용하여 스택을 생성합니다.

Neptune-Export 서비스를 설치하려면
  1. 다음 표의 스택 실행 버튼 중 하나를 선택하여 AWS CloudFormation 콘솔에서 AWS CloudFormation 스택을 실행합니다.

    리전 Designer에서 보기 시작
    미국 동부(버지니아 북부) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    미국 동부(오하이오) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    미국 서부(캘리포니아 북부) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    미국 서부(오레곤) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    캐나다(중부) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    남아메리카(상파울루) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    유럽(스톡홀름) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    유럽(아일랜드) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    유럽(런던) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    유럽(파리) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    유럽(프랑크푸르트) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    중동(바레인) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    중동(UAE) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    이스라엘(텔아비브) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    아프리카(케이프타운) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    아시아 태평양(홍콩) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    아시아 태평양(도쿄) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    아시아 태평양(서울) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    아시아 태평양(싱가포르) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    아시아 태평양(시드니) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    아시아 태평양(뭄바이) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    중국(베이징) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    중국(닝샤) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    AWS GovCloud(미국 서부) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
    AWS GovCloud (미국 동부) 보기 Designer에서 보기 Yellow button with text "Launch Stack" and an icon. (AI generated)
  2. 템플릿 선택 페이지에서 다음을 선택합니다.

  3. 세부 정보 지정 페이지의 템플릿에서 다음 파라미터를 설정합니다.

    • VPC   –   Neptune-Export 서비스를 설정하는 가장 쉬운 방법은 Neptune 데이터베이스와 동일한 Amazon VPC에 설치하는 것입니다. 별도의 VPC에 설치하려는 경우 VPC 피어링을 사용하여 Neptune DB 클러스터의 VPC와 Neptune-Export 서비스 VPC 간에 연결을 설정할 수 있습니다.

    • Subnet1   –   Neptune-Export 서비스는 서브넷에서 인터넷으로의 아웃바운드 IPv4 HTTPS 트래픽을 허용하는 VPC의 서브넷에 설치해야 합니다. 이는 Neptune-Export 서비스가 AWS 배치 API를 호출하여 내보내기 작업을 생성하고 실행할 수 있도록 하기 위함입니다.

      Neptune 설명서 DB 클러스터 생성 페이지의 CloudFormation 템플릿을 사용하여 Neptune 클러스터를 생성한 경우, 해당 스택의 PrivateSubnet1PrivateSubnet2 출력을 사용하여 이 파라미터와 다음 파라미터를 채울 수 있습니다.

    • Subnet2   –   서브넷에서 인터넷으로의 아웃바운드 IPv4 HTTPS 트래픽을 허용하는 VPC의 두 번째 서브넷입니다.

    • EnableIAM   –  AWS Identity and Access Management(IAM)를 사용하여 Neptune-Endpoint API를 보호하도록 이를 true로 설정합니다. 이것이 권장 사항입니다.

      IAM 인증을 활성화하는 경우 엔드포인트에 대한 모든 HTTPS 요청에 Sigv4 서명해야 합니다. awscurl과 같은 도구를 사용하여 사용자 대신 요청에 서명할 수 있습니다.

    • VPCOnly   –  이를 true로 설정하면 내보내기 엔드포인트가 VPC 전용으로 설정되므로, Neptune-Export 서비스가 설치된 VPC 내에서만 액세스할 수 있습니다. 이로 인해 Neptune-Export API는 해당 VPC 내에서만 사용할 수 있습니다.

      VPCOnlytrue로 설정하는 것이 좋습니다.

    • NumOfFilesULimit   –   ulimits 컨테이너 속성의 nofile에 대해 10,000에서 1,000,000 사이의 값을 지정합니다. 기본값은 10,000이며, 그래프에 많은 수의 고유 레이블이 포함되어 있지 않는 한 기본값을 유지하는 것이 좋습니다.

    • PrivateDnsEnabled (부울)   –   프라이빗 호스팅 영역을 지정된 VPC와 연결할지 여부를 나타냅니다. 기본 값은 true입니다.

      이 플래그가 활성화된 상태로 VPC 엔드포인트를 생성하면 모든 API 게이트웨이 트래픽이 VPC 엔드포인트를 통해 라우팅되고 퍼블릭 API 게이트웨이 엔드포인트 호출이 비활성화됩니다. PrivateDnsEnabledfalse로 설정하면 퍼블릭 API 게이트웨이 엔드포인트가 활성화되지만, Neptune 내보내기 서비스는 프라이빗 DNS 엔드포인트를 통해 연결할 수 없습니다. 그런 다음 여기에 설명된 대로 VPC 엔드포인트의 퍼블릭 DNS 엔드포인트를 사용하여 내보내기 서비스를 호출할 수 있습니다.

  4. 다음을 선택합니다.

  5. 옵션 페이지에서 다음을 선택합니다.

  6. 검토 페이지에서 첫 번째 확인란을 선택하여 AWS CloudFormation이 IAM 리소스를 생성하는 것을 승인합니다. 두 번째 확인란을 선택하여 새 스택에 대해 CAPABILITY_AUTO_EXPAND를 승인합니다.

    참고

    CAPABILITY_AUTO_EXPAND는 사전 검토 없이 스택을 생성할 경우 매크로가 확장됨을 명시적으로 승인합니다. 사용자는 실제로 스택을 생성하기 전에 매크로를 통한 변경 사항을 검토할 수 있도록 처리된 템플릿에서 변경 세트를 생성하는 경우가 많습니다. 자세한 내용은 AWS CloudFormation CreateStack API를 참조하십시오.

    그런 다음 생성을 선택합니다.

Neptune-Export에서 Neptune에 액세스할 수 있도록 설정

Neptune-Export 설치가 완료된 후 Neptune-Export에서 액세스할 수 있도록 Neptune VPC 보안 그룹을 업데이트합니다. Neptune-Export AWS CloudFormation 스택이 생성되면 출력 탭에 NeptuneExportSecurityGroup ID가 포함됩니다. Neptune-Export 보안 그룹에서 액세스를 허용하도록 Neptune VPC 보안 그룹을 업데이트합니다.

VPC 기반 EC2 인스턴스에서 Neptune-Export 엔드포인트에 액세스할 수 있도록 설정

Neptune-Export 엔드포인트를 VPC 전용으로 설정하는 경우 Neptune-Export 서비스가 설치된 VPC 내에서만 엔드포인트에 액세스할 수 있습니다. Neptune-Export API 호출을 수행할 수 있는 VPC의 Amazon EC2 인스턴스에서 연결할 수 있도록 하려면 AWS CloudFormation 스택에서 생성한 NeptuneExportSecurityGroup을 해당 Amazon EC2 인스턴스에 연결하면 됩니다.

Neptune-Export API를 사용하여 Neptune-Export 작업 실행

AWS CloudFormation 스택의 출력 탭에는 NeptuneExportApiUri도 포함되어 있습니다. Neptune-Export 엔드포인트에 요청을 보낼 때마다 이 URI를 사용합니다.

내보내기 작업 실행
  • 내보내기를 실행하는 사용자 또는 역할에 execute-api:Invoke 권한이 부여되었는지 확인하세요.

  • Neptune-Export를 설치할 때 AWS CloudFormation 스택에서 EnableIAM 파라미터를 true로 설정한 경우 Neptune-Export API에 대한 모든 요청에 Sigv4 서명해야 합니다. awscurl을 사용하여 API에 요청하는 것이 좋습니다. 여기의 모든 예제에서는 IAM 인증이 활성화된 것으로 가정합니다.

  • Neptune-Export를 설치할 때 AWS CloudFormation 스택에 VPCOnly 파라미터를 true로 설정한 경우 VPC 내에서, 보통 해당 VPC에 있는 Amazon EC2 인스턴스에서 Neptune-Export API를 호출해야 합니다.

데이터 내보내기를 시작하려면 commandoutputS3Path 요청 파라미터와 endpoint 내보내기 파라미터를 사용하여 NeptuneExportApiUri 엔드포인트에 요청을 보내면 됩니다.

Neptune에서 속성 그래프 데이터를 내보내 Amazon S3에 게시하는 요청의 예는 다음과 같습니다.

curl \ (your NeptuneExportApiUri) \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "command": "export-pg", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)" } }'

마찬가지로, 다음은 Neptune에서 Amazon S3로 RDF 데이터를 내보내는 요청의 예입니다.

curl \ (your NeptuneExportApiUri) \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "command": "export-rdf", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)" } }'

command 요청 파라미터를 생략하면 기본적으로 Neptune-Export는 Neptune에서 속성 그래프 데이터를 내보내려고 시도합니다.

이전 명령이 성공적으로 실행된 경우 출력은 다음과 같습니다.

{ "jobName": "neptune-export-abc12345-1589808577790", "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f" }

방금 시작한 내보내기 작업 모니터링

실행 중인 작업을 모니터링하려면 다음과 같이 jobID를 NeptuneExportApiUri에 추가하면 됩니다.

curl \ (your NeptuneExportApiUri)(the job ID)

서비스가 아직 내보내기 작업을 시작하지 않은 경우 응답은 다음과 같습니다.

{ "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f", "status": "pending" }

내보내기 작업이 시작된 후 명령을 반복하면 응답은 다음과 같습니다.

{ "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f", "status": "running", "logs": "https://us-east-1.console.aws.amazon.com/cloudwatch/home?..." }

상태 호출에서 제공한 URI를 사용하여 CloudWatch Logs에서 로그를 열면 내보내기 진행 상황을 자세히 모니터링할 수 있습니다.

CloudWatch Logs 로그 화면의 스크린샷입니다.

실행 중인 내보내기 작업 취소

AWS Management Console을 사용하여 실행 중인 내보내기 작업을 취소하려면
  1. https://console.aws.amazon.com/batch/에서 AWS Batch 콘솔을 엽니다.

  2. 작업을 선택합니다.

  3. 취소하려는 실행 중인 작업을 jobID를 기준으로 찾습니다.

  4. 작업 취소를 선택합니다.

Neptune 내보내기 API를 사용하여 실행 중인 내보내기 작업을 취소하려면:

다음과 같이 jobID가 추가된 상태에서 HTTP DELETE 요청을 NeptuneExportApiUri로 보냅니다.

curl -X DELETE \ (your NeptuneExportApiUri) (the job ID)