WebLogic のコネクションプールからAmazon S3に接続

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
CData JDBC Driver for Amazon S3 を使用して、WebLogic 上で動作するWeb アプリケーションからAmazon S3 のデータ に接続します。

CData JDBC Driver for Amazon S3 を使えば、標準的な手順に沿ってAmazon S3 のデータ をJava Web アプリケーションに統合できます。この記事では、CData JDBC Driver for Amazon S3 をWebLogic Server にデプロイする方法を説明します。

WebLogic Server へのJDBC ドライバーのデプロイ

ドライバーをデプロイするには、ドライバーJAR をクラスパスに追加します。.lic ファイルは、JAR と同じフォルダに配置する必要があります。 これらのファイルは、インストールディレクトリのlib サブフォルダに格納されています。

すべてのドメインにドライバーを追加する場合は、WL_HOME\common\bin\commEnv.cmd/sh にあるWEBLOGIC_CLASSPATH 環境変数の先頭にJAR のパスを追加します。このスクリプトは WL_HOME\common\bin\ にあります。以下に例を示します。

set WEBLOGIC_CLASSPATH=your-installation-directory\lib\cdata.jdbc.amazons3.jar;%WEBLOGIC_CLASSPATH%

WebLogic 12.2.1 では、特定のドメインにドライバーを追加する場合、ドライバーJAR と.lic ファイルをDOMAIN_HOME\lib(例:ORACLE_HOME\user_projects\domains\MY_DOMAIN\lib)に配置するだけで済みます。これらのファイルは、起動時にサーバーのクラスパスに追加されます。

以前のバージョンでは、手動でドライバーをクラスパスに追加する必要があります。setDomainEnv.cmd/sh のPRE_CLASSPATH 環境変数の先頭に、以下の内容を追加します。このスクリプトは、対象ドメインのフォルダのbin サブフォルダにあります。

set PRE_CLASSPATH=your-installation-directory\lib\cdata.jdbc.amazons3.jar;%PRE_CLASSPATH%

これらの変更を行った後、サーバーを再起動します。

Amazon S3 用JDBC データソースの作成

ドライバーをデプロイしたら、WebLogic 管理コンソールにログインして接続を作成します。

  1. ドメイン構造ツリーで、Services -> Data Sources -> New -> Generic Data Source をクリックします。
  2. JDBC Data Source Properties ページで、以下の情報を入力します。
    • Name: ユーザーフレンドリーな名前を入力します(例:amazons3jdbc)。
    • JNDI Name: JDBC データソースのバインド先のパスを入力します(例:jdbc/AmazonS3)。
    • Database Type: Other を選択します。

  3. Next をクリックしてデフォルトオプションを使用します。最後のページで、以下の情報を入力してTest Configuration をクリックします。

    • Driver Class Name: ドライバークラスを入力します(cdata.jdbc.amazons3.AmazonS3Driver)。
    • URL: JDBC URL を入力します。一般的なJDBC URL は次のとおりです。

      jdbc:amazons3:AccessKey=a123;SecretKey=s123;

      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 認証情報を送信します。

      組み込みの接続文字列デザイナー

      JDBC URL の作成には、Amazon S3 JDBC Driver に組み込まれている接続文字列デザイナーを使用できます。JAR ファイルをダブルクリックするか、コマンドラインからjar ファイルを実行します。

      java -jar cdata.jdbc.amazons3.jar
      

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

    • Database User Name: JDBC URL で指定していない場合は、ユーザー名を入力します。
    • Password: JDBC URL で指定していない場合は、パスワードを入力します。

JDBC データソースをデプロイするサーバーを選択すると、Amazon S3 のデータ に接続できるようになります。

その他のWebLogic 連携

上記の手順では、シンプルなコネクションプーリングシナリオでのドライバー設定方法を説明しました。その他のユースケースや詳細については、Oracle Fusion Middleware ドキュメントのWebLogic Data Sources 章のJDBC セクションを参照してください。

はじめる準備はできましたか?

Amazon S3 Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Amazon S3 Icon Amazon S3 JDBC Driver お問い合わせ

Amazon S3 ファイルストレージデータに連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。