製品をチェック

Amazon S3 ODBC Driver の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

Amazon S3 アイコン Amazon S3 ODBC Driver 相談したい

Amazon S3 ODBC Driver を使って、ODBC 接続をサポートするあらゆるアプリケーション・ツールからAmzaon S3 クラウドストレージにデータ連携。

Amazon S3 にデータベースのようにアクセス - オブジェクト、バケットにODBC インターフェースで接続。

Amazon S3 データにSQL Server のリンクサーバーとして接続する方法

ODBC Driver のSQL Gateway 機能を使ってAmazon S3 のリンクサーバーをセットアップ。

兵藤朋代
コンテンツスペシャリスト

最終更新日:2023-09-07
amazons3 ロゴ

CData

odbc ロゴ画像
SQL Server ロゴ

こんにちは!ドライバー周りのヘルプドキュメントを担当している兵藤です。

本記事では、SQL Server のTDS Remoting 機能を使ってAmazon S3 のリンクサーバーをセットアップする方法をご紹介します。リンクサーバーの利用には、CData ODBC ドライバに同梱されているSQL Gateway を使用します。 SQL Server のインターフェースでAmazon S3 への読み書き双方向のアクセスが可能になります。

Amazon S3 リンクサーバー利用シナリオ

  • SQL Server に接続しているアプリケーションでAmazon S3 データを利用したいがデータ接続を増やしたくない
  • Amazon S3 データをSQL Server のデータや他のリンクサーバーのデータをJOIN などして使いたい
  • 利用したいミドルウェア・BI ツールなどにODBC やJDBC の汎用のインターフェースがないが、SQL Server には接続できる

Amazon S3 DSN の設定

まずは、本記事右側のサイドバーからAmazonS3 ODBC Driver の無償トライアルをダウンロード・インストールしてください。ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。または、Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定できます。

Amazon S3 リクエストを認可するには、管理者アカウントまたはカスタム権限を持つIAM ユーザーの認証情報を入力します。AccessKey をアクセスキーID に設定します。SecretKey をシークレットアクセスキーに設定します。

Note: AWS アカウント管理者として接続できますが、AWS サービスにアクセスするにはIAM ユーザー認証情報を使用することをお勧めします。

尚、CData 製品はAmazon S3 のファイルの一覧表示やユーザー管理情報の取得用です。S3 に保管されているExcel、CSV、JSON などのファイル内のデータを読み込みたい場合には、Excel DriverCSV DriverJSON Driver をご利用ください。

アクセスキーの取得

IAM ユーザーの資格情報を取得するには:

  1. IAM コンソールにサインインします。
  2. ナビゲーションペインで「ユーザー」を選択します。
  3. ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから「セキュリティ認証情報」タブを選択します。

AWS ルートアカウントの資格情報を取得するには:

  1. ルートアカウントの資格情報を使用してAWS 管理コンソールにサインインします。
  2. アカウント名または番号を選択し、表示されたメニューで「My Security Credentials」を選択します。
  3. 「Continue to Security Credentials」をクリックし、「Access Keys」セクションを展開して、ルートアカウントのアクセスキーを管理または作成します。

AWS ロールとして認証

多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。RoleARN を指定することでAWS ロールを代わりに使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。

(すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、ロールを引き受けるIAM ユーザーのAccessKey とSecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey および SecretKey を指定する場合、ロールは使用できません。

SSO 認証

SSO 認証を必要とするユーザーおよびロールには、RoleARN およびPrincipalArn 接続プロパティを指定してください。各Identity Provider に固有のSSOProperties を指定し、AccessKey とSecretKey を空のままにする必要があります。これにより、CData 製品は一時的な認証資格情報を取得するために、リクエストでSSO 認証情報を送信します。

SQL Gateway でのAmazon S3 ODBC DSN を設定

CData ODBC ドライバにはSQL Gateway が同梱されています。このSQL Gateway に、Amazon S3 ODBC Driver をサービスとして設定します。

  1. 「スタート」画面から「SQL Gateway」を起動します。青い「C」のSQL Gateway ロゴが右下のインジケータに表示されます。 アプリケーションコンソールが開かない場合には、SQL Gateway アイコンを右クリックして、「Open Application」をクリックしてください。
  2. アプリケーションコンソールの「Service」タブを開いて、「Add」をクリックして、新しいODBC データソースを設定します。
  3. Amazon S3 ODBC の設定を行います。
    Service Name]:任意
    リモーティングDB 選択:SQL Server を選択
    Data Source:ドロップダウンでCData Amazon S3 Source Sys を選択
    Port:使用していないポートを選択
    Setting ODBC Driver
  4. 次に「Users」タブ→「Add」からユーザーを登録します。
    ユーザー毎にFull アクセスか、Readonly か、None の権限を選択できます。
    複数のODBC データソースがある場合には、データソース毎に権限の設定が可能です。
    User setting
    「OK」を押して、ユーザー登録を完了します。 その後「Save Changes」で設定を保存します。
  5. SQL Gateway の「Service」タブで「Start」ボタンを押して、サービスを起動します。サービスの左側の〇が緑色になれば、サービスは起動中です。

SQL Server でAmazon S3 リンクサーバーを設定

SQL Gateway 側でサービスの設定が終わったら、SQL Server 側でAmazon S3 サービスをリンクサーバーとして使う設定をしましょう。

  1. SQL Server Management Studio (SSMS) を開きます。
    オブジェクトエクスプローラーの「サーバーオブジェクト」で「リンクサーバー」を右クリックして、「新しいリンクサーバー」をクリックします。
  2. 新しいリンクサーバーの設定画面の「全般」で、以下を入力します。
    サーバー種類:その他データソース
    プロバイダー:SQL Server Native _Client 11.0
    データソース:この例の場合、localhost, 1433 を入力
    カタログ:ODBC DSN 名を入力
    Linked Server setting
  3. また、「セキュリティ」では、「このセキュリティコンテキスト」を選択して、リモートログインにSQL Gateway にユーザー設定したUser 名とPassword を入力します。

これで、リンクサーバーの設定は終わりなので、「OK」を押して設定を保存します。

SSMS でデータを見てみる

SSMS のオブジェクトエクスプローラーのリンクサーバー下にAmazon S3 のリンクサーバーが作成され、「テーブル」下にAmazon S3 のデータがアプリ単位でテーブルが生成されます。
新しいクエリを選択し、Amazon S3 データを取得してみます。

SELECT * from リンクサーバー名.CData Amazon S3 Source Sys(ODBC DSN 名).Amazon S3.テーブル名

このように、API のリクエストではなく通常のSQL 構文でデータを扱うことが可能になっています

Visual Studio からAmazon S3 リンクサーバーを使う

Visual Studio のサーバーエクスプローラーの「データ接続」を右クリックし、「接続の追加」をクリックして、データソースの選択画面を開きます。 データソースの選択画面でデータソースを「Microsoft SQL Server 」に選択して、「続行」を押します。

「接続の追加」画面で、以下を入力します。
サーバー名:SQL Server のサーバー名
認証:任意の認証方式
データベース名の選択または入力:※master など
※リンクサーバーを直接データベース名として入力することはできないようです。なので上位のデータベース名で設定しておきます。

リンクサーバー設定

「テスト接続」をして大丈夫であれば、「OK」を押して設定を完了させます。

「新しいクエリ」で、SQL でSELECT 文を書いてデータを取得してみます。

SELECT * from リンクサーバー名.CData Amazon S3 Source Sys(ODBC DSN 名).Amazon S3.テーブル名

このように、通常のSQL Server のリンクサーバーと同じようにVisual Studio 内Amazon S3 データを扱うことが可能になります。 他のIDE でもSQL Server にアクセスする方法でAmazon S3 データにSQL でアクセスが可能になります。
複数データソースのJOIN などを行う場合には大変便利です。

おわりに

このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをSQL Server に連携できます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。