接続の確立
JDBC データソースの作成
Java アプリケーションから接続するJDBC データソースを作成できます。CData JDBC Driver for Cassandra に基づくJDBC データソースの作成は、3つの基本ステップで構成されます。
- ドライバーのJAR ファイルをクラスパスに追加します。JAR ファイルはインストールディレクトリの[lib]サブフォルダ内にあります。.lic ファイルはJAR ファイルと同じフォルダ内に配置される必要があることに注意してください。
- ドライバークラスを入力します。次に例を示します。
cdata.jdbc.cassandra.CassandraDriver
- JDBC URL を入力します。次に例を示します。
jdbc:cassandra:Database=MyCassandraDB;Port=9042;Server=127.0.0.1; or jdbc:cdata:cassandra:Database=MyCassandraDB;Port=9042;Server=127.0.0.1;
上記の2つ目の形式は、同じURL 形式を使用しているドライバー間でアプリケーションに競合がある場合は、CData ドライバーを使用していることを確認するために常に使用できます。URL は "jdbc:cassandra:" または"jdbc:cdata:cassandra:" のいずれかから始まり、任意の接続プロパティの名前と値のペアをセミコロン区切りで入力します。
Cassandra への接続
Cassandra インスタンスだけでなく、Cosmos DB やDataStax Astra DB にも、それぞれのCassandra API を介して直接接続できます。
Cassandra
Cassandra インスタンスに接続するには以下を設定します。
- Server:Cassandra データベースをホストしているサーバーのホスト名、またはIP アドレスに設定。ポートは、このプロパティの末尾、またはPort で指定します。
- Port:Server 接続プロパティの一部としてポートを指定していない場合は、Cassandra データベースがホストされているポートに設定。
- Database:テーブルを含むCassandra キースペースの名前に設定。
- ConsistencyLevel:クエリが成功したとみなされる前に、レスポンスを強制したいレプリカの数に設定。
- User:Cassandra データベースへのアクセスに使用するユーザーネームに設定。
- Password:Cassandra データベースへのアクセスに使用するパスワードに設定。
Cosmos DB
Cassandra のデータストアとしてCosmos DB を使用する場合は、以下の値を指定して接続します。- Server:Host 値(アカウント用にプロビジョニングされたサーバーのFQDN)に設定。ポートは、このプロパティの末尾、またはPort で指定します。
- Port:Server 接続プロパティの一部としてポートを指定していない場合は、Cosmos DB インスタンスがホストされているポートに設定。
- Database:読み書きするデータベースに設定。
- ConsistencyLevel:クエリが成功したとみなされる前に、レスポンスを強制したいレプリカの数に設定。
- User:Cosmos DB アカウント名に設定。
- Password:Cosmos DB アカウントに関連付けられているアカウントキーに設定。
DataStax Astra DB
Cassandra のデータストアとしてAstra DB を使用する場合は、以下の値を指定して接続します。
- Server:BASE_ADDRESS 値でサーバーに設定。ポートもここで指定できます。またはPort で指定します。
- Port:Server 接続プロパティの一部としてポートを指定していない場合は、Astra DB インスタンスがホストされているポートに設定。
- Database:読み書きするデータベースに設定。
- ConsistencyLevel:クエリが成功したとみなされる前に、レスポンスを強制したいレプリカの数に設定。
- User:Astra DB ユーザーネームに設定。
- Password:Astra DB ユーザーネームに紐づいているパスワードに設定。
セキュアバンドル接続
以下の接続プロパティを設定することで、任意の接続をセキュアバンドルとして設定できます。- Server:サーバー名に設定。
- Port:29042 に設定。
- User:Atra DB ユーザーに設定。
- Password:Astra DB ユーザーパスワードに設定。
- SSLClientCert:identity.jks ファイルへのパスに設定。
- SSLClientCertType:JKSFILE に設定。
- SSLClientCertPassword:identity.jks ファイルのパスワードに設定。
- SSLClientCertSubject:CERTIFICATE SUBJECT INFORMATION に設定。
- UseSSL:"true" に設定。
セキュアバンドルに含まれるファイルのリストについてはSecure connect bundle contents を参照してください。
Cassandra への認証
本製品 は、ログイン資格情報でのBasic 認証と、DataStax Enterprise (DSE) の追加の認証機能をサポートしています。次のセクションでは、認証方式が必要とすることがある接続プロパティを説明します。AuthScheme に、システム用に設定された認証器に対応する値を設定する必要があります。cassandra.yaml ファイル内のauthenticator プロパティを指定してください。ファイルは、通常/etc/dse/cassandra に存在します。または、DSE Cassandra のDSE Unified Authenticator で発見できます。
Basic
ログイン資格情報のみで認証するには、AuthScheme をBasic に設定します。
cassandra.yaml ファイル内で、authenticator プロパティを"PasswordAuthenticator" に設定してください。
DSE
AuthScheme プロパティを、ログイン資格情報とDSE Unified Authenticator で認証するためのDSE に設定。
ファイル内で、authenticator プロパティを"com.datastax.bdp.cassandra.auth.DseAuthenticator" に設定してください。
Kerberos
Kerberos で認証するには以下のように設定します。
- AuthScheme:KERBEROS に設定。
- KerberosKDC:ユーザーの認証で使用されるKerberos キー配布センター(KDC)サービスに設定。
- KerberosRealm:ユーザー認証に使用されるKerberos 領域に設定。
- KerberosSPN:Kerberos ドメインコントローラーのサービスプリンシパル名(SPN)に設定。
- cassandra.yaml ファイル内で、authenticator プロパティを"com.datastax.bdp.cassandra.auth.DseAuthenticator" に設定してください。
- dse.yaml ファイル内のauthentication_options セクションを変更して、default_schema とother_schemas プロパティを"kerberos" に指定してください。
- dse.yaml ファイル内のkerberos_options セクションを変更して、keytab、service_principle、http_principle、およびqop プロパティを指定してください。
Kerberos に接続するために接続プロパティを設定する方法については、Kerberos の使用 を参照してください。
LDAP
認証するには以下のように設定します。
- AuthScheme:LDAP ユーザーで認証するには、これをLDAP に設定。
- LDAPServer:LDAP サーバーのホスト名またはIP アドレスに設定。
- LDAPPassword:デフォルトLDAP ユーザーのパスワード。
- cassandra.yaml ファイル内で、authenticator プロパティを"com.datastax.bdp.cassandra.auth.DseAuthenticator" に設定してください。
- dse.yaml ファイル内のauthentication_options セクションを変更して、default_schema とother_schemas プロパティを"ldap" に指定してください。
- dse.yaml ファイル内のldap_options セクションを変更して、server_host、server_port、search_dn、search_password、user_search_base、およびuser_search_filter プロパティを指定してください。
セキュアなCassandra への接続
UseSSL を設定すると、接続時にSSL/TLS 暗号化をネゴシエートできます。 デフォルトでは、本製品 はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL/TLS のネゴシエーションを試みます。別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。