目次


オンプレミス環境からクラウドデータベース dashDB への移行

Bluemix Lift を活用して簡単かつ高速に

Comments

難しいプログラミングは一切無しに、使い慣れたオンプレミスのデータベースから、IBM のクラウド DB へのデータ移行を可能とする「Bluemix Lift」を紹介します。

データベースが大規模になればなるほど移行はネックになりがちですが、もし移行作業が原因でクラウド DB の活用に踏み切るのを躊躇されているのなら、是非 Bluemix Lift をお試しください。30 分もかからずに高速かつセキュアな移行環境が整います。

1

はじめに ー「データ移行」という重要な作業を、いかにスムーズに行うか?

システムを更改する際、旧環境から新環境へのデータ移行は必ず発生する重要な作業です。

特に近年、「同じデータセンター内の別筐体に移行する」など物理的に近い範囲に留まらず、「新しくクラウドに環境を構築したから、オンプレミスにあるデータを持っていきたい」というように、世界中どこでも場所を問わずデータを移行させたいというニーズが増えています。

しかし、データ移行作業はそう簡単にできるものではありません。データ容量が大きくなれば大きくなるほど考慮すべき項目は多岐に渡ります。

  • どのような仕組みでデータを移行するのが良いのか?
  • どのような設計でバッチを組めばいいのか?
  • どれほどの時間がかかるのか(短くするにはどうすればいいのか)?
  • セキュリティは大丈夫なのか?

上記のような課題に対するソリューションとして、IBM は dashDB for Analytics や DB2 on Cloud などクラウドのデータベースへの移行に活用可能な「Bluemix Lift」という新たなサービスの提供を開始しました。

以下では、「CSV ファイルを用いた dashDB for Analytics への移行」を題材に、Bluemix Lift の概要や移行手順についてご紹介します。

2

Bluemix Lift を使って dashDB for Analytics へデータを移行する(概要)

本章では、dashDB for Analytics および Bluemix Lift のサービス概要をご紹介します。

( 1 ) dashDB for Analytics:大量データの処理を得意とするクラウド DB サービス

Netezza や DB2 BLU のテクノロジーが融合して生まれた分析処理を得意とするクラウド DB です (*)。

ローカルに保存してあるデータファイルのアップロードや、SoftLayer の Object Storage などのクラウドストレージからのデータロードなどが標準搭載されており、たった数ステップで利用できます。しかし、以下のような仕様であるため、大量データを移行する際にはユーザ側での十分な考慮や設計が必要でした。

  • 1 回のオペレーションで 1 テーブルへのデータ投入
  • 大量データが対象となる場合はクラウドストレージを予め準備し、moveToCloud(dashDB 提供ツール)など何らかの方法でアップロードの必要あり。

( * ) dashDB をお試しになる際は、こちらをご覧ください。

( 2 ) Bluemix Lift:クラウド環境へのデータ移行サービス

オンプレミスにあるデータを、高速かつセキュアに、そして簡単に移行を行うのが Bluemix Lift です。データのアップロードから DB へのロードまでを一貫して行うことが可能です。特徴は以下の通りです。

  1. 高速性
    • 高速ファイル転送サービス「Aspera」の活用
      Aspera 技術の詳細はこちらをご参照ください。
    • 高速に大容量データを移行できること
  2. セキュア
    • Bluemix とプライベート環境をセキュアに接続する「SecureGateway」の活用
      SecureGateway 技術の詳細はこちらをご参照ください
    • Aspera を用いた SSH 通信によるセキュリティ確保
  3. 簡単な移行
    • WEB ブラウザからの GUI 操作による移行ジョブの定義
    • オンプレミス環境への簡単なセットアップ
3

Bluemix Lift を使って dashDB へデータを移行する(手順の紹介)

本章では、オンプレミス環境にある CSV ファイルをクラウド上の dashDB へ移行する方法について具体的な手順をご案内致します。

( 1 ) オンプレミス環境(Mac)の準備

この記事では Bluemix Lift の使い心地を実感いただく、加えて皆様自身の環境で簡単に試していただきたいという理由から、オンプレミス環境は Mac PC を想定しています。もちろん Windows や Linux でも利用は可能ですし、セットアップの手順自体はほとんど変わりませんのでお手元の環境に併せて、是非試してみて下さい。

