VPC による Amazon Redshift データの移行

概要

このドキュメントでは、仮想プライベート クラウド(VPC)ネットワークを使用して、Amazon Redshift から BigQuery にデータを移行する方法について説明します。

Redshift インスタンスからパブリック IP 経由でデータを転送する場合は、次の手順で Redshift データを BigQuery に移行できます。

AWS にプライベートの Amazon Redshift インスタンスがある場合、VPC ピアリングを使用してデータを BigQuery に移行できます。この機能を有効化するには、移行の設定時に VPC と予約済み IP 範囲を指定します。

  • Amazon Redshift VPC ネットワークと Google Cloud VPC ネットワークの間に仮想プライベート ネットワーク(VPN)を設定する必要があります。
  • Google Cloud VPC で実行されている移行エージェントは、VPN を介して、Amazon Redshift から Amazon S3 バケットのステージング領域への unload オペレーションをトリガーします。
  • その後、BigQuery Data Transfer Service によって Amazon S3 バケットから BigQuery にデータが転送されます。

次の図は、プライベートの Amazon Redshift インスタンスと BigQuery 間で移行時の VPC 通信と全体的なデータの流れを示しています。

始める前に

このセクションでは、プライベートの Amazon Redshift インスタンスから BigQuery へのデータ移行を設定するプロセスをステップごとに説明します。ステップは次のとおりです。

  • Google Cloud の要件: Google Cloud の前提条件を満たし、権限を設定する。
  • Google Cloud と Amazon Redshift の間に VPN を設定する。
  • Amazon Redshift クラスタへのアクセスを許可する。
  • データの一時的なステージングに使用する Amazon S3 バケットへのアクセスを許可する。 後のステップで使用するために、アクセスキーのペアを書き留める。
  • BigQuery Data Transfer Service を使用して移行をセットアップする。以下の情報が必要になります。
    • Amazon Redshift の VPC と予約済み IP 範囲。
    • Amazon Redshift JDBC の URL。こちらの JDBC の URL を取得する手順を使用します。
    • Amazon Redshift データベースのユーザー名とパスワード。
    • AWS アクセスキー ペア。このペアは S3 バケットへのアクセスを許可するステップで取得します。
    • Amazon S3 バケットの URI。このバケットには、不要な請求を避けるためにライフサイクルポリシーを設定することをおすすめします。すべてのデータを BigQuery に転送するのに十分な時間を確保するため、推奨される有効期限は 24 時間です。

必要な権限

Amazon Redshift 転送を作成する前に:

  1. 転送を作成するユーザーに、BigQuery で必要な次の権限が付与されていることを確認します。

    • bigquery.transfers.update(転送を作成する権限)
    • bigquery.datasets.update(抽出先データセットに対する権限)

    bigquery.transfers.update 権限と bigquery.datasets.update 権限は、事前定義された IAM のロール bigquery.admin に含まれています。BigQuery Data Transfer Service での IAM ロールの詳細については、アクセス制御のリファレンスをご覧ください。

  2. 転送を有効にするために必要な権限が構成されたことを確認するには、Amazon S3 のドキュメントをご覧ください。少なくとも、Amazon S3 ソースデータには AWS 管理ポリシー AmazonS3ReadOnlyAccess が適用されている必要があります。

  3. VPC ピアリングを構築するために、転送を設定する個人の Google Cloud ユーザー認証情報を、サービスが使用します。VPC ネットワーク ピアリングを作成、削除するために適切なIAM 権限の付与によって、転送を作成するユーザーが VPC ピアリング接続の作成に必要な権限を持っていることを確認します。

  • VPC ピアリングを作成する権限: compute.networks.addPeering

    • VPC ピアリングを削除する権限: compute.networks.removePeering

    compute.networks.addPeering 権限と compute.networks.removePeering 権限は、デフォルトで project.ownerproject.editornetwork.admin で事前定義された IAM のロールに含まれています。

Google Cloud の要件

標準の Amazon Redshift への移行手順に従って、Google Cloud の要件を満たしてください。

VPN を設定する

  1. Google Cloud プロジェクトで Google Cloud VPC ネットワークを設定します。

  2. VPN を設定します。 このガイドの手順に従って、Google Cloud プロジェクトの VPC ネットワークと Amazon Redshift VPC の間に VPN を設定します。 注意: このサービスでは VPC ネットワーク名を VPC ピアリング接続名として使用するため、その名前を使用する既存の VPC ピアリング接続がないことを確認してください。

  3. Google Cloud で VPC ピアリングを行う権限を付与します。 VPC ピアリング接続の作成に必要な権限があることを確認します。必要な権限をご覧ください。

  4. 続行する前に、Google Cloud VPC ネットワークが Google Cloud プロジェクトに存在し、VPN を経由して Redshift にすでに接続されていることを確認してください。

Amazon Redshift クラスタへのアクセスを許可する

Amazon の指示に従って、限定公開の Amazon Redshift クラスタの IP 範囲を許可リストに登録します。後のステップで、転送を設定するときに、この VPC ネットワーク内のプライベート IP 範囲を定義します。

Amazon S3 バケットへのアクセスを許可する

標準の Amazon Redshift への移行手順に従って、Amazon S3 バケットへのアクセスを許可します。

オプション: 分離移行キューによるワークロードの制御

移行用に Amazon Redshift キューを定義すると、移行に使用されるリソースを限定および分離できます。この移行用キューは、同時実行クエリ数を最大にして構成できます。定義した移行用キューに特定の移行ユーザー グループを関連付けて、BigQuery へのデータ転送を設定する際にそれらの認証情報を使用します。設定した転送サービスは、移行用キューのみへのアクセスが許可されます。

Amazon Redshift 転送の設定

標準の Amazon Redshift への移行手順に従って、Amazon Redshift の転送を設定しますが、プライベートの Amazon Redshift インスタンスとは次の違いがあります。

  • JDBC 接続 URL の転送設定のフィールドに、プライベートの Amazon Redshift インスタンスの VPC と予約済み IP 範囲フィールドを入力します。
  • これらを指定しない場合は、転送構成は標準の Amazon Redshift 移行にフォールバックします。

VPC と予約済み IP 範囲を入力するには、次を実行します。

  1. VPC と予約済み IP 範囲フィールドに、移行インフラストラクチャをプロビジョニングするための CIDR ブロックとして VPC ネットワーク名と予想されるプライベート IP 範囲を指定します。

    Amazon Redshift の移行の CIDR フィールド

    • フォームは VPC_network_name:CIDR です。例: my_vpc:10.251.1.0/24
    • CIDR 表記で 10.x.x.x から始まる標準のプライベート VPC ネットワーク アドレス範囲を使用します。
    • プライベート IP 範囲は、移行インフラストラクチャをプロビジョニングするためのものです。次を確認してください。
      • IP 範囲が十分に広い(IP アドレスが 10 個を超えている)
      • IP 範囲は、Google Cloud VPC ネットワークと Amazon Redshift VPC ネットワークのどのサブネットとも重複していない。
    • 同じ Amazon Redshift インスタンスに複数の転送が構成されている場合は、それぞれに同じ VPC_network_name:CIDR 値を使用して、複数の転送で同じ移行インフラストラクチャを再利用できるように保証してください。

割り当てと上限

Amazon Redshift プライベート インスタンスを VPC によって移行すると、単一のテナント インフラストラクチャで移行エージェントが実行されます。演算リソースの制限により、同時転送の実行が許可されるのは最大 5 つまでです。

標準の Amazon Redshift からの移行と同じ割り当てと制限が適用されます。

次のステップ