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 スタックを起動するには、以下の表でいずれかの [Launch Stack] (スタックの起動) ボタンを選択します。

    リージョン ビュー デザイナーで表示 起動する
    米国東部(バージニア北部) 表示 デザイナーで表示
    米国東部(オハイオ) 表示 デザイナーで表示
    米国西部(北カリフォルニア) 表示 デザイナーで表示
    米国西部(オレゴン) 表示 デザイナーで表示
    カナダ(中部) 表示 デザイナーで表示
    南米(サンパウロ) 表示 デザイナーで表示
    欧州 (ストックホルム) 表示 デザイナーで表示
    欧州 (アイルランド) 表示 デザイナーで表示
    欧州 (ロンドン) 表示 デザイナーで表示
    欧州 (パリ) 表示 デザイナーで表示
    欧州 (フランクフルト) 表示 デザイナーで表示
    中東 (バーレーン) 表示 デザイナーで表示
    中東 (アラブ首長国連邦) 表示 デザイナーで表示
    イスラエル (テルアビブ) 表示 デザイナーで表示
    アフリカ (ケープタウン) 表示 デザイナーで表示
    アジアパシフィック (香港) 表示 デザイナーで表示
    アジアパシフィック(東京) 表示 デザイナーで表示
    アジアパシフィック(ソウル) 表示 デザイナーで表示
    アジアパシフィック(シンガポール) 表示 デザイナーで表示
    アジアパシフィック(シドニー) 表示 デザイナーで表示
    アジアパシフィック(ムンバイ) 表示 デザイナーで表示
    中国 (北京) 表示 デザイナーで表示
    中国 (寧夏) 表示 デザイナーで表示
    AWS GovCloud (米国西部) 表示 デザイナーで表示
    AWS GovCloud (米国東部) 表示 デザイナーで表示
  2. [Select Template] ページで、[Next] を選択します。

  3. [Specify Details] (詳細指定)ページで、テンプレートでパラメータを次のように設定します。

    • VPC — Neptune-Export サービスをセットアップする最も簡単な方法は、Neptune データベースと同じ Amazon VPC にインストールすることです。別の VPC にインストールする場合は、VPC ピアリング接続を使用して Neptune DB クラスターの VPC と Neptune エクスポートサービス VPC 間の接続を確立します。

    • Subnet1 — Neptune-Export サービスは、サブネットからインターネットへのアウトバウンド IPv4 HTTPS トラフィックを許可する VPC 内のサブネットにインストールする必要があります。これは、Neptune-Export サービスが AWS Batch API を呼び出して、エクスポートジョブを作成して実行します。

      Neptune ドキュメントの DB クラスターを作成する ページの CloudFormation テンプレートを使用して Neptune クラスターを作成した場合、このスタックからの PrivateSubnet1 および PrivateSubnet2 出力を使用して、これと、次のパラメータを設定します。

    • Subnet2 — そこからインターネットへのアウトバウンド IPv4 HTTPS トラフィックを許可する VPC 内の第 2 サブネット。

    • EnableIAM — これを true に設定して AWS Identity and Access Management (IAM) を使用して Neptune-Endpoint API を保護します。そのようにすることをお勧めします。

      IAM 認証を有効にする場合は、Sigv4 エンドポイントへのすべての HTTPS リクエストに署名します。ユーザーに代わってリクエストに署名するには、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. [Next] (次へ) をクリックします。

  5. [Options(オプション)] ページで、[Next(次へ)] を選択します。

  6. [確認] ページで、AWS CloudFormation によって IAM リソースが作成されることを確認する最初のチェックボックスをオンにします。新しいスタックの CAPABILITY_AUTO_EXPAND を確認する 2 つ目のチェックボックスをオンにします。

    注記

    CAPABILITY_AUTO_EXPAND は、スタックの作成時に事前の確認なしにマクロが展開されることを明示的に確認します。ユーザーは、処理されたテンプレートから変更セットを作成することが多いため、実際にスタックを作成する前にマクロによって行われた変更を確認できます。詳細については、「AWS CloudFormation CreateStack API」を参照してください。

    次に [作成] を選択します。

Neptune エクスポートからNeptune へのアクセスを有効にする

Neptune-Export のインストールが完了したら、Neptune VPC セキュリティグループを更新し、Neptune-Export からのアクセスを許可します。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 を使用します。

Export ジョブを実行する
  • エクスポートを実行するユーザーまたはロールが execute-api:Invoke アクセス許可を付与されていることを確認してください。

  • Neptune-Export をインストールしたときに AWS CloudFormation スタックの EnableIAM パラメータを true に設定すると、Neptune-Export API へのすべてのリクエストに Sigv4 署名しなければなりません。awscurl を使用して API にリクエストすることをお勧めします。ここでの例はすべて、IAM 認証が有効であることを前提としています。

  • Neptune-Export をインストールしたときに AWS CloudFormation スタックの VPCOnly パラメータを true に設定すると、通常は VPC にある Amazon EC2 インスタンスから、VPC 内から Neptune-Export API を呼び出す必要があります。

データのエクスポートを開始するには、command および outputS3Path リクエストパラメータと 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. AWS Batchコンソールをhttps://console.aws.amazon.com/batch/ で 開きます。

  2. ジョブ を選択します。

  3. jobID に基づいて、キャンセルする実行中のジョブを見つけます。

  4. ジョブのキャンセルを選択します。

Neptune export API を使用して実行中のエクスポートジョブをキャンセルするには

次のように HTTP DELETE リクエストを NeptuneExportApiUrijobID を添付して送信します。

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