なお、Slingshot のインストールと SecureGateway のインストールは、2回目以降に Lift を利用する際には作業不要です(初回にインストールするのみ)。

  1. Slingshot のインストール/設定
    • Lift のサービス画面の左ペインから「Connections」から「ADD CONNECTION」、「Source connection」から csv を選択します。
    • 以下のような画面に遷移します。各項目への入力は不要です(後で入力します)。「Step #2 Download the Slingshot」のピンクのアイコンのうち「Mac」を選択し、ファイルをダウンロードします。
    • 加えて、Security token を手元のメモ帳等にコピー&ペーストで控えておいて下さい(後ほどの手順で使用します)
    • ダウンロードが完了したらダブルクリックで実行します。ウィザードが実行されるので、デフォルトで進めて、インストールを完了させてください。
    • Slingshot を実行します。引数:newtoken には、先ほど手元に控えた「Security Token」の情報、引数:newdiskfolder にはこの後ロードするデータを格納するディレクトリを指定します。
      Slingshot 実行モジュールのあるディレクトリの確認
      $ pwd
      /Applications/IBM Bluemix Lift Slingshot/bin
      
      セキュリティトークンとデータフォルダの設定
      $ ./slingshot.sh newtoken xxxxxxxx newdiskfolder /Users/ynatsumi/lift_datahome/
      
      Slingshot の実行
      $ ./slingshot.sh start
      Starting IBM Bluemix Lift Slingshot
  2. Secure Gateway の設定
    • Lift の左ペインにある「Secure Gateway」をクリックし、設定画面へと移ります。接続先の追加、モジュールのダウンロード等を行います。詳細手順はこちらをご参照ください。
    • セットアップ完了したら、後ほど使用する Secure Gateway の ID とセキュリティトークンを手元のテキストエディタ等にメモしておくと便利です。
    • Mac にて Secure gateway を起動させます。
      $ ./secgw.command
      
      Enter the gateway IDs, separated by spaces:   ←ここでゲートウェイ ID を入力
      (中略)
      Enter the gateway ID security tokens separated by spaces, 
      enter 'none' for no security token:    ←ここで security token を入力

      以下、実行イメージです。

    • 次に、「Bluemix から、Mac のどの IP アドレス/どのポートへの接続を許可するか」を設定します。Mac PC の IP アドレス(ifconfig コマンドで確認)および、今回は例としてポート 5000 番についてのみ許可します。接続が反映されているかは「S」で確認可能です。
      指定の IP/ポート番号への接続許可の定義
      2prLJMMdhU5_DD0> acl allow 100.116.70.6:5000
      設定内容を確認
      2prLJMMdhU5_DD0> S

      実行イメージは以下の通りです。

  3. CSV ファイルの配置

    任意のフォルダにロード対象の CSV ファイルを配置します。スキーマ名(大文字)ごとにフォルダを分けて、その中に「テーブル名.csv」という名称でファイルを保存します。

    従来の dashDB 単体の機能では困難だった「一度のジョブで複数テーブルへのロード」が可能となりました。

(2) Bluemix Lift 上でのジョブ定義

オンプレミス環境での準備が整ったら、Lift のサービス上で、「どのオンプレミス環境から」「どのクラウド環境へ」といった接続定義と、「どのように移行するのか」のジョブを定義します。

  1. 接続定義
    • 接続元(どのオンプレミス環境からデータを移行するか)を定義します。「Connections」から「ADD CONNECTION」、「Source connection」から csv を選択します。
    • IP アドレス欄に Mac の IP アドレス(この例では 100.116.70.6)を入力します。
    • 入力が完了したら、右上のボタン「Next」をクリックします。
    • 接続定義の名前(今後この定義を使いまわしできるようにつける名前ですので任意で構いません)と、先ほど設定した Security Gateway をプルダウンで選択し、Create Connection を実行してください。
    • 続いて、接続先(どのクラウド環境へデータを移行するか)を定義します。先ほどと同じように、「Connections」から「ADD CONNECTION」の画面にうつります。そして Target connection を選択し、IBM dashDB をクリックします。
    • 以下のような画面が表示されますので、dashDB の接続情報(Bluemix の画面もしくは dashDB Web コンソールから確認可能)を入力して、右上の Create Connection をクリックします。
  2. ジョブ定義
    • 左ペインの「Migrate Data」から、ジョブ定義の画面に遷移します。Untitled Activityにジョブ名を入力し、「Get Started」をクリックします。
    • 事前に定義した接続情報が表示されます。さらに、どのフォルダ( = どのスキーマ)のデータを移行するかを選択し、Continue をクリック、さらに次の画面で「Next Step」をクリックし次に進みます。
    • 次にターゲット、つまりデータ移行先として先ほど定義した dashDB を選択します。
    • 加えて、dashDB には移行対象のテーブルはまだ存在していませんので、「Create new table and upload DDL:新しくテーブルを作成する」を選択し「Continue」をクリック、その後の画面で「Next Step」をクリックして次に進みます。
    • CSV の詳細を定義します。データの内容に併せて設定を変えて下さい。完了したら Continue をクリックします。
    • Browse をクリックし対象の DDL ファイルをアップロードし、Continue をクリックします。以上でジョブ定義は完了です。

(3) ジョブの実行

Run をクリックします。

ジョブ実行確認画面で、正常に移行が進んでいるかを確認します。

何かエラーが生じた場合は、WEB ブラウザからもエラー内容を確認できますし、ローカルに保存されている slingshot のログ(今回の例では、データが保存されているフォルダ内にログが出力されています:/Users/ynatsumi/lift_datahome/liftLog/slingshot.0.log)を確認し、何が原因でエラーが発生しているかより詳細に確認することができます。

4

最後に

非常に簡単にデータ移行が可能なクラウドサービス「Bluemix Lift」をご紹介しましたが、機能拡張も著しく、ますます利便性が向上しているサービスです。Bluemix のアカウントから数クリックで利用可能な Bluemix Lift / dashDB と、お手元のデータベースとラップトップ PC 使って、是非、クラウド時代にふさわしい最新の移行サービスを試してみて下さい。


ダウンロード可能なリソース


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=1041274
ArticleTitle=オンプレミス環境からクラウドデータベース dashDB への移行
publish-date=12262016