Jetty の接続プールから Redshift のデータ に接続

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
Redshift JDBC Driver は接続プールをサポートしています。この記事では、Jetty の Web アプリから Redshift のデータ に高速に接続する方法を説明します。

CData JDBC Driver for Redshift は、Java Web アプリケーションへの統合が簡単です。この記事では、接続プールを設定することで Jetty から Redshift のデータ に効率的に接続する方法を説明します。Jetty で Redshift 用の JNDI リソースを設定していきましょう。

Salesforce 用の JDBC Driver を JNDI データソースとして設定

以下のステップで Jetty から Salesforce に接続します。

  1. Jetty ベースで JNDI モジュールを有効にします。次のコマンドは、コマンドラインから JNDI を有効にします。

    java -jar ../start.jar --add-to-startd=jndi
    
  2. インストールディレクトリの lib サブフォルダにある CData およびライセンスファイルを、コンテキストパスの lib サブフォルダに追加します。
  3. リソースとそのスコープを宣言します。リソース宣言に必要な接続プロパティを入力します。次の例では、WEB-INF\jetty-env.xml に Web アプリレベルで Redshift データソースを宣言しています。

    
    <Configure id='redshiftdemo' class="org.eclipse.jetty.webapp.WebAppContext">
        <New id="redshiftdemo" class="org.eclipse.jetty.plus.jndi.Resource">
        <Arg><Ref refid="redshiftdemo"/></Arg>
        <Arg>jdbc/redshiftdb</Arg>
        <Arg>
          <New class="cdata.jdbc.redshift.RedshiftDriver">
            <Set name="url">jdbc:redshift:</Set>
            <Set name="User">admin</Set>
            <Set name="Password">admin</Set>
            <Set name="Database">dev</Set>
            <Set name="Server">examplecluster.my.us-west-2.redshift.amazonaws.com</Set>
            <Set name="Port">5439</Set>
          </New>
        </Arg>
      </New>
    </Configure>
    

    Amazon Redshift への接続

    それでは、早速Amazon Redshift に接続していきましょう。データに接続するには、以下の接続パラメータを指定します。

    • Server:Amazon Redshift データベースをホスティングしているサーバーのホスト名またはIP アドレス
    • Database:Amazon Redshift クラスター用に作成したデータベース
    • Port(オプション):Amazon Redshift データベースをホスティングしているサーバーのポート。デフォルトは5439です

    これらの値は、以下のステップでAWS マネージメントコンソールから取得できます。

    1. Amazon Redshift コンソールを開きます(http://console.aws.amazon.com/redshift)
    2. Clusters ページで、クラスター名をクリックしてください
    3. Configuration タブの"Cluster Database Properties" セクションからプロパティを取得します。接続プロパティの値は、ODBC URL で設定された値と同じになります

    Amazon Redshiftへの認証

    CData 製品では幅広い認証オプションに対応しています。標準認証情報からIAM クレデンシャル、ADFS、Ping Federate、Microsoft Entra ID(Azure AD)、Azure AD PKCE まで利用可能です。

    標準認証

    ログイン資格情報を使用してAmazon Redshift に接続するには、以下のプロパティを設定してみましょう。
    • AuthSchemeBasic
    • User:認証するユーザーのログイン情報
    • Password:認証するユーザーのパスワード

    その他の認証方法については、ヘルプドキュメントをご確認ください。

  4. Web.xml でリソースを設定します。

    
      jdbc/redshiftdb
      javax.sql.DataSource
      Container
    
    
  5. これで、java:comp/env/jdbc/redshiftdb をルックアップして Redshift にアクセスできます。

    InitialContext ctx = new InitialContext();
    DataSource myredshift = (DataSource)ctx.lookup("java:comp/env/jdbc/redshiftdb");
    

Jetty 統合の詳細

上記のステップでは、シンプルな接続プールのシナリオでドライバーを設定する方法を説明しました。その他のユースケースや詳細については、Jetty ドキュメントのWorking with Jetty JNDI の章を参照してください。

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

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

 ダウンロード

詳細:

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

Amazon Redshift データ連携のパワフルなJava アプリケーションを素早く作成して配布